diff --git a/app/code/Magento/AdminAnalytics/composer.json b/app/code/Magento/AdminAnalytics/composer.json index 0b977a23ad3ca..13e122d847a38 100644 --- a/app/code/Magento/AdminAnalytics/composer.json +++ b/app/code/Magento/AdminAnalytics/composer.json @@ -6,11 +6,11 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-backend": "*", - "magento/module-config": "*", - "magento/module-ui": "*", - "magento/module-release-notification": "*" + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-config": "101.1.*", + "magento/module-ui": "101.1.*", + "magento/module-release-notification": "100.3.*" }, "type": "magento2-module", "license": [ @@ -18,12 +18,12 @@ "AFL-3.0" ], "autoload": { - "files": [ - "registration.php" - ], - "psr-4": { - "Magento\\AdminAnalytics\\": "" - } - } + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\AdminAnalytics\\": "" + } + }, + "version": "100.3.0" } - diff --git a/app/code/Magento/AdminNotification/Block/System/Messages.php b/app/code/Magento/AdminNotification/Block/System/Messages.php index b950f5583e599..d98d20df54c3c 100644 --- a/app/code/Magento/AdminNotification/Block/System/Messages.php +++ b/app/code/Magento/AdminNotification/Block/System/Messages.php @@ -16,7 +16,7 @@ class Messages extends \Magento\Backend\Block\Template /** * @var \Magento\Framework\Json\Helper\Data - * @deprecated + * @deprecated 100.3.0 */ protected $jsonHelper; diff --git a/app/code/Magento/AdminNotification/Controller/Adminhtml/System/Message/ListAction.php b/app/code/Magento/AdminNotification/Controller/Adminhtml/System/Message/ListAction.php index d58a7ec31f77d..f3d3cd64ddc64 100644 --- a/app/code/Magento/AdminNotification/Controller/Adminhtml/System/Message/ListAction.php +++ b/app/code/Magento/AdminNotification/Controller/Adminhtml/System/Message/ListAction.php @@ -17,7 +17,7 @@ class ListAction extends \Magento\Backend\App\AbstractAction /** * @var \Magento\Framework\Json\Helper\Data - * @deprecated + * @deprecated 100.3.0 */ protected $jsonHelper; diff --git a/app/code/Magento/AdminNotification/composer.json b/app/code/Magento/AdminNotification/composer.json index ea1e3ca10f2d3..8fe3c3b2ab20c 100644 --- a/app/code/Magento/AdminNotification/composer.json +++ b/app/code/Magento/AdminNotification/composer.json @@ -7,12 +7,12 @@ "require": { "php": "~7.1.3||~7.2.0||~7.3.0", "lib-libxml": "*", - "magento/framework": "*", - "magento/module-backend": "*", - "magento/module-media-storage": "*", - "magento/module-store": "*", - "magento/module-ui": "*", - "magento/module-config": "*" + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-media-storage": "100.3.*", + "magento/module-store": "101.0.*", + "magento/module-ui": "101.1.*", + "magento/module-config": "101.1.*" }, "type": "magento2-module", "license": [ @@ -26,5 +26,6 @@ "psr-4": { "Magento\\AdminNotification\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/AdvancedPricingImportExport/Model/Export/AdvancedPricing.php b/app/code/Magento/AdvancedPricingImportExport/Model/Export/AdvancedPricing.php index fda6ae9530135..520df996cc913 100644 --- a/app/code/Magento/AdvancedPricingImportExport/Model/Export/AdvancedPricing.php +++ b/app/code/Magento/AdvancedPricingImportExport/Model/Export/AdvancedPricing.php @@ -384,7 +384,7 @@ private function prepareExportData( * @param array $exportData * @return array * @SuppressWarnings(PHPMD.UnusedLocalVariable) - * @deprecated + * @deprecated 100.3.0 * @see prepareExportData */ protected function correctExportData($exportData) @@ -513,7 +513,7 @@ private function fetchTierPrices(array $productIds): array * @return array|bool * @SuppressWarnings(PHPMD.NPathComplexity) * @SuppressWarnings(PHPMD.CyclomaticComplexity) - * @deprecated + * @deprecated 100.3.0 * @see fetchTierPrices */ protected function getTierPrices(array $listSku, $table) diff --git a/app/code/Magento/AdvancedPricingImportExport/composer.json b/app/code/Magento/AdvancedPricingImportExport/composer.json index 767c1a9cd4164..d929a029f29dd 100644 --- a/app/code/Magento/AdvancedPricingImportExport/composer.json +++ b/app/code/Magento/AdvancedPricingImportExport/composer.json @@ -6,14 +6,14 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-catalog": "*", - "magento/module-catalog-import-export": "*", - "magento/module-catalog-inventory": "*", - "magento/module-customer": "*", - "magento/module-eav": "*", - "magento/module-import-export": "*", - "magento/module-store": "*" + "magento/framework": "102.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-import-export": "101.0.*", + "magento/module-catalog-inventory": "100.3.*", + "magento/module-customer": "102.0.*", + "magento/module-eav": "102.0.*", + "magento/module-import-export": "100.3.*", + "magento/module-store": "101.0.*" }, "type": "magento2-module", "license": [ @@ -27,5 +27,6 @@ "psr-4": { "Magento\\AdvancedPricingImportExport\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/AdvancedSearch/Model/Client/ClientResolver.php b/app/code/Magento/AdvancedSearch/Model/Client/ClientResolver.php index fbcaf412e3562..1ed4de756c4dc 100644 --- a/app/code/Magento/AdvancedSearch/Model/Client/ClientResolver.php +++ b/app/code/Magento/AdvancedSearch/Model/Client/ClientResolver.php @@ -19,7 +19,7 @@ class ClientResolver * * @var ScopeConfigInterface * @since 100.1.0 - * @deprecated since it is not used anymore + * @deprecated 100.3.0 since it is not used anymore */ protected $scopeConfig; @@ -55,14 +55,14 @@ class ClientResolver * * @var string * @since 100.1.0 - * @deprecated since it is not used anymore + * @deprecated 100.3.0 since it is not used anymore */ protected $path; /** * Config Scope * @since 100.1.0 - * @deprecated since it is not used anymore + * @deprecated 100.3.0 since it is not used anymore */ protected $scope; diff --git a/app/code/Magento/AdvancedSearch/composer.json b/app/code/Magento/AdvancedSearch/composer.json index 30b4a141087ff..1f55e2b4cba5f 100644 --- a/app/code/Magento/AdvancedSearch/composer.json +++ b/app/code/Magento/AdvancedSearch/composer.json @@ -5,14 +5,14 @@ "sort-packages": true }, "require": { - "magento/framework": "*", - "magento/module-backend": "*", - "magento/module-catalog": "*", - "magento/module-catalog-search": "*", - "magento/module-config": "*", - "magento/module-customer": "*", - "magento/module-search": "*", - "magento/module-store": "*", + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-search": "101.0.*", + "magento/module-config": "101.1.*", + "magento/module-customer": "102.0.*", + "magento/module-search": "101.0.*", + "magento/module-store": "101.0.*", "php": "~7.1.3||~7.2.0||~7.3.0" }, "type": "magento2-module", @@ -27,5 +27,6 @@ "psr-4": { "Magento\\AdvancedSearch\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/Amqp/composer.json b/app/code/Magento/Amqp/composer.json index e7509d8801145..4cbab04b41765 100644 --- a/app/code/Magento/Amqp/composer.json +++ b/app/code/Magento/Amqp/composer.json @@ -5,9 +5,9 @@ "sort-packages": true }, "require": { - "magento/framework": "*", - "magento/framework-amqp": "*", - "magento/framework-message-queue": "*", + "magento/framework": "102.0.*", + "magento/framework-amqp": "100.3.*", + "magento/framework-message-queue": "100.3.*", "php": "~7.1.3||~7.2.0||~7.3.0" }, "type": "magento2-module", @@ -22,5 +22,6 @@ "psr-4": { "Magento\\Amqp\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/AmqpStore/composer.json b/app/code/Magento/AmqpStore/composer.json index bfefab262d3fc..94189333c267b 100644 --- a/app/code/Magento/AmqpStore/composer.json +++ b/app/code/Magento/AmqpStore/composer.json @@ -5,14 +5,14 @@ "sort-packages": true }, "require": { - "magento/framework": "*", - "magento/framework-amqp": "*", - "magento/module-store": "*", + "magento/framework": "102.0.*", + "magento/framework-amqp": "100.3.*", + "magento/module-store": "101.0.*", "php": "~7.1.3||~7.2.0||~7.3.0" }, "suggest": { - "magento/module-asynchronous-operations": "*", - "magento/framework-message-queue": "*" + "magento/module-asynchronous-operations": "100.3.*", + "magento/framework-message-queue": "100.3.*" }, "type": "magento2-module", "license": [ @@ -26,5 +26,6 @@ "psr-4": { "Magento\\AmqpStore\\": "" } - } + }, + "version": "100.3.0" } diff --git a/app/code/Magento/Analytics/Model/Connector/Http/ConverterInterface.php b/app/code/Magento/Analytics/Model/Connector/Http/ConverterInterface.php index ddd9fcba21109..f6abb0f1ab2d1 100644 --- a/app/code/Magento/Analytics/Model/Connector/Http/ConverterInterface.php +++ b/app/code/Magento/Analytics/Model/Connector/Http/ConverterInterface.php @@ -9,6 +9,7 @@ * Represents converter interface for http request and response body. * * @api + * @since 100.2.0 */ interface ConverterInterface { @@ -16,6 +17,7 @@ interface ConverterInterface * @param string $body * * @return array + * @since 100.2.0 */ public function fromBody($body); @@ -23,16 +25,19 @@ public function fromBody($body); * @param array $data * * @return string + * @since 100.2.0 */ public function toBody(array $data); /** * @return string + * @since 100.2.0 */ public function getContentTypeHeader(); /** * @return string + * @since 100.3.0 */ public function getContentMediaType(): string; } diff --git a/app/code/Magento/Analytics/ReportXml/Query.php b/app/code/Magento/Analytics/ReportXml/Query.php index edf5ed08ee55f..b7c31d4334e20 100644 --- a/app/code/Magento/Analytics/ReportXml/Query.php +++ b/app/code/Magento/Analytics/ReportXml/Query.php @@ -81,7 +81,6 @@ public function getConfig() * @link http://php.net/manual/en/jsonserializable.jsonserialize.php * @return mixed data which can be serialized by json_encode, * which is a value of any type other than a resource. - * @since 5.4.0 */ public function jsonSerialize() { diff --git a/app/code/Magento/Analytics/composer.json b/app/code/Magento/Analytics/composer.json index 2ae27608dbb14..a62cdbb0bb9a1 100644 --- a/app/code/Magento/Analytics/composer.json +++ b/app/code/Magento/Analytics/composer.json @@ -3,11 +3,11 @@ "description": "N/A", "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/module-backend": "*", - "magento/module-config": "*", - "magento/module-integration": "*", - "magento/module-store": "*", - "magento/framework": "*" + "magento/module-backend": "101.0.*", + "magento/module-config": "101.1.*", + "magento/module-integration": "100.3.*", + "magento/module-store": "101.0.*", + "magento/framework": "102.0.*" }, "type": "magento2-module", "license": [ @@ -21,5 +21,6 @@ "psr-4": { "Magento\\Analytics\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/AsynchronousOperations/Api/BulkStatusInterface.php b/app/code/Magento/AsynchronousOperations/Api/BulkStatusInterface.php index 76410794900e2..b40fdf19d466f 100644 --- a/app/code/Magento/AsynchronousOperations/Api/BulkStatusInterface.php +++ b/app/code/Magento/AsynchronousOperations/Api/BulkStatusInterface.php @@ -14,6 +14,7 @@ * Bulk summary data with list of operations items short data. * * @api + * @since 100.2.3 */ interface BulkStatusInterface extends \Magento\Framework\Bulk\BulkStatusInterface { @@ -23,6 +24,7 @@ interface BulkStatusInterface extends \Magento\Framework\Bulk\BulkStatusInterfac * @param string $bulkUuid * @return \Magento\AsynchronousOperations\Api\Data\DetailedBulkOperationsStatusInterface * @throws \Magento\Framework\Exception\NoSuchEntityException + * @since 100.2.3 */ public function getBulkDetailedStatus($bulkUuid); @@ -32,6 +34,7 @@ public function getBulkDetailedStatus($bulkUuid); * @param string $bulkUuid * @return \Magento\AsynchronousOperations\Api\Data\BulkOperationsStatusInterface * @throws \Magento\Framework\Exception\NoSuchEntityException + * @since 100.2.3 */ public function getBulkShortStatus($bulkUuid); } diff --git a/app/code/Magento/AsynchronousOperations/Api/Data/AsyncResponseInterface.php b/app/code/Magento/AsynchronousOperations/Api/Data/AsyncResponseInterface.php index c7edd5c8ff9cd..c0390e40899e8 100644 --- a/app/code/Magento/AsynchronousOperations/Api/Data/AsyncResponseInterface.php +++ b/app/code/Magento/AsynchronousOperations/Api/Data/AsyncResponseInterface.php @@ -13,6 +13,7 @@ * Temporary data object to give response from webapi async router * * @api + * @since 100.2.3 */ interface AsyncResponseInterface { @@ -24,6 +25,7 @@ interface AsyncResponseInterface * Gets the bulk uuid. * * @return string Bulk Uuid. + * @since 100.2.3 */ public function getBulkUuid(); @@ -32,6 +34,7 @@ public function getBulkUuid(); * * @param string $bulkUuid * @return $this + * @since 100.2.3 */ public function setBulkUuid($bulkUuid); @@ -39,6 +42,7 @@ public function setBulkUuid($bulkUuid); * Gets the list of request items with status data. * * @return \Magento\AsynchronousOperations\Api\Data\ItemStatusInterface[] + * @since 100.2.3 */ public function getRequestItems(); @@ -47,12 +51,14 @@ public function getRequestItems(); * * @param \Magento\AsynchronousOperations\Api\Data\ItemStatusInterface[] $requestItems * @return $this + * @since 100.2.3 */ public function setRequestItems($requestItems); /** * @param bool $isErrors * @return $this + * @since 100.2.3 */ public function setErrors($isErrors = false); @@ -60,6 +66,7 @@ public function setErrors($isErrors = false); * Is there errors during processing bulk * * @return boolean + * @since 100.2.3 */ public function isErrors(); @@ -67,6 +74,7 @@ public function isErrors(); * Retrieve existing extension attributes object. * * @return \Magento\AsynchronousOperations\Api\Data\AsyncResponseExtensionInterface|null + * @since 100.2.3 */ public function getExtensionAttributes(); @@ -75,6 +83,7 @@ public function getExtensionAttributes(); * * @param \Magento\AsynchronousOperations\Api\Data\AsyncResponseExtensionInterface $extensionAttributes * @return $this + * @since 100.2.3 */ public function setExtensionAttributes( \Magento\AsynchronousOperations\Api\Data\AsyncResponseExtensionInterface $extensionAttributes diff --git a/app/code/Magento/AsynchronousOperations/Api/Data/BulkOperationsStatusInterface.php b/app/code/Magento/AsynchronousOperations/Api/Data/BulkOperationsStatusInterface.php index f8b7e389d387d..5fedf675e5579 100644 --- a/app/code/Magento/AsynchronousOperations/Api/Data/BulkOperationsStatusInterface.php +++ b/app/code/Magento/AsynchronousOperations/Api/Data/BulkOperationsStatusInterface.php @@ -14,6 +14,7 @@ * Bulk summary data with list of operations items summary data. * * @api + * @since 100.2.3 */ interface BulkOperationsStatusInterface extends BulkSummaryInterface { @@ -24,6 +25,7 @@ interface BulkOperationsStatusInterface extends BulkSummaryInterface * Retrieve list of operation with statuses (short data). * * @return \Magento\AsynchronousOperations\Api\Data\SummaryOperationStatusInterface[] + * @since 100.2.3 */ public function getOperationsList(); @@ -32,6 +34,7 @@ public function getOperationsList(); * * @param \Magento\AsynchronousOperations\Api\Data\SummaryOperationStatusInterface[] $operationStatusList * @return $this + * @since 100.2.3 */ public function setOperationsList($operationStatusList); } diff --git a/app/code/Magento/AsynchronousOperations/Api/Data/BulkSummaryInterface.php b/app/code/Magento/AsynchronousOperations/Api/Data/BulkSummaryInterface.php index a433ec0953a83..5e2cff0b6da3d 100644 --- a/app/code/Magento/AsynchronousOperations/Api/Data/BulkSummaryInterface.php +++ b/app/code/Magento/AsynchronousOperations/Api/Data/BulkSummaryInterface.php @@ -38,6 +38,7 @@ public function setExtensionAttributes( * Get user type * * @return int + * @since 100.3.0 */ public function getUserType(); @@ -46,6 +47,7 @@ public function getUserType(); * * @param int $userType * @return $this + * @since 100.3.0 */ public function setUserType($userType); } diff --git a/app/code/Magento/AsynchronousOperations/Api/Data/DetailedBulkOperationsStatusInterface.php b/app/code/Magento/AsynchronousOperations/Api/Data/DetailedBulkOperationsStatusInterface.php index 6e39177630857..62bead9f9956e 100644 --- a/app/code/Magento/AsynchronousOperations/Api/Data/DetailedBulkOperationsStatusInterface.php +++ b/app/code/Magento/AsynchronousOperations/Api/Data/DetailedBulkOperationsStatusInterface.php @@ -14,6 +14,7 @@ * Bulk summary data with list of operations items full data. * * @api + * @since 100.2.3 */ interface DetailedBulkOperationsStatusInterface extends BulkSummaryInterface { @@ -24,6 +25,7 @@ interface DetailedBulkOperationsStatusInterface extends BulkSummaryInterface * Retrieve operations list. * * @return \Magento\AsynchronousOperations\Api\Data\OperationInterface[] + * @since 100.2.3 */ public function getOperationsList(); @@ -32,6 +34,7 @@ public function getOperationsList(); * * @param \Magento\AsynchronousOperations\Api\Data\OperationInterface[] $operationStatusList * @return $this + * @since 100.2.3 */ public function setOperationsList($operationStatusList); } diff --git a/app/code/Magento/AsynchronousOperations/Api/Data/ItemStatusInterface.php b/app/code/Magento/AsynchronousOperations/Api/Data/ItemStatusInterface.php index 3294078c2c1ea..8919e87c55bec 100644 --- a/app/code/Magento/AsynchronousOperations/Api/Data/ItemStatusInterface.php +++ b/app/code/Magento/AsynchronousOperations/Api/Data/ItemStatusInterface.php @@ -14,6 +14,7 @@ * Indicate if entity param was Accepted|Rejected to bulk schedule * * @api + * @since 100.2.3 */ interface ItemStatusInterface { @@ -30,6 +31,7 @@ interface ItemStatusInterface * Get entity Id. * * @return int + * @since 100.2.3 */ public function getId(); @@ -38,6 +40,7 @@ public function getId(); * * @param int $entityId * @return $this + * @since 100.2.3 */ public function setId($entityId); @@ -45,6 +48,7 @@ public function setId($entityId); * Get hash of entity data. * * @return string md5 hash of entity params array. + * @since 100.2.3 */ public function getDataHash(); @@ -53,6 +57,7 @@ public function getDataHash(); * * @param string $hash md5 hash of entity params array. * @return $this + * @since 100.2.3 */ public function setDataHash($hash); @@ -60,6 +65,7 @@ public function setDataHash($hash); * Get status. * * @return string accepted|rejected + * @since 100.2.3 */ public function getStatus(); @@ -68,6 +74,7 @@ public function getStatus(); * * @param string $status accepted|rejected * @return $this + * @since 100.2.3 */ public function setStatus($status = self::STATUS_ACCEPTED); @@ -75,6 +82,7 @@ public function setStatus($status = self::STATUS_ACCEPTED); * Get error information. * * @return string|null + * @since 100.2.3 */ public function getErrorMessage(); @@ -83,6 +91,7 @@ public function getErrorMessage(); * * @param string|null|\Exception $error * @return $this + * @since 100.2.3 */ public function setErrorMessage($error = null); @@ -90,6 +99,7 @@ public function setErrorMessage($error = null); * Get error code. * * @return int|null + * @since 100.2.3 */ public function getErrorCode(); @@ -98,6 +108,7 @@ public function getErrorCode(); * * @param int|null|\Exception $errorCode Default: null * @return $this + * @since 100.2.3 */ public function setErrorCode($errorCode = null); } diff --git a/app/code/Magento/AsynchronousOperations/Api/Data/OperationSearchResultsInterface.php b/app/code/Magento/AsynchronousOperations/Api/Data/OperationSearchResultsInterface.php index c3d221b7ef4f8..f8e1457366777 100644 --- a/app/code/Magento/AsynchronousOperations/Api/Data/OperationSearchResultsInterface.php +++ b/app/code/Magento/AsynchronousOperations/Api/Data/OperationSearchResultsInterface.php @@ -13,6 +13,7 @@ * * An bulk is a group of queue messages. An bulk operation item is a queue message. * @api + * @since 100.3.0 */ interface OperationSearchResultsInterface extends \Magento\Framework\Api\SearchResultsInterface { @@ -20,6 +21,7 @@ interface OperationSearchResultsInterface extends \Magento\Framework\Api\SearchR * Get list of operations. * * @return \Magento\AsynchronousOperations\Api\Data\OperationInterface[] + * @since 100.3.0 */ public function getItems(); @@ -28,6 +30,7 @@ public function getItems(); * * @param \Magento\AsynchronousOperations\Api\Data\OperationInterface[] $items * @return $this + * @since 100.3.0 */ public function setItems(array $items); } diff --git a/app/code/Magento/AsynchronousOperations/Api/Data/SummaryOperationStatusInterface.php b/app/code/Magento/AsynchronousOperations/Api/Data/SummaryOperationStatusInterface.php index 3b9f53b34162a..051dbd955c4a9 100644 --- a/app/code/Magento/AsynchronousOperations/Api/Data/SummaryOperationStatusInterface.php +++ b/app/code/Magento/AsynchronousOperations/Api/Data/SummaryOperationStatusInterface.php @@ -15,6 +15,7 @@ * without serialized_data and result_serialized_data * * @api + * @since 100.2.3 */ interface SummaryOperationStatusInterface { @@ -22,6 +23,7 @@ interface SummaryOperationStatusInterface * Operation id * * @return int + * @since 100.2.3 */ public function getId(); @@ -31,6 +33,7 @@ public function getId(); * OPEN | COMPLETE | RETRIABLY_FAILED | NOT_RETRIABLY_FAILED * * @return int + * @since 100.2.3 */ public function getStatus(); @@ -38,6 +41,7 @@ public function getStatus(); * Get result message * * @return string + * @since 100.2.3 */ public function getResultMessage(); @@ -45,6 +49,7 @@ public function getResultMessage(); * Get error code * * @return int + * @since 100.2.3 */ public function getErrorCode(); } diff --git a/app/code/Magento/AsynchronousOperations/Api/OperationRepositoryInterface.php b/app/code/Magento/AsynchronousOperations/Api/OperationRepositoryInterface.php index 17547321b827f..6cb6a93143918 100644 --- a/app/code/Magento/AsynchronousOperations/Api/OperationRepositoryInterface.php +++ b/app/code/Magento/AsynchronousOperations/Api/OperationRepositoryInterface.php @@ -13,6 +13,7 @@ * * An bulk is a group of queue messages. An bulk operation item is a queue message. * @api + * @since 100.3.0 */ interface OperationRepositoryInterface { @@ -21,6 +22,7 @@ interface OperationRepositoryInterface * * @param \Magento\Framework\Api\SearchCriteriaInterface $searchCriteria * @return \Magento\AsynchronousOperations\Api\Data\OperationSearchResultsInterface + * @since 100.3.0 */ public function getList(\Magento\Framework\Api\SearchCriteriaInterface $searchCriteria); } diff --git a/app/code/Magento/AsynchronousOperations/Model/ConfigInterface.php b/app/code/Magento/AsynchronousOperations/Model/ConfigInterface.php index de0f89a71650a..593ab52bbdf29 100644 --- a/app/code/Magento/AsynchronousOperations/Model/ConfigInterface.php +++ b/app/code/Magento/AsynchronousOperations/Model/ConfigInterface.php @@ -15,6 +15,7 @@ * Class for accessing to Webapi_Async configuration. * * @api + * @since 100.2.3 */ interface ConfigInterface { @@ -45,6 +46,7 @@ interface ConfigInterface * Get array of generated topics name and related to this topic service class and methods * * @return array + * @since 100.2.3 */ public function getServices(); @@ -55,6 +57,7 @@ public function getServices(); * @param string $httpMethod GET|POST|PUT|DELETE * @return string * @throws \Magento\Framework\Exception\LocalizedException + * @since 100.2.3 */ public function getTopicName($routeUrl, $httpMethod); } diff --git a/app/code/Magento/AsynchronousOperations/composer.json b/app/code/Magento/AsynchronousOperations/composer.json index 4ac67ac6aa645..6cceb47ed6883 100644 --- a/app/code/Magento/AsynchronousOperations/composer.json +++ b/app/code/Magento/AsynchronousOperations/composer.json @@ -5,16 +5,16 @@ "sort-packages": true }, "require": { - "magento/framework": "*", - "magento/framework-bulk": "*", - "magento/module-authorization": "*", - "magento/module-backend": "*", - "magento/module-ui": "*", + "magento/framework": "102.0.*", + "magento/framework-bulk": "100.3.*", + "magento/module-authorization": "100.3.*", + "magento/module-backend": "101.0.*", + "magento/module-ui": "101.1.*", "php": "~7.1.3||~7.2.0||~7.3.0" }, "suggest": { - "magento/module-admin-notification": "*", - "magento/module-logging": "*" + "magento/module-admin-notification": "100.3.*", + "magento/module-logging": "101.1.*" }, "type": "magento2-module", "license": [ @@ -28,5 +28,6 @@ "psr-4": { "Magento\\AsynchronousOperations\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/Authorization/composer.json b/app/code/Magento/Authorization/composer.json index 5dec6280a3f65..c5ed74814cfb9 100644 --- a/app/code/Magento/Authorization/composer.json +++ b/app/code/Magento/Authorization/composer.json @@ -6,8 +6,8 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-backend": "*" + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*" }, "type": "magento2-module", "license": [ @@ -21,5 +21,6 @@ "psr-4": { "Magento\\Authorization\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/Authorizenet/Block/Adminhtml/Order/View/Info/FraudDetails.php b/app/code/Magento/Authorizenet/Block/Adminhtml/Order/View/Info/FraudDetails.php index c693ebe95d52b..c94227f3fd387 100644 --- a/app/code/Magento/Authorizenet/Block/Adminhtml/Order/View/Info/FraudDetails.php +++ b/app/code/Magento/Authorizenet/Block/Adminhtml/Order/View/Info/FraudDetails.php @@ -14,7 +14,7 @@ * * @api * @since 100.0.2 - * @deprecated 2.3.1 Authorize.net is removing all support for this payment method + * @deprecated 100.3.1 Authorize.net is removing all support for this payment method */ class FraudDetails extends \Magento\Backend\Block\Template { diff --git a/app/code/Magento/Authorizenet/Block/Adminhtml/Order/View/Info/PaymentDetails.php b/app/code/Magento/Authorizenet/Block/Adminhtml/Order/View/Info/PaymentDetails.php index 23034270640dd..bfe145f2ca3f4 100644 --- a/app/code/Magento/Authorizenet/Block/Adminhtml/Order/View/Info/PaymentDetails.php +++ b/app/code/Magento/Authorizenet/Block/Adminhtml/Order/View/Info/PaymentDetails.php @@ -12,7 +12,7 @@ /** * Payment information block for Authorize.net payment method - * @deprecated 2.3.1 Authorize.net is removing all support for this payment method + * @deprecated 100.3.1 Authorize.net is removing all support for this payment method */ class PaymentDetails extends ConfigurableInfo { diff --git a/app/code/Magento/Authorizenet/Block/Transparent/Iframe.php b/app/code/Magento/Authorizenet/Block/Transparent/Iframe.php index 65161413cb18f..819b4a844a152 100644 --- a/app/code/Magento/Authorizenet/Block/Transparent/Iframe.php +++ b/app/code/Magento/Authorizenet/Block/Transparent/Iframe.php @@ -13,7 +13,7 @@ * Transparent Iframe block for Authorize.net payments * @api * @since 100.0.2 - * @deprecated 2.3.1 Authorize.net is removing all support for this payment method + * @deprecated 100.3.1 Authorize.net is removing all support for this payment method */ class Iframe extends TransparentIframe { diff --git a/app/code/Magento/Authorizenet/Controller/Adminhtml/Authorizenet/Directpost/Payment/AddConfigured.php b/app/code/Magento/Authorizenet/Controller/Adminhtml/Authorizenet/Directpost/Payment/AddConfigured.php index f71314613fc1f..aeeec9688a7b5 100644 --- a/app/code/Magento/Authorizenet/Controller/Adminhtml/Authorizenet/Directpost/Payment/AddConfigured.php +++ b/app/code/Magento/Authorizenet/Controller/Adminhtml/Authorizenet/Directpost/Payment/AddConfigured.php @@ -13,7 +13,7 @@ /** * Class AddConfigured - * @deprecated 2.3.1 Authorize.net is removing all support for this payment method + * @deprecated 100.3.1 Authorize.net is removing all support for this payment method */ class AddConfigured extends BaseAddConfigured implements HttpPutActionInterface { diff --git a/app/code/Magento/Authorizenet/Controller/Adminhtml/Authorizenet/Directpost/Payment/Cancel.php b/app/code/Magento/Authorizenet/Controller/Adminhtml/Authorizenet/Directpost/Payment/Cancel.php index 3ebea4704db7e..05af5f4bae55b 100644 --- a/app/code/Magento/Authorizenet/Controller/Adminhtml/Authorizenet/Directpost/Payment/Cancel.php +++ b/app/code/Magento/Authorizenet/Controller/Adminhtml/Authorizenet/Directpost/Payment/Cancel.php @@ -13,7 +13,7 @@ /** * Class Cancel - * @deprecated 2.3.1 Authorize.net is removing all support for this payment method + * @deprecated 100.3.1 Authorize.net is removing all support for this payment method */ class Cancel extends BaseCancel implements HttpPostActionInterface { diff --git a/app/code/Magento/Authorizenet/Controller/Adminhtml/Authorizenet/Directpost/Payment/ConfigureProductToAdd.php b/app/code/Magento/Authorizenet/Controller/Adminhtml/Authorizenet/Directpost/Payment/ConfigureProductToAdd.php index 19eb4571a852e..66ce14fc75ce4 100644 --- a/app/code/Magento/Authorizenet/Controller/Adminhtml/Authorizenet/Directpost/Payment/ConfigureProductToAdd.php +++ b/app/code/Magento/Authorizenet/Controller/Adminhtml/Authorizenet/Directpost/Payment/ConfigureProductToAdd.php @@ -13,7 +13,7 @@ /** * Class ConfigureProductToAdd - * @deprecated 2.3.1 Authorize.net is removing all support for this payment method + * @deprecated 100.3.1 Authorize.net is removing all support for this payment method */ class ConfigureProductToAdd extends BaseConfigureProductToAdd implements HttpPutActionInterface { diff --git a/app/code/Magento/Authorizenet/Controller/Adminhtml/Authorizenet/Directpost/Payment/ConfigureQuoteItems.php b/app/code/Magento/Authorizenet/Controller/Adminhtml/Authorizenet/Directpost/Payment/ConfigureQuoteItems.php index d314149059c72..6cd94afd7aa3b 100644 --- a/app/code/Magento/Authorizenet/Controller/Adminhtml/Authorizenet/Directpost/Payment/ConfigureQuoteItems.php +++ b/app/code/Magento/Authorizenet/Controller/Adminhtml/Authorizenet/Directpost/Payment/ConfigureQuoteItems.php @@ -13,7 +13,7 @@ /** * Class ConfigureQuoteItems - * @deprecated 2.3 Authorize.net is removing all support for this payment method + * @deprecated 100.3.1 Authorize.net is removing all support for this payment method */ class ConfigureQuoteItems extends BaseConfigureQuoteItems implements HttpPutActionInterface { diff --git a/app/code/Magento/Authorizenet/Controller/Adminhtml/Authorizenet/Directpost/Payment/Index.php b/app/code/Magento/Authorizenet/Controller/Adminhtml/Authorizenet/Directpost/Payment/Index.php index 33ac620499e71..eb2fd72dc07d3 100644 --- a/app/code/Magento/Authorizenet/Controller/Adminhtml/Authorizenet/Directpost/Payment/Index.php +++ b/app/code/Magento/Authorizenet/Controller/Adminhtml/Authorizenet/Directpost/Payment/Index.php @@ -10,7 +10,7 @@ /** * Class Index - * @deprecated 2.3.1 Authorize.net is removing all support for this payment method + * @deprecated 100.3.1 Authorize.net is removing all support for this payment method */ class Index extends \Magento\Sales\Controller\Adminhtml\Order\Create\Index { diff --git a/app/code/Magento/Authorizenet/Controller/Adminhtml/Authorizenet/Directpost/Payment/LoadBlock.php b/app/code/Magento/Authorizenet/Controller/Adminhtml/Authorizenet/Directpost/Payment/LoadBlock.php index 577840c0a9ba4..97c32298442dd 100644 --- a/app/code/Magento/Authorizenet/Controller/Adminhtml/Authorizenet/Directpost/Payment/LoadBlock.php +++ b/app/code/Magento/Authorizenet/Controller/Adminhtml/Authorizenet/Directpost/Payment/LoadBlock.php @@ -10,7 +10,7 @@ /** * Class LoadBlock - * @deprecated 2.3.1 Authorize.net is removing all support for this payment method + * @deprecated 100.3.1 Authorize.net is removing all support for this payment method */ class LoadBlock extends \Magento\Sales\Controller\Adminhtml\Order\Create\LoadBlock { diff --git a/app/code/Magento/Authorizenet/Controller/Adminhtml/Authorizenet/Directpost/Payment/Place.php b/app/code/Magento/Authorizenet/Controller/Adminhtml/Authorizenet/Directpost/Payment/Place.php index fc4cce07bd08f..f54fa656860a0 100644 --- a/app/code/Magento/Authorizenet/Controller/Adminhtml/Authorizenet/Directpost/Payment/Place.php +++ b/app/code/Magento/Authorizenet/Controller/Adminhtml/Authorizenet/Directpost/Payment/Place.php @@ -20,7 +20,7 @@ * Class Place * * @SuppressWarnings(PHPMD.CouplingBetweenObjects) - * @deprecated 2.3.1 Authorize.net is removing all support for this payment method + * @deprecated 100.3.1 Authorize.net is removing all support for this payment method */ class Place extends Create implements HttpPostActionInterface { diff --git a/app/code/Magento/Authorizenet/Controller/Adminhtml/Authorizenet/Directpost/Payment/ProcessData.php b/app/code/Magento/Authorizenet/Controller/Adminhtml/Authorizenet/Directpost/Payment/ProcessData.php index 3d0d572bd6265..e8d093aef984a 100644 --- a/app/code/Magento/Authorizenet/Controller/Adminhtml/Authorizenet/Directpost/Payment/ProcessData.php +++ b/app/code/Magento/Authorizenet/Controller/Adminhtml/Authorizenet/Directpost/Payment/ProcessData.php @@ -13,7 +13,7 @@ /** * Class ProcessData - * @deprecated 2.3.1 Authorize.net is removing all support for this payment method + * @deprecated 100.3.1 Authorize.net is removing all support for this payment method */ class ProcessData extends BaseProcessData implements HttpPostActionInterface { diff --git a/app/code/Magento/Authorizenet/Controller/Adminhtml/Authorizenet/Directpost/Payment/Redirect.php b/app/code/Magento/Authorizenet/Controller/Adminhtml/Authorizenet/Directpost/Payment/Redirect.php index 333751f93653a..5b1b7d511d953 100644 --- a/app/code/Magento/Authorizenet/Controller/Adminhtml/Authorizenet/Directpost/Payment/Redirect.php +++ b/app/code/Magento/Authorizenet/Controller/Adminhtml/Authorizenet/Directpost/Payment/Redirect.php @@ -19,7 +19,7 @@ /** * Class Redirect * @SuppressWarnings(PHPMD.CouplingBetweenObjects) - * @deprecated 2.3.1 Authorize.net is removing all support for this payment method + * @deprecated 100.3.1 Authorize.net is removing all support for this payment method */ class Redirect extends Create implements HttpGetActionInterface, HttpPostActionInterface { diff --git a/app/code/Magento/Authorizenet/Controller/Adminhtml/Authorizenet/Directpost/Payment/Reorder.php b/app/code/Magento/Authorizenet/Controller/Adminhtml/Authorizenet/Directpost/Payment/Reorder.php index 06a6403915ff1..6bb8385dd2fca 100644 --- a/app/code/Magento/Authorizenet/Controller/Adminhtml/Authorizenet/Directpost/Payment/Reorder.php +++ b/app/code/Magento/Authorizenet/Controller/Adminhtml/Authorizenet/Directpost/Payment/Reorder.php @@ -13,7 +13,7 @@ /** * Class Reorder - * @deprecated 2.3.1 Authorize.net is removing all support for this payment method + * @deprecated 100.3.1 Authorize.net is removing all support for this payment method */ class Reorder extends BaseReorder implements HttpPostActionInterface { diff --git a/app/code/Magento/Authorizenet/Controller/Adminhtml/Authorizenet/Directpost/Payment/ReturnQuote.php b/app/code/Magento/Authorizenet/Controller/Adminhtml/Authorizenet/Directpost/Payment/ReturnQuote.php index c42e7ecbeef00..dc9c7186e77fc 100644 --- a/app/code/Magento/Authorizenet/Controller/Adminhtml/Authorizenet/Directpost/Payment/ReturnQuote.php +++ b/app/code/Magento/Authorizenet/Controller/Adminhtml/Authorizenet/Directpost/Payment/ReturnQuote.php @@ -14,7 +14,7 @@ /** * Class ReturnQuote - * @deprecated 2.3.1 Authorize.net is removing all support for this payment method + * @deprecated 100.3.1 Authorize.net is removing all support for this payment method */ class ReturnQuote extends Create implements HttpPostActionInterface, HttpGetActionInterface { diff --git a/app/code/Magento/Authorizenet/Controller/Adminhtml/Authorizenet/Directpost/Payment/Save.php b/app/code/Magento/Authorizenet/Controller/Adminhtml/Authorizenet/Directpost/Payment/Save.php index cc93ce5daedeb..50cb0fd6d1469 100644 --- a/app/code/Magento/Authorizenet/Controller/Adminhtml/Authorizenet/Directpost/Payment/Save.php +++ b/app/code/Magento/Authorizenet/Controller/Adminhtml/Authorizenet/Directpost/Payment/Save.php @@ -10,7 +10,7 @@ /** * Class Save - * @deprecated 2.3.1 Authorize.net is removing all support for this payment method + * @deprecated 100.3.1 Authorize.net is removing all support for this payment method */ class Save extends \Magento\Sales\Controller\Adminhtml\Order\Create\Save { diff --git a/app/code/Magento/Authorizenet/Controller/Adminhtml/Authorizenet/Directpost/Payment/ShowUpdateResult.php b/app/code/Magento/Authorizenet/Controller/Adminhtml/Authorizenet/Directpost/Payment/ShowUpdateResult.php index af80bde10831a..ad70a2d09b87a 100644 --- a/app/code/Magento/Authorizenet/Controller/Adminhtml/Authorizenet/Directpost/Payment/ShowUpdateResult.php +++ b/app/code/Magento/Authorizenet/Controller/Adminhtml/Authorizenet/Directpost/Payment/ShowUpdateResult.php @@ -10,7 +10,7 @@ /** * Class ShowUpdateResult - * @deprecated 2.3.1 Authorize.net is removing all support for this payment method + * @deprecated 100.3.1 Authorize.net is removing all support for this payment method */ class ShowUpdateResult extends \Magento\Sales\Controller\Adminhtml\Order\Create\ShowUpdateResult { diff --git a/app/code/Magento/Authorizenet/Controller/Adminhtml/Authorizenet/Directpost/Payment/Start.php b/app/code/Magento/Authorizenet/Controller/Adminhtml/Authorizenet/Directpost/Payment/Start.php index 689b30d63be68..30f25ee9f506f 100644 --- a/app/code/Magento/Authorizenet/Controller/Adminhtml/Authorizenet/Directpost/Payment/Start.php +++ b/app/code/Magento/Authorizenet/Controller/Adminhtml/Authorizenet/Directpost/Payment/Start.php @@ -13,7 +13,7 @@ /** * Class Start - * @deprecated 2.3.1 Authorize.net is removing all support for this payment method + * @deprecated 100.3.1 Authorize.net is removing all support for this payment method */ abstract class Start extends Create implements HttpPostActionInterface { diff --git a/app/code/Magento/Authorizenet/Controller/Directpost/Payment.php b/app/code/Magento/Authorizenet/Controller/Directpost/Payment.php index cfaa5f1cfcd08..2ee8f72918aee 100644 --- a/app/code/Magento/Authorizenet/Controller/Directpost/Payment.php +++ b/app/code/Magento/Authorizenet/Controller/Directpost/Payment.php @@ -16,7 +16,7 @@ * DirectPost Payment Controller * * @SuppressWarnings(PHPMD.CouplingBetweenObjects) - * @deprecated 2.3.1 Authorize.net is removing all support for this payment method + * @deprecated 100.3.1 Authorize.net is removing all support for this payment method */ abstract class Payment extends Action implements HttpGetActionInterface, HttpPostActionInterface { diff --git a/app/code/Magento/Authorizenet/Controller/Directpost/Payment/BackendResponse.php b/app/code/Magento/Authorizenet/Controller/Directpost/Payment/BackendResponse.php index e0610a92feb6a..3cab529c6e058 100644 --- a/app/code/Magento/Authorizenet/Controller/Directpost/Payment/BackendResponse.php +++ b/app/code/Magento/Authorizenet/Controller/Directpost/Payment/BackendResponse.php @@ -24,7 +24,7 @@ /** * Class BackendResponse - * @deprecated 2.3.1 Authorize.net is removing all support for this payment method + * @deprecated 100.3.1 Authorize.net is removing all support for this payment method */ class BackendResponse extends \Magento\Authorizenet\Controller\Directpost\Payment implements CsrfAwareActionInterface, diff --git a/app/code/Magento/Authorizenet/Controller/Directpost/Payment/Place.php b/app/code/Magento/Authorizenet/Controller/Directpost/Payment/Place.php index 7d672a75f5b17..f9ead6c144492 100644 --- a/app/code/Magento/Authorizenet/Controller/Directpost/Payment/Place.php +++ b/app/code/Magento/Authorizenet/Controller/Directpost/Payment/Place.php @@ -26,7 +26,7 @@ * Class Place * * @SuppressWarnings(PHPMD.CouplingBetweenObjects) - * @deprecated 2.3.1 Authorize.net is removing all support for this payment method + * @deprecated 100.3.1 Authorize.net is removing all support for this payment method */ class Place extends Payment implements HttpPostActionInterface { diff --git a/app/code/Magento/Authorizenet/Controller/Directpost/Payment/Redirect.php b/app/code/Magento/Authorizenet/Controller/Directpost/Payment/Redirect.php index 8c9510243f610..28de674afd023 100644 --- a/app/code/Magento/Authorizenet/Controller/Directpost/Payment/Redirect.php +++ b/app/code/Magento/Authorizenet/Controller/Directpost/Payment/Redirect.php @@ -15,7 +15,7 @@ /** * Class Redirect - * @deprecated 2.3.1 Authorize.net is removing all support for this payment method + * @deprecated 100.3.1 Authorize.net is removing all support for this payment method */ class Redirect extends Payment implements HttpGetActionInterface, HttpPostActionInterface { diff --git a/app/code/Magento/Authorizenet/Controller/Directpost/Payment/Response.php b/app/code/Magento/Authorizenet/Controller/Directpost/Payment/Response.php index 17fc3cb72e454..6ad8076e92fa9 100644 --- a/app/code/Magento/Authorizenet/Controller/Directpost/Payment/Response.php +++ b/app/code/Magento/Authorizenet/Controller/Directpost/Payment/Response.php @@ -17,7 +17,7 @@ /** * Class Response - * @deprecated 2.3.1 Authorize.net is removing all support for this payment method + * @deprecated 100.3.1 Authorize.net is removing all support for this payment method */ class Response extends Payment implements CsrfAwareActionInterface, HttpGetActionInterface, HttpPostActionInterface { diff --git a/app/code/Magento/Authorizenet/Controller/Directpost/Payment/ReturnQuote.php b/app/code/Magento/Authorizenet/Controller/Directpost/Payment/ReturnQuote.php index c974632f584b0..c4e15a48056f0 100644 --- a/app/code/Magento/Authorizenet/Controller/Directpost/Payment/ReturnQuote.php +++ b/app/code/Magento/Authorizenet/Controller/Directpost/Payment/ReturnQuote.php @@ -14,7 +14,7 @@ /** * Class ReturnQuote - * @deprecated 2.3.1 Authorize.net is removing all support for this payment method + * @deprecated 100.3.1 Authorize.net is removing all support for this payment method */ class ReturnQuote extends Payment implements HttpPostActionInterface, HttpGetActionInterface { diff --git a/app/code/Magento/Authorizenet/Helper/Backend/Data.php b/app/code/Magento/Authorizenet/Helper/Backend/Data.php index d291125ccae06..fbf61b2c3a0c1 100644 --- a/app/code/Magento/Authorizenet/Helper/Backend/Data.php +++ b/app/code/Magento/Authorizenet/Helper/Backend/Data.php @@ -18,7 +18,7 @@ * * @api * @since 100.0.2 - * @deprecated 2.3.1 Authorize.net is removing all support for this payment method + * @deprecated 100.3.1 Authorize.net is removing all support for this payment method */ class Data extends FrontendDataHelper { diff --git a/app/code/Magento/Authorizenet/Helper/Data.php b/app/code/Magento/Authorizenet/Helper/Data.php index e240cd692a13f..32fbcd7489224 100644 --- a/app/code/Magento/Authorizenet/Helper/Data.php +++ b/app/code/Magento/Authorizenet/Helper/Data.php @@ -19,7 +19,7 @@ * * @api * @since 100.0.2 - * @deprecated 2.3.1 Authorize.net is removing all support for this payment method + * @deprecated 100.3.1 Authorize.net is removing all support for this payment method */ class Data extends AbstractHelper { diff --git a/app/code/Magento/Authorizenet/Helper/DataFactory.php b/app/code/Magento/Authorizenet/Helper/DataFactory.php index 71f16ab4af646..ba69d9529de79 100644 --- a/app/code/Magento/Authorizenet/Helper/DataFactory.php +++ b/app/code/Magento/Authorizenet/Helper/DataFactory.php @@ -12,7 +12,7 @@ /** * Class DataFactory - * @deprecated 2.3.1 Authorize.net is removing all support for this payment method + * @deprecated 100.3.1 Authorize.net is removing all support for this payment method */ class DataFactory { diff --git a/app/code/Magento/Authorizenet/Model/Authorizenet.php b/app/code/Magento/Authorizenet/Model/Authorizenet.php index 9370b649a23c7..bc7567866ec61 100644 --- a/app/code/Magento/Authorizenet/Model/Authorizenet.php +++ b/app/code/Magento/Authorizenet/Model/Authorizenet.php @@ -16,7 +16,7 @@ * @SuppressWarnings(PHPMD.TooManyFields) * @SuppressWarnings(PHPMD.ExcessiveClassComplexity) * @SuppressWarnings(PHPMD.CouplingBetweenObjects) - * @deprecated 2.3.1 Authorize.net is removing all support for this payment method + * @deprecated 100.3.1 Authorize.net is removing all support for this payment method */ abstract class Authorizenet extends \Magento\Payment\Model\Method\Cc { diff --git a/app/code/Magento/Authorizenet/Model/Debug.php b/app/code/Magento/Authorizenet/Model/Debug.php index 93d508cc744e1..6d695ad71cfc1 100644 --- a/app/code/Magento/Authorizenet/Model/Debug.php +++ b/app/code/Magento/Authorizenet/Model/Debug.php @@ -22,7 +22,7 @@ * @method \Magento\Authorizenet\Model\Debug setRequestDump(string $value) * @method string getResultDump() * @method \Magento\Authorizenet\Model\Debug setResultDump(string $value) - * @deprecated 2.3.1 Authorize.net is removing all support for this payment method + * @deprecated 100.3.1 Authorize.net is removing all support for this payment method */ class Debug extends \Magento\Framework\Model\AbstractModel { diff --git a/app/code/Magento/Authorizenet/Model/Directpost.php b/app/code/Magento/Authorizenet/Model/Directpost.php index 946ec8ba01a0e..93a1f8236cc3f 100644 --- a/app/code/Magento/Authorizenet/Model/Directpost.php +++ b/app/code/Magento/Authorizenet/Model/Directpost.php @@ -16,7 +16,7 @@ * @SuppressWarnings(PHPMD.TooManyFields) * @SuppressWarnings(PHPMD.CouplingBetweenObjects) * @SuppressWarnings(PHPMD.ExcessiveClassComplexity) - * @deprecated 2.3.1 Authorize.net is removing all support for this payment method + * @deprecated 100.3.1 Authorize.net is removing all support for this payment method */ class Directpost extends \Magento\Authorizenet\Model\Authorizenet implements TransparentInterface, ConfigInterface { diff --git a/app/code/Magento/Authorizenet/Model/Directpost/Request.php b/app/code/Magento/Authorizenet/Model/Directpost/Request.php index 10be4cd5febf6..4c1a27429d0ec 100644 --- a/app/code/Magento/Authorizenet/Model/Directpost/Request.php +++ b/app/code/Magento/Authorizenet/Model/Directpost/Request.php @@ -13,7 +13,7 @@ /** * Authorize.net request model for DirectPost model - * @deprecated 2.3.1 Authorize.net is removing all support for this payment method + * @deprecated 100.3.1 Authorize.net is removing all support for this payment method */ class Request extends AuthorizenetRequest { diff --git a/app/code/Magento/Authorizenet/Model/Directpost/Request/Factory.php b/app/code/Magento/Authorizenet/Model/Directpost/Request/Factory.php index 6036935f57be1..3829b47442bf6 100644 --- a/app/code/Magento/Authorizenet/Model/Directpost/Request/Factory.php +++ b/app/code/Magento/Authorizenet/Model/Directpost/Request/Factory.php @@ -11,7 +11,7 @@ /** * Factory class for @see \Magento\Authorizenet\Model\Directpost\Request - * @deprecated 2.3.1 Authorize.net is removing all support for this payment method + * @deprecated 100.3.1 Authorize.net is removing all support for this payment method */ class Factory extends AuthorizenetRequestFactory { diff --git a/app/code/Magento/Authorizenet/Model/Directpost/Response.php b/app/code/Magento/Authorizenet/Model/Directpost/Response.php index b5604a78cb9cd..676042f4ea489 100644 --- a/app/code/Magento/Authorizenet/Model/Directpost/Response.php +++ b/app/code/Magento/Authorizenet/Model/Directpost/Response.php @@ -12,7 +12,7 @@ /** * Authorize.net response model for DirectPost model - * @deprecated 2.3.1 Authorize.net is removing all support for this payment method + * @deprecated 100.3.1 Authorize.net is removing all support for this payment method */ class Response extends AuthorizenetResponse { diff --git a/app/code/Magento/Authorizenet/Model/Directpost/Response/Factory.php b/app/code/Magento/Authorizenet/Model/Directpost/Response/Factory.php index 4fda5ac62b498..7e7380415068f 100644 --- a/app/code/Magento/Authorizenet/Model/Directpost/Response/Factory.php +++ b/app/code/Magento/Authorizenet/Model/Directpost/Response/Factory.php @@ -11,7 +11,7 @@ /** * Factory class for @see \Magento\Authorizenet\Model\Directpost\Response - * @deprecated 2.3.1 Authorize.net is removing all support for this payment method + * @deprecated 100.3.1 Authorize.net is removing all support for this payment method */ class Factory extends AuthorizenetResponseFactory { diff --git a/app/code/Magento/Authorizenet/Model/Directpost/Session.php b/app/code/Magento/Authorizenet/Model/Directpost/Session.php index 26c5ff0cb7e36..40763631afb1b 100644 --- a/app/code/Magento/Authorizenet/Model/Directpost/Session.php +++ b/app/code/Magento/Authorizenet/Model/Directpost/Session.php @@ -13,7 +13,7 @@ * Authorize.net DirectPost session model * * @SuppressWarnings(PHPMD.CookieAndSessionMisuse) - * @deprecated 2.3.1 Authorize.net is removing all support for this payment method + * @deprecated 100.3.1 Authorize.net is removing all support for this payment method */ class Session extends SessionManager { diff --git a/app/code/Magento/Authorizenet/Model/Request.php b/app/code/Magento/Authorizenet/Model/Request.php index 552439fc8bb9b..9f3ecfbd8c331 100644 --- a/app/code/Magento/Authorizenet/Model/Request.php +++ b/app/code/Magento/Authorizenet/Model/Request.php @@ -11,7 +11,7 @@ /** * Request object - * @deprecated 2.3.1 Authorize.net is removing all support for this payment method + * @deprecated 100.3.1 Authorize.net is removing all support for this payment method */ class Request extends DataObject { diff --git a/app/code/Magento/Authorizenet/Model/Request/Factory.php b/app/code/Magento/Authorizenet/Model/Request/Factory.php index a7a636280e28d..7cca2703b4935 100644 --- a/app/code/Magento/Authorizenet/Model/Request/Factory.php +++ b/app/code/Magento/Authorizenet/Model/Request/Factory.php @@ -9,7 +9,7 @@ /** * Factory class for @see \Magento\Authorizenet\Model\Request - * @deprecated 2.3.1 Authorize.net is removing all support for this payment method + * @deprecated 100.3.1 Authorize.net is removing all support for this payment method */ class Factory { diff --git a/app/code/Magento/Authorizenet/Model/ResourceModel/Debug.php b/app/code/Magento/Authorizenet/Model/ResourceModel/Debug.php index 2c21d0e2e28e0..2053c8bf83301 100644 --- a/app/code/Magento/Authorizenet/Model/ResourceModel/Debug.php +++ b/app/code/Magento/Authorizenet/Model/ResourceModel/Debug.php @@ -9,7 +9,7 @@ /** * Resource Authorize.net debug model - * @deprecated 2.3.1 Authorize.net is removing all support for this payment method + * @deprecated 100.3.1 Authorize.net is removing all support for this payment method */ class Debug extends \Magento\Framework\Model\ResourceModel\Db\AbstractDb { diff --git a/app/code/Magento/Authorizenet/Model/ResourceModel/Debug/Collection.php b/app/code/Magento/Authorizenet/Model/ResourceModel/Debug/Collection.php index b84ee1e72a2d4..746611ee01c1d 100644 --- a/app/code/Magento/Authorizenet/Model/ResourceModel/Debug/Collection.php +++ b/app/code/Magento/Authorizenet/Model/ResourceModel/Debug/Collection.php @@ -9,7 +9,7 @@ /** * Resource Authorize.net debug collection model - * @deprecated 2.3.1 Authorize.net is removing all support for this payment method + * @deprecated 100.3.1 Authorize.net is removing all support for this payment method */ class Collection extends \Magento\Framework\Model\ResourceModel\Db\Collection\AbstractCollection { diff --git a/app/code/Magento/Authorizenet/Model/Response.php b/app/code/Magento/Authorizenet/Model/Response.php index c552663a15373..0ed1d8d6eae98 100644 --- a/app/code/Magento/Authorizenet/Model/Response.php +++ b/app/code/Magento/Authorizenet/Model/Response.php @@ -11,7 +11,7 @@ /** * Response object - * @deprecated 2.3.1 Authorize.net is removing all support for this payment method + * @deprecated 100.3.1 Authorize.net is removing all support for this payment method */ class Response extends DataObject { diff --git a/app/code/Magento/Authorizenet/Model/Response/Factory.php b/app/code/Magento/Authorizenet/Model/Response/Factory.php index 4578095566004..c1dbb4eb0b4f8 100644 --- a/app/code/Magento/Authorizenet/Model/Response/Factory.php +++ b/app/code/Magento/Authorizenet/Model/Response/Factory.php @@ -9,7 +9,7 @@ /** * Factory class for @see \Magento\Authorizenet\Model\Response - * @deprecated 2.3.1 Authorize.net is removing all support for this payment method + * @deprecated 100.3.1 Authorize.net is removing all support for this payment method */ class Factory { diff --git a/app/code/Magento/Authorizenet/Model/Source/Cctype.php b/app/code/Magento/Authorizenet/Model/Source/Cctype.php index ffb3584722450..fa27f18017ff7 100644 --- a/app/code/Magento/Authorizenet/Model/Source/Cctype.php +++ b/app/code/Magento/Authorizenet/Model/Source/Cctype.php @@ -11,7 +11,7 @@ /** * Authorize.net Payment CC Types Source Model - * @deprecated 2.3.1 Authorize.net is removing all support for this payment method + * @deprecated 100.3.1 Authorize.net is removing all support for this payment method */ class Cctype extends PaymentCctype { diff --git a/app/code/Magento/Authorizenet/Model/Source/PaymentAction.php b/app/code/Magento/Authorizenet/Model/Source/PaymentAction.php index c6e57557f65c5..4b877efcb41aa 100644 --- a/app/code/Magento/Authorizenet/Model/Source/PaymentAction.php +++ b/app/code/Magento/Authorizenet/Model/Source/PaymentAction.php @@ -11,7 +11,7 @@ /** * Authorize.net Payment Action Dropdown source - * @deprecated 2.3.1 Authorize.net is removing all support for this payment method + * @deprecated 100.3.1 Authorize.net is removing all support for this payment method */ class PaymentAction implements ArrayInterface { diff --git a/app/code/Magento/Authorizenet/Model/TransactionService.php b/app/code/Magento/Authorizenet/Model/TransactionService.php index af0b02e94cf45..5c83f15753289 100644 --- a/app/code/Magento/Authorizenet/Model/TransactionService.php +++ b/app/code/Magento/Authorizenet/Model/TransactionService.php @@ -16,7 +16,7 @@ /** * Class TransactionService - * @deprecated 2.3.1 Authorize.net is removing all support for this payment method + * @deprecated 100.3.1 Authorize.net is removing all support for this payment method */ class TransactionService { diff --git a/app/code/Magento/Authorizenet/Observer/AddFieldsToResponseObserver.php b/app/code/Magento/Authorizenet/Observer/AddFieldsToResponseObserver.php index bdd10437927c8..961828e66462f 100644 --- a/app/code/Magento/Authorizenet/Observer/AddFieldsToResponseObserver.php +++ b/app/code/Magento/Authorizenet/Observer/AddFieldsToResponseObserver.php @@ -14,7 +14,7 @@ * Class AddFieldsToResponseObserver * * @SuppressWarnings(PHPMD.CookieAndSessionMisuse) - * @deprecated 2.3.1 Authorize.net is removing all support for this payment method + * @deprecated 100.3.1 Authorize.net is removing all support for this payment method */ class AddFieldsToResponseObserver implements ObserverInterface { diff --git a/app/code/Magento/Authorizenet/Observer/SaveOrderAfterSubmitObserver.php b/app/code/Magento/Authorizenet/Observer/SaveOrderAfterSubmitObserver.php index 45f0adfa96f4f..07899e1ccf596 100644 --- a/app/code/Magento/Authorizenet/Observer/SaveOrderAfterSubmitObserver.php +++ b/app/code/Magento/Authorizenet/Observer/SaveOrderAfterSubmitObserver.php @@ -12,7 +12,7 @@ /** * Class SaveOrderAfterSubmitObserver - * @deprecated 2.3.1 Authorize.net is removing all support for this payment method + * @deprecated 100.3.1 Authorize.net is removing all support for this payment method */ class SaveOrderAfterSubmitObserver implements ObserverInterface { diff --git a/app/code/Magento/Authorizenet/Observer/UpdateAllEditIncrementsObserver.php b/app/code/Magento/Authorizenet/Observer/UpdateAllEditIncrementsObserver.php index d6cc51eb63c01..caaef5ea29fa6 100644 --- a/app/code/Magento/Authorizenet/Observer/UpdateAllEditIncrementsObserver.php +++ b/app/code/Magento/Authorizenet/Observer/UpdateAllEditIncrementsObserver.php @@ -12,7 +12,7 @@ /** * Class UpdateAllEditIncrementsObserver - * @deprecated 2.3.1 Authorize.net is removing all support for this payment method + * @deprecated 100.3.1 Authorize.net is removing all support for this payment method */ class UpdateAllEditIncrementsObserver implements ObserverInterface { diff --git a/app/code/Magento/Authorizenet/composer.json b/app/code/Magento/Authorizenet/composer.json index 9dcbc7ec7dfb3..367d1566d3c64 100644 --- a/app/code/Magento/Authorizenet/composer.json +++ b/app/code/Magento/Authorizenet/composer.json @@ -6,17 +6,17 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-backend": "*", - "magento/module-catalog": "*", - "magento/module-checkout": "*", - "magento/module-payment": "*", - "magento/module-quote": "*", - "magento/module-sales": "*", - "magento/module-store": "*" + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-checkout": "100.3.*", + "magento/module-payment": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-sales": "102.0.*", + "magento/module-store": "101.0.*" }, "suggest": { - "magento/module-config": "*" + "magento/module-config": "101.1.*" }, "type": "magento2-module", "license": [ @@ -30,5 +30,6 @@ "psr-4": { "Magento\\Authorizenet\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/AuthorizenetAcceptjs/Block/Form.php b/app/code/Magento/AuthorizenetAcceptjs/Block/Form.php index 9f10b2df40e9f..5f945235fd2d9 100644 --- a/app/code/Magento/AuthorizenetAcceptjs/Block/Form.php +++ b/app/code/Magento/AuthorizenetAcceptjs/Block/Form.php @@ -18,6 +18,7 @@ * Block for representing the payment form * * @api + * @since 100.3.0 */ class Form extends Cc { @@ -54,6 +55,7 @@ public function __construct( * Check if cvv validation is available * * @return boolean + * @since 100.3.0 */ public function isCvvEnabled(): bool { diff --git a/app/code/Magento/AuthorizenetAcceptjs/Block/Info.php b/app/code/Magento/AuthorizenetAcceptjs/Block/Info.php index ea476eaa55716..e2ce62fdd511f 100644 --- a/app/code/Magento/AuthorizenetAcceptjs/Block/Info.php +++ b/app/code/Magento/AuthorizenetAcceptjs/Block/Info.php @@ -15,6 +15,7 @@ * Translates the labels for the info block * * @api + * @since 100.3.0 */ class Info extends ConfigurableInfo { @@ -23,6 +24,7 @@ class Info extends ConfigurableInfo * * @param string $field * @return Phrase + * @since 100.3.0 */ protected function getLabel($field): Phrase { diff --git a/app/code/Magento/AuthorizenetAcceptjs/Block/Payment.php b/app/code/Magento/AuthorizenetAcceptjs/Block/Payment.php index 059bba0c805e8..317a69de82c59 100644 --- a/app/code/Magento/AuthorizenetAcceptjs/Block/Payment.php +++ b/app/code/Magento/AuthorizenetAcceptjs/Block/Payment.php @@ -18,6 +18,7 @@ * Represents the payment block for the admin checkout form * * @api + * @since 100.3.0 */ class Payment extends Template { @@ -52,6 +53,7 @@ public function __construct( * Retrieves the config that should be used by the block * * @return string + * @since 100.3.0 */ public function getPaymentConfig(): string { @@ -66,6 +68,7 @@ public function getPaymentConfig(): string * Returns the method code for this payment method * * @return string + * @since 100.3.0 */ public function getMethodCode(): string { diff --git a/app/code/Magento/AuthorizenetAcceptjs/composer.json b/app/code/Magento/AuthorizenetAcceptjs/composer.json index a54387ca6de28..8c5a18bbe6ec8 100644 --- a/app/code/Magento/AuthorizenetAcceptjs/composer.json +++ b/app/code/Magento/AuthorizenetAcceptjs/composer.json @@ -6,14 +6,14 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-payment": "*", - "magento/module-sales": "*", - "magento/module-config": "*", - "magento/module-backend": "*", - "magento/module-checkout": "*", - "magento/module-store": "*", - "magento/module-quote": "*" + "magento/framework": "102.0.*", + "magento/module-payment": "100.3.*", + "magento/module-sales": "102.0.*", + "magento/module-config": "101.1.*", + "magento/module-backend": "101.0.*", + "magento/module-checkout": "100.3.*", + "magento/module-store": "101.0.*", + "magento/module-quote": "101.1.*" }, "type": "magento2-module", "license": [ @@ -27,5 +27,6 @@ "psr-4": { "Magento\\AuthorizenetAcceptjs\\": "" } - } + }, + "version": "100.3.2" } diff --git a/app/code/Magento/AuthorizenetCardinal/composer.json b/app/code/Magento/AuthorizenetCardinal/composer.json index 8b913f7056033..00b017c420711 100644 --- a/app/code/Magento/AuthorizenetCardinal/composer.json +++ b/app/code/Magento/AuthorizenetCardinal/composer.json @@ -6,14 +6,14 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/module-authorizenet-acceptjs": "*", - "magento/framework": "*", - "magento/module-cardinal-commerce": "*", - "magento/module-payment": "*", - "magento/module-sales": "*", - "magento/module-quote": "*", - "magento/module-checkout": "*", - "magento/module-store": "*" + "magento/module-authorizenet-acceptjs": "100.3.*", + "magento/framework": "102.0.*", + "magento/module-cardinal-commerce": "100.3.*", + "magento/module-payment": "100.3.*", + "magento/module-sales": "102.0.*", + "magento/module-quote": "101.1.*", + "magento/module-checkout": "100.3.*", + "magento/module-store": "101.0.*" }, "type": "magento2-module", "license": [ @@ -27,5 +27,6 @@ "psr-4": { "Magento\\AuthorizenetCardinal\\": "" } - } + }, + "version": "100.3.0" } diff --git a/app/code/Magento/AuthorizenetGraphQl/composer.json b/app/code/Magento/AuthorizenetGraphQl/composer.json index 2b54049bab434..3c91e4bac5c2e 100644 --- a/app/code/Magento/AuthorizenetGraphQl/composer.json +++ b/app/code/Magento/AuthorizenetGraphQl/composer.json @@ -4,11 +4,11 @@ "type": "magento2-module", "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-quote-graph-ql": "*" + "magento/framework": "102.0.*", + "magento/module-quote-graph-ql": "100.3.*" }, "suggest": { - "magento/module-graph-ql": "*" + "magento/module-graph-ql": "100.3.*" }, "license": [ "OSL-3.0", @@ -21,5 +21,6 @@ "psr-4": { "Magento\\AuthorizenetGraphQl\\": "" } - } + }, + "version": "100.3.0" } diff --git a/app/code/Magento/Backend/Block/Dashboard/Graph.php b/app/code/Magento/Backend/Block/Dashboard/Graph.php index b76421e4e6f67..b6b40ad2f8981 100644 --- a/app/code/Magento/Backend/Block/Dashboard/Graph.php +++ b/app/code/Magento/Backend/Block/Dashboard/Graph.php @@ -78,7 +78,7 @@ class Graph extends \Magento\Backend\Block\Dashboard\AbstractDashboard /** * Google chart api data encoding * - * @deprecated since the Google Image Charts API not accessible from March 14, 2019 + * @deprecated 101.0.2 since the Google Image Charts API not accessible from March 14, 2019 * @var string */ protected $_encoding = 'e'; diff --git a/app/code/Magento/Backend/Block/Media/Uploader.php b/app/code/Magento/Backend/Block/Media/Uploader.php index 84fa487281ac8..1900f1a3e7cbd 100644 --- a/app/code/Magento/Backend/Block/Media/Uploader.php +++ b/app/code/Magento/Backend/Block/Media/Uploader.php @@ -46,7 +46,7 @@ class Uploader extends \Magento\Backend\Block\Widget /** * @var UploadConfigInterface - * @deprecated + * @deprecated 101.0.1 * @see \Magento\Backend\Model\Image\UploadResizeConfigInterface */ private $imageConfig; @@ -120,6 +120,7 @@ public function getFileSizeService() * Get Image Upload Maximum Width Config. * * @return int + * @since 100.2.7 */ public function getImageUploadMaxWidth() { @@ -130,6 +131,7 @@ public function getImageUploadMaxWidth() * Get Image Upload Maximum Height Config. * * @return int + * @since 100.2.7 */ public function getImageUploadMaxHeight() { diff --git a/app/code/Magento/Backend/Block/Page/Footer.php b/app/code/Magento/Backend/Block/Page/Footer.php index e0c173a4cbfec..610d28b0f53e3 100644 --- a/app/code/Magento/Backend/Block/Page/Footer.php +++ b/app/code/Magento/Backend/Block/Page/Footer.php @@ -60,6 +60,7 @@ public function getMagentoVersion() /** * @inheritdoc + * @since 101.0.0 */ protected function getCacheLifetime() { diff --git a/app/code/Magento/Backend/Block/Page/System/Config/Robots/Reset.php b/app/code/Magento/Backend/Block/Page/System/Config/Robots/Reset.php index 2abb987db0723..d290b89b2a6bc 100644 --- a/app/code/Magento/Backend/Block/Page/System/Config/Robots/Reset.php +++ b/app/code/Magento/Backend/Block/Page/System/Config/Robots/Reset.php @@ -11,7 +11,7 @@ /** * "Reset to Defaults" button renderer * - * @deprecated 100.2.0 + * @deprecated 100.1.6 * @author Magento Core Team */ class Reset extends \Magento\Config\Block\System\Config\Form\Field diff --git a/app/code/Magento/Backend/Block/Widget/Form/Element/ElementCreator.php b/app/code/Magento/Backend/Block/Widget/Form/Element/ElementCreator.php index b9cdd259796d0..1b89746b3a98a 100644 --- a/app/code/Magento/Backend/Block/Widget/Form/Element/ElementCreator.php +++ b/app/code/Magento/Backend/Block/Widget/Form/Element/ElementCreator.php @@ -14,7 +14,7 @@ /** * Class ElementCreator * - * @deprecated 100.3.0 in favour of UI component implementation + * @deprecated 101.0.1 in favour of UI component implementation * @package Magento\Backend\Block\Widget\Form\Element */ class ElementCreator diff --git a/app/code/Magento/Backend/Block/Widget/Grid/Massaction.php b/app/code/Magento/Backend/Block/Widget/Grid/Massaction.php index 662cbedaed8db..53e52fc7252b3 100644 --- a/app/code/Magento/Backend/Block/Widget/Grid/Massaction.php +++ b/app/code/Magento/Backend/Block/Widget/Grid/Massaction.php @@ -64,6 +64,7 @@ public function __construct( * @param array|DataObject $item * * @return $this + * @since 100.2.3 */ public function addItem($itemId, $item) { diff --git a/app/code/Magento/Backend/Controller/Adminhtml/System/Store.php b/app/code/Magento/Backend/Controller/Adminhtml/System/Store.php index a9be14b77b29c..7bef74862f029 100644 --- a/app/code/Magento/Backend/Controller/Adminhtml/System/Store.php +++ b/app/code/Magento/Backend/Controller/Adminhtml/System/Store.php @@ -88,7 +88,7 @@ protected function createPage() * * @return bool * - * @deprecated Backup module is to be removed. + * @deprecated 100.2.7 Backup module is to be removed. */ protected function _backupDatabase() { diff --git a/app/code/Magento/Backend/Model/Url.php b/app/code/Magento/Backend/Model/Url.php index ba0c3d1cfacee..f8210c82587b8 100644 --- a/app/code/Magento/Backend/Model/Url.php +++ b/app/code/Magento/Backend/Model/Url.php @@ -372,6 +372,7 @@ protected function _getMenu() * * @param mixed $scopeId * @return \Magento\Framework\UrlInterface + * @since 101.0.3 */ public function setScope($scopeId) { diff --git a/app/code/Magento/Backend/Ui/Component/Control/DeleteButton.php b/app/code/Magento/Backend/Ui/Component/Control/DeleteButton.php index 3f4f3669ab75b..d3c177fa907ab 100644 --- a/app/code/Magento/Backend/Ui/Component/Control/DeleteButton.php +++ b/app/code/Magento/Backend/Ui/Component/Control/DeleteButton.php @@ -17,6 +17,7 @@ * Provide an ability to show confirmation message on click on the "Delete" button * * @api + * @since 101.0.0 */ class DeleteButton implements ButtonProviderInterface { @@ -84,6 +85,7 @@ public function __construct( /** * {@inheritdoc} + * @since 101.0.0 */ public function getButtonData() { diff --git a/app/code/Magento/Backend/Ui/Component/Control/SaveSplitButton.php b/app/code/Magento/Backend/Ui/Component/Control/SaveSplitButton.php index 75d6bad06e239..f85264e532057 100644 --- a/app/code/Magento/Backend/Ui/Component/Control/SaveSplitButton.php +++ b/app/code/Magento/Backend/Ui/Component/Control/SaveSplitButton.php @@ -13,6 +13,7 @@ * Provide an ability to show drop-down list with options clicking on the "Save" button * * @api + * @since 101.0.0 */ class SaveSplitButton implements ButtonProviderInterface { @@ -31,6 +32,7 @@ public function __construct(string $targetName) /** * {@inheritdoc} + * @since 101.0.0 */ public function getButtonData() { diff --git a/app/code/Magento/Backend/Ui/Component/Listing/Column/EditAction.php b/app/code/Magento/Backend/Ui/Component/Listing/Column/EditAction.php index fb0aa6987f4d9..1769bd7b3bb64 100644 --- a/app/code/Magento/Backend/Ui/Component/Listing/Column/EditAction.php +++ b/app/code/Magento/Backend/Ui/Component/Listing/Column/EditAction.php @@ -14,6 +14,7 @@ * Represents Edit link in grid for entity by its identifier field * * @api + * @since 101.0.0 */ class EditAction extends Column { @@ -43,6 +44,7 @@ public function __construct( /** * @param array $dataSource * @return array + * @since 101.0.0 */ public function prepareDataSource(array $dataSource) { diff --git a/app/code/Magento/Backend/composer.json b/app/code/Magento/Backend/composer.json index 4862e701404f7..4f8cb5905adb7 100644 --- a/app/code/Magento/Backend/composer.json +++ b/app/code/Magento/Backend/composer.json @@ -5,27 +5,27 @@ "sort-packages": true }, "require": { - "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-backup": "*", - "magento/module-catalog": "*", - "magento/module-config": "*", - "magento/module-customer": "*", - "magento/module-developer": "*", - "magento/module-directory": "*", - "magento/module-eav": "*", - "magento/module-quote": "*", - "magento/module-reports": "*", - "magento/module-require-js": "*", - "magento/module-sales": "*", - "magento/module-security": "*", - "magento/module-store": "*", - "magento/module-translation": "*", - "magento/module-ui": "*", - "magento/module-user": "*" + "php": "~7.1.3||~7.2.0||~7.3.0", + "magento/framework": "102.0.*", + "magento/module-backup": "100.3.*", + "magento/module-catalog": "103.0.*", + "magento/module-config": "101.1.*", + "magento/module-customer": "102.0.*", + "magento/module-developer": "100.3.*", + "magento/module-directory": "100.3.*", + "magento/module-eav": "102.0.*", + "magento/module-quote": "101.1.*", + "magento/module-reports": "100.3.*", + "magento/module-require-js": "100.3.*", + "magento/module-sales": "102.0.*", + "magento/module-security": "100.3.*", + "magento/module-store": "101.0.*", + "magento/module-translation": "100.3.*", + "magento/module-ui": "101.1.*", + "magento/module-user": "101.1.*" }, "suggest": { - "magento/module-theme": "*" + "magento/module-theme": "101.0.*" }, "type": "magento2-module", "license": [ @@ -39,5 +39,6 @@ "psr-4": { "Magento\\Backend\\": "" } - } + }, + "version": "101.0.3" } diff --git a/app/code/Magento/Backup/Controller/Adminhtml/Index.php b/app/code/Magento/Backup/Controller/Adminhtml/Index.php index b62963947d7bf..64052254f5233 100644 --- a/app/code/Magento/Backup/Controller/Adminhtml/Index.php +++ b/app/code/Magento/Backup/Controller/Adminhtml/Index.php @@ -87,6 +87,7 @@ public function __construct( /** * @inheritDoc + * @since 100.2.6 */ public function dispatch(\Magento\Framework\App\RequestInterface $request) { diff --git a/app/code/Magento/Backup/Helper/Data.php b/app/code/Magento/Backup/Helper/Data.php index c6df6a7366852..a29aa01e64d46 100644 --- a/app/code/Magento/Backup/Helper/Data.php +++ b/app/code/Magento/Backup/Helper/Data.php @@ -293,6 +293,7 @@ public function extractDataFromFilename($filename) * Is backup functionality enabled. * * @return bool + * @since 100.2.6 */ public function isEnabled(): bool { diff --git a/app/code/Magento/Backup/Model/Db.php b/app/code/Magento/Backup/Model/Db.php index 084b35448a823..0d117a7dff818 100644 --- a/app/code/Magento/Backup/Model/Db.php +++ b/app/code/Magento/Backup/Model/Db.php @@ -16,7 +16,7 @@ * * @api * @since 100.0.2 - * @deprecated Backup module is to be removed. + * @deprecated 100.2.6 Backup module is to be removed. */ class Db implements \Magento\Framework\Backup\Db\BackupDbInterface { diff --git a/app/code/Magento/Backup/Model/ResourceModel/Db.php b/app/code/Magento/Backup/Model/ResourceModel/Db.php index 6e7d6f9863f33..c38a7b3005e21 100644 --- a/app/code/Magento/Backup/Model/ResourceModel/Db.php +++ b/app/code/Magento/Backup/Model/ResourceModel/Db.php @@ -120,6 +120,7 @@ public function getTableForeignKeysSql($tableName = null) * @param string|null $tableName * @param bool $addDropIfExists * @return string + * @since 100.2.3 */ public function getTableTriggersSql($tableName = null, $addDropIfExists = true) { diff --git a/app/code/Magento/Backup/Model/ResourceModel/Helper.php b/app/code/Magento/Backup/Model/ResourceModel/Helper.php index dace56fd60688..b5a5faae1fde4 100644 --- a/app/code/Magento/Backup/Model/ResourceModel/Helper.php +++ b/app/code/Magento/Backup/Model/ResourceModel/Helper.php @@ -345,6 +345,7 @@ public function restoreTransactionIsolationLevel() * @param boolean $addDropIfExists * @param boolean $stripDefiner * @return string + * @since 100.2.3 */ public function getTableTriggersSql($tableName, $addDropIfExists = false, $stripDefiner = true) { diff --git a/app/code/Magento/Backup/composer.json b/app/code/Magento/Backup/composer.json index 4ceeff1d93031..64a6fd59cd4e2 100644 --- a/app/code/Magento/Backup/composer.json +++ b/app/code/Magento/Backup/composer.json @@ -6,10 +6,10 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-backend": "*", - "magento/module-cron": "*", - "magento/module-store": "*" + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-cron": "100.3.*", + "magento/module-store": "101.0.*" }, "type": "magento2-module", "license": [ @@ -23,5 +23,6 @@ "psr-4": { "Magento\\Backup\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/Braintree/Model/Adapter/BraintreeAdapter.php b/app/code/Magento/Braintree/Model/Adapter/BraintreeAdapter.php index fd1fe81b5eba8..b827b4448c7b3 100644 --- a/app/code/Magento/Braintree/Model/Adapter/BraintreeAdapter.php +++ b/app/code/Magento/Braintree/Model/Adapter/BraintreeAdapter.php @@ -48,7 +48,7 @@ public function __construct($merchantId, $publicKey, $privateKey, $environment) * Initializes credentials. * * @return void - * @deprecated is not used anymore + * @deprecated 100.2.2 is not used anymore */ protected function initCredentials() { diff --git a/app/code/Magento/Braintree/composer.json b/app/code/Magento/Braintree/composer.json index 5b5eeaf2b3dd7..c3aadf13b3563 100644 --- a/app/code/Magento/Braintree/composer.json +++ b/app/code/Magento/Braintree/composer.json @@ -7,26 +7,26 @@ "require": { "php": "~7.1.3||~7.2.0||~7.3.0", "braintree/braintree_php": "3.35.0", - "magento/framework": "*", + "magento/framework": "102.0.*", "magento/magento-composer-installer": "*", - "magento/module-catalog": "*", - "magento/module-backend": "*", - "magento/module-checkout": "*", - "magento/module-config": "*", - "magento/module-customer": "*", - "magento/module-directory": "*", - "magento/module-instant-purchase": "*", - "magento/module-payment": "*", - "magento/module-paypal": "*", - "magento/module-quote": "*", - "magento/module-sales": "*", - "magento/module-ui": "*", - "magento/module-vault": "*", - "magento/module-multishipping": "*" + "magento/module-catalog": "103.0.*", + "magento/module-backend": "101.0.*", + "magento/module-checkout": "100.3.*", + "magento/module-config": "101.1.*", + "magento/module-customer": "102.0.*", + "magento/module-directory": "100.3.*", + "magento/module-instant-purchase": "100.3.*", + "magento/module-payment": "100.3.*", + "magento/module-paypal": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-sales": "102.0.*", + "magento/module-ui": "101.1.*", + "magento/module-vault": "101.1.*", + "magento/module-multishipping": "100.3.*" }, "suggest": { - "magento/module-checkout-agreements": "*", - "magento/module-theme": "*" + "magento/module-checkout-agreements": "100.3.*", + "magento/module-theme": "101.0.*" }, "type": "magento2-module", "license": [ @@ -40,5 +40,6 @@ "psr-4": { "Magento\\Braintree\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/BraintreeGraphQl/composer.json b/app/code/Magento/BraintreeGraphQl/composer.json index 7790a4ac031d4..e913d51e238a3 100644 --- a/app/code/Magento/BraintreeGraphQl/composer.json +++ b/app/code/Magento/BraintreeGraphQl/composer.json @@ -4,14 +4,14 @@ "type": "magento2-module", "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-braintree": "*", - "magento/module-store": "*", - "magento/module-quote": "*", - "magento/module-quote-graph-ql": "*" + "magento/framework": "102.0.*", + "magento/module-braintree": "100.3.*", + "magento/module-store": "101.0.*", + "magento/module-quote": "101.1.*", + "magento/module-quote-graph-ql": "100.3.*" }, "suggest": { - "magento/module-graph-ql": "*" + "magento/module-graph-ql": "100.3.*" }, "license": [ "OSL-3.0", @@ -24,5 +24,6 @@ "psr-4": { "Magento\\BraintreeGraphQl\\": "" } - } + }, + "version": "100.3.0" } diff --git a/app/code/Magento/Bundle/Block/Adminhtml/Catalog/Product/Composite/Fieldset/Options/Type/Checkbox.php b/app/code/Magento/Bundle/Block/Adminhtml/Catalog/Product/Composite/Fieldset/Options/Type/Checkbox.php index 46db8a9907341..b3ea050076793 100644 --- a/app/code/Magento/Bundle/Block/Adminhtml/Catalog/Product/Composite/Fieldset/Options/Type/Checkbox.php +++ b/app/code/Magento/Bundle/Block/Adminhtml/Catalog/Product/Composite/Fieldset/Options/Type/Checkbox.php @@ -35,6 +35,7 @@ public function setValidationContainer($elementId, $containerId) /** * @inheritdoc + * @since 100.3.1 */ public function getSelectionPrice($selection) { diff --git a/app/code/Magento/Bundle/Block/Adminhtml/Catalog/Product/Composite/Fieldset/Options/Type/Multi.php b/app/code/Magento/Bundle/Block/Adminhtml/Catalog/Product/Composite/Fieldset/Options/Type/Multi.php index 629f08dc75106..b0f4cd042f4ab 100644 --- a/app/code/Magento/Bundle/Block/Adminhtml/Catalog/Product/Composite/Fieldset/Options/Type/Multi.php +++ b/app/code/Magento/Bundle/Block/Adminhtml/Catalog/Product/Composite/Fieldset/Options/Type/Multi.php @@ -35,6 +35,7 @@ public function setValidationContainer($elementId, $containerId) /** * @inheritdoc + * @since 100.3.1 */ public function getSelectionPrice($selection) { diff --git a/app/code/Magento/Bundle/Pricing/Price/BundleOptionPrice.php b/app/code/Magento/Bundle/Pricing/Price/BundleOptionPrice.php index 1c724caaa28d8..96c6d45ff3645 100644 --- a/app/code/Magento/Bundle/Pricing/Price/BundleOptionPrice.php +++ b/app/code/Magento/Bundle/Pricing/Price/BundleOptionPrice.php @@ -27,7 +27,7 @@ class BundleOptionPrice extends AbstractPrice implements BundleOptionPriceInterf /** * @var BundleSelectionFactory - * @deprecated + * @deprecated 100.2.3 */ protected $selectionFactory; @@ -79,7 +79,7 @@ public function getValue() * Getter for maximal price of options. * * @return bool|float - * @deprecated + * @deprecated 100.2.3 */ public function getMaxValue() { diff --git a/app/code/Magento/Bundle/Pricing/Price/ConfiguredPrice.php b/app/code/Magento/Bundle/Pricing/Price/ConfiguredPrice.php index 11f7e2f3d1f15..4b5ec32bf61aa 100644 --- a/app/code/Magento/Bundle/Pricing/Price/ConfiguredPrice.php +++ b/app/code/Magento/Bundle/Pricing/Price/ConfiguredPrice.php @@ -18,6 +18,7 @@ /** * Configured price model * @api + * @since 100.0.2 */ class ConfiguredPrice extends CatalogPrice\FinalPrice implements ConfiguredPriceInterface { diff --git a/app/code/Magento/Bundle/composer.json b/app/code/Magento/Bundle/composer.json index f5d2832bf6c73..f913acac6066e 100644 --- a/app/code/Magento/Bundle/composer.json +++ b/app/code/Magento/Bundle/composer.json @@ -6,27 +6,27 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-backend": "*", - "magento/module-catalog": "*", - "magento/module-catalog-inventory": "*", - "magento/module-catalog-rule": "*", - "magento/module-checkout": "*", - "magento/module-config": "*", - "magento/module-customer": "*", - "magento/module-eav": "*", - "magento/module-gift-message": "*", - "magento/module-media-storage": "*", - "magento/module-quote": "*", - "magento/module-sales": "*", - "magento/module-store": "*", - "magento/module-tax": "*", - "magento/module-ui": "*" + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-inventory": "100.3.*", + "magento/module-catalog-rule": "101.1.*", + "magento/module-checkout": "100.3.*", + "magento/module-config": "101.1.*", + "magento/module-customer": "102.0.*", + "magento/module-eav": "102.0.*", + "magento/module-gift-message": "100.3.*", + "magento/module-media-storage": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-sales": "102.0.*", + "magento/module-store": "101.0.*", + "magento/module-tax": "100.3.*", + "magento/module-ui": "101.1.*" }, "suggest": { - "magento/module-webapi": "*", - "magento/module-bundle-sample-data": "*", - "magento/module-sales-rule": "*" + "magento/module-webapi": "100.3.*", + "magento/module-bundle-sample-data": "Sample Data version: 100.3.*", + "magento/module-sales-rule": "101.1.*" }, "type": "magento2-module", "license": [ @@ -40,5 +40,6 @@ "psr-4": { "Magento\\Bundle\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/BundleGraphQl/composer.json b/app/code/Magento/BundleGraphQl/composer.json index db85c2149ec18..2484436ea7edb 100644 --- a/app/code/Magento/BundleGraphQl/composer.json +++ b/app/code/Magento/BundleGraphQl/composer.json @@ -4,11 +4,11 @@ "type": "magento2-module", "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/module-catalog": "*", - "magento/module-bundle": "*", - "magento/module-catalog-graph-ql": "*", - "magento/module-store": "*", - "magento/framework": "*" + "magento/module-catalog": "103.0.*", + "magento/module-bundle": "100.3.*", + "magento/module-catalog-graph-ql": "100.3.*", + "magento/module-store": "101.0.*", + "magento/framework": "102.0.*" }, "license": [ "OSL-3.0", @@ -21,5 +21,6 @@ "psr-4": { "Magento\\BundleGraphQl\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/BundleImportExport/Model/Import/Product/Type/Bundle.php b/app/code/Magento/BundleImportExport/Model/Import/Product/Type/Bundle.php index 81a47d72602b7..494c8a9bb60f6 100644 --- a/app/code/Magento/BundleImportExport/Model/Import/Product/Type/Bundle.php +++ b/app/code/Magento/BundleImportExport/Model/Import/Product/Type/Bundle.php @@ -352,7 +352,7 @@ protected function populateSelectionTemplate($selection, $optionId, $parentId, $ /** * Deprecated method for retrieving mapping between skus and products. * - * @deprecated Misspelled method + * @deprecated 100.3.0 Misspelled method * @see retrieveProductsByCachedSkus */ protected function retrieveProducsByCachedSkus() diff --git a/app/code/Magento/BundleImportExport/composer.json b/app/code/Magento/BundleImportExport/composer.json index f7c8ce15a53d7..6b889ab2dd4e4 100644 --- a/app/code/Magento/BundleImportExport/composer.json +++ b/app/code/Magento/BundleImportExport/composer.json @@ -6,13 +6,13 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-bundle": "*", - "magento/module-store": "*", - "magento/module-catalog": "*", - "magento/module-catalog-import-export": "*", - "magento/module-eav": "*", - "magento/module-import-export": "*" + "magento/framework": "102.0.*", + "magento/module-bundle": "100.3.*", + "magento/module-store": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-import-export": "101.0.*", + "magento/module-eav": "102.0.*", + "magento/module-import-export": "100.3.*" }, "type": "magento2-module", "license": [ @@ -26,5 +26,6 @@ "psr-4": { "Magento\\BundleImportExport\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/CacheInvalidate/composer.json b/app/code/Magento/CacheInvalidate/composer.json index 18e3f52ffcb88..6e4d34e5db5c3 100644 --- a/app/code/Magento/CacheInvalidate/composer.json +++ b/app/code/Magento/CacheInvalidate/composer.json @@ -6,8 +6,8 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-page-cache": "*" + "magento/framework": "102.0.*", + "magento/module-page-cache": "100.3.*" }, "type": "magento2-module", "license": [ @@ -21,5 +21,6 @@ "psr-4": { "Magento\\CacheInvalidate\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/Captcha/composer.json b/app/code/Magento/Captcha/composer.json index 294961118e93a..41154e27229e4 100644 --- a/app/code/Magento/Captcha/composer.json +++ b/app/code/Magento/Captcha/composer.json @@ -6,11 +6,11 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-backend": "*", - "magento/module-checkout": "*", - "magento/module-customer": "*", - "magento/module-store": "*", + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-checkout": "100.3.*", + "magento/module-customer": "102.0.*", + "magento/module-store": "101.0.*", "zendframework/zend-captcha": "^2.7.1", "zendframework/zend-db": "^2.8.2", "zendframework/zend-session": "^2.7.3" @@ -27,5 +27,6 @@ "psr-4": { "Magento\\Captcha\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/CardinalCommerce/composer.json b/app/code/Magento/CardinalCommerce/composer.json index bc7b31321037b..d7f5285fc6675 100644 --- a/app/code/Magento/CardinalCommerce/composer.json +++ b/app/code/Magento/CardinalCommerce/composer.json @@ -6,10 +6,10 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-checkout": "*", - "magento/module-payment": "*", - "magento/module-store": "*" + "magento/framework": "102.0.*", + "magento/module-checkout": "100.3.*", + "magento/module-payment": "100.3.*", + "magento/module-store": "101.0.*" }, "type": "magento2-module", "license": [ @@ -23,5 +23,6 @@ "psr-4": { "Magento\\CardinalCommerce\\": "" } - } + }, + "version": "100.3.0" } diff --git a/app/code/Magento/Catalog/Api/BasePriceStorageInterface.php b/app/code/Magento/Catalog/Api/BasePriceStorageInterface.php index 05e5106b287a0..2afa14d874e4b 100644 --- a/app/code/Magento/Catalog/Api/BasePriceStorageInterface.php +++ b/app/code/Magento/Catalog/Api/BasePriceStorageInterface.php @@ -9,7 +9,7 @@ /** * Base prices storage. * @api - * @since 101.1.0 + * @since 102.0.0 */ interface BasePriceStorageInterface { @@ -18,7 +18,7 @@ interface BasePriceStorageInterface * * @param string[] $skus * @return \Magento\Catalog\Api\Data\BasePriceInterface[] - * @since 101.1.0 + * @since 102.0.0 */ public function get(array $skus); @@ -33,7 +33,7 @@ public function get(array $skus); * @param \Magento\Catalog\Api\Data\BasePriceInterface[] $prices * @return \Magento\Catalog\Api\Data\PriceUpdateResultInterface[] * @throws \Magento\Framework\Exception\CouldNotSaveException - * @since 101.1.0 + * @since 102.0.0 */ public function update(array $prices); } diff --git a/app/code/Magento/Catalog/Api/CategoryListInterface.php b/app/code/Magento/Catalog/Api/CategoryListInterface.php index 22a9da00eaffc..2f6cd1f38730a 100644 --- a/app/code/Magento/Catalog/Api/CategoryListInterface.php +++ b/app/code/Magento/Catalog/Api/CategoryListInterface.php @@ -7,7 +7,7 @@ /** * @api - * @since 101.1.0 + * @since 102.0.0 */ interface CategoryListInterface { @@ -16,7 +16,7 @@ interface CategoryListInterface * * @param \Magento\Framework\Api\SearchCriteriaInterface $searchCriteria * @return \Magento\Catalog\Api\Data\CategorySearchResultsInterface - * @since 101.1.0 + * @since 102.0.0 */ public function getList(\Magento\Framework\Api\SearchCriteriaInterface $searchCriteria); } diff --git a/app/code/Magento/Catalog/Api/CostStorageInterface.php b/app/code/Magento/Catalog/Api/CostStorageInterface.php index a52d290bd46d8..debb791a7b756 100644 --- a/app/code/Magento/Catalog/Api/CostStorageInterface.php +++ b/app/code/Magento/Catalog/Api/CostStorageInterface.php @@ -9,7 +9,7 @@ /** * Product cost storage. * @api - * @since 101.1.0 + * @since 102.0.0 */ interface CostStorageInterface { @@ -19,7 +19,7 @@ interface CostStorageInterface * @param string[] $skus * @return \Magento\Catalog\Api\Data\CostInterface[] * @throws \Magento\Framework\Exception\NoSuchEntityException - * @since 101.1.0 + * @since 102.0.0 */ public function get(array $skus); @@ -33,7 +33,7 @@ public function get(array $skus); * * @param \Magento\Catalog\Api\Data\CostInterface[] $prices * @return \Magento\Catalog\Api\Data\PriceUpdateResultInterface[] - * @since 101.1.0 + * @since 102.0.0 */ public function update(array $prices); @@ -45,7 +45,7 @@ public function update(array $prices); * @return bool Will return True if deleted. * @throws \Magento\Framework\Exception\NoSuchEntityException * @throws \Magento\Framework\Exception\CouldNotDeleteException - * @since 101.1.0 + * @since 102.0.0 */ public function delete(array $skus); } diff --git a/app/code/Magento/Catalog/Api/Data/BasePriceInterface.php b/app/code/Magento/Catalog/Api/Data/BasePriceInterface.php index a527bbfe947ab..1bce067650313 100644 --- a/app/code/Magento/Catalog/Api/Data/BasePriceInterface.php +++ b/app/code/Magento/Catalog/Api/Data/BasePriceInterface.php @@ -9,7 +9,7 @@ /** * Price interface. * @api - * @since 101.1.0 + * @since 102.0.0 */ interface BasePriceInterface extends \Magento\Framework\Api\ExtensibleDataInterface { @@ -26,7 +26,7 @@ interface BasePriceInterface extends \Magento\Framework\Api\ExtensibleDataInterf * * @param float $price * @return $this - * @since 101.1.0 + * @since 102.0.0 */ public function setPrice($price); @@ -34,7 +34,7 @@ public function setPrice($price); * Get price. * * @return float - * @since 101.1.0 + * @since 102.0.0 */ public function getPrice(); @@ -43,7 +43,7 @@ public function getPrice(); * * @param int $storeId * @return $this - * @since 101.1.0 + * @since 102.0.0 */ public function setStoreId($storeId); @@ -51,7 +51,7 @@ public function setStoreId($storeId); * Get store id. * * @return int - * @since 101.1.0 + * @since 102.0.0 */ public function getStoreId(); @@ -60,7 +60,7 @@ public function getStoreId(); * * @param string $sku * @return $this - * @since 101.1.0 + * @since 102.0.0 */ public function setSku($sku); @@ -68,7 +68,7 @@ public function setSku($sku); * Get SKU. * * @return string - * @since 101.1.0 + * @since 102.0.0 */ public function getSku(); @@ -76,7 +76,7 @@ public function getSku(); * Retrieve existing extension attributes object or create a new one. * * @return \Magento\Catalog\Api\Data\BasePriceExtensionInterface|null - * @since 101.1.0 + * @since 102.0.0 */ public function getExtensionAttributes(); @@ -85,7 +85,7 @@ public function getExtensionAttributes(); * * @param \Magento\Catalog\Api\Data\BasePriceExtensionInterface $extensionAttributes * @return $this - * @since 101.1.0 + * @since 102.0.0 */ public function setExtensionAttributes( \Magento\Catalog\Api\Data\BasePriceExtensionInterface $extensionAttributes diff --git a/app/code/Magento/Catalog/Api/Data/CategoryLinkInterface.php b/app/code/Magento/Catalog/Api/Data/CategoryLinkInterface.php index e9c0e04c4f746..c9ca57dc1eff1 100644 --- a/app/code/Magento/Catalog/Api/Data/CategoryLinkInterface.php +++ b/app/code/Magento/Catalog/Api/Data/CategoryLinkInterface.php @@ -10,20 +10,20 @@ /** * @api - * @since 101.1.0 + * @since 102.0.0 */ interface CategoryLinkInterface extends ExtensibleDataInterface { /** * @return int|null - * @since 101.1.0 + * @since 102.0.0 */ public function getPosition(); /** * @param int $position * @return $this - * @since 101.1.0 + * @since 102.0.0 */ public function setPosition($position); @@ -31,7 +31,7 @@ public function setPosition($position); * Get category id * * @return string - * @since 101.1.0 + * @since 102.0.0 */ public function getCategoryId(); @@ -40,7 +40,7 @@ public function getCategoryId(); * * @param string $categoryId * @return $this - * @since 101.1.0 + * @since 102.0.0 */ public function setCategoryId($categoryId); @@ -48,7 +48,7 @@ public function setCategoryId($categoryId); * Retrieve existing extension attributes object. * * @return \Magento\Catalog\Api\Data\CategoryLinkExtensionInterface|null - * @since 101.1.0 + * @since 102.0.0 */ public function getExtensionAttributes(); @@ -57,7 +57,7 @@ public function getExtensionAttributes(); * * @param \Magento\Catalog\Api\Data\CategoryLinkExtensionInterface $extensionAttributes * @return $this - * @since 101.1.0 + * @since 102.0.0 */ public function setExtensionAttributes( \Magento\Catalog\Api\Data\CategoryLinkExtensionInterface $extensionAttributes diff --git a/app/code/Magento/Catalog/Api/Data/CategorySearchResultsInterface.php b/app/code/Magento/Catalog/Api/Data/CategorySearchResultsInterface.php index 38f3f89d6a0c5..0ed03c2d56519 100644 --- a/app/code/Magento/Catalog/Api/Data/CategorySearchResultsInterface.php +++ b/app/code/Magento/Catalog/Api/Data/CategorySearchResultsInterface.php @@ -9,7 +9,7 @@ /** * @api - * @since 101.1.0 + * @since 102.0.0 */ interface CategorySearchResultsInterface extends SearchResultsInterface { @@ -17,7 +17,7 @@ interface CategorySearchResultsInterface extends SearchResultsInterface * Get categories * * @return \Magento\Catalog\Api\Data\CategoryInterface[] - * @since 101.1.0 + * @since 102.0.0 */ public function getItems(); @@ -26,7 +26,7 @@ public function getItems(); * * @param \Magento\Catalog\Api\Data\CategoryInterface[] $items * @return $this - * @since 101.1.0 + * @since 102.0.0 */ public function setItems(array $items); } diff --git a/app/code/Magento/Catalog/Api/Data/CostInterface.php b/app/code/Magento/Catalog/Api/Data/CostInterface.php index a9966f56bafa3..ed5e8cd8a2bb2 100644 --- a/app/code/Magento/Catalog/Api/Data/CostInterface.php +++ b/app/code/Magento/Catalog/Api/Data/CostInterface.php @@ -9,7 +9,7 @@ /** * Cost interface. * @api - * @since 101.1.0 + * @since 102.0.0 */ interface CostInterface extends \Magento\Framework\Api\ExtensibleDataInterface { @@ -26,7 +26,7 @@ interface CostInterface extends \Magento\Framework\Api\ExtensibleDataInterface * * @param float $cost * @return $this - * @since 101.1.0 + * @since 102.0.0 */ public function setCost($cost); @@ -34,7 +34,7 @@ public function setCost($cost); * Get cost value. * * @return float - * @since 101.1.0 + * @since 102.0.0 */ public function getCost(); @@ -43,7 +43,7 @@ public function getCost(); * * @param int $storeId * @return $this - * @since 101.1.0 + * @since 102.0.0 */ public function setStoreId($storeId); @@ -51,7 +51,7 @@ public function setStoreId($storeId); * Get store id. * * @return int - * @since 101.1.0 + * @since 102.0.0 */ public function getStoreId(); @@ -60,7 +60,7 @@ public function getStoreId(); * * @param string $sku * @return $this - * @since 101.1.0 + * @since 102.0.0 */ public function setSku($sku); @@ -68,7 +68,7 @@ public function setSku($sku); * Get SKU. * * @return string - * @since 101.1.0 + * @since 102.0.0 */ public function getSku(); @@ -76,7 +76,7 @@ public function getSku(); * Retrieve existing extension attributes object or create a new one. * * @return \Magento\Catalog\Api\Data\CostExtensionInterface|null - * @since 101.1.0 + * @since 102.0.0 */ public function getExtensionAttributes(); @@ -85,7 +85,7 @@ public function getExtensionAttributes(); * * @param \Magento\Catalog\Api\Data\CostExtensionInterface $extensionAttributes * @return $this - * @since 101.1.0 + * @since 102.0.0 */ public function setExtensionAttributes( \Magento\Catalog\Api\Data\CostExtensionInterface $extensionAttributes diff --git a/app/code/Magento/Catalog/Api/Data/EavAttributeInterface.php b/app/code/Magento/Catalog/Api/Data/EavAttributeInterface.php index dabd3234c6dab..08696156fa11a 100644 --- a/app/code/Magento/Catalog/Api/Data/EavAttributeInterface.php +++ b/app/code/Magento/Catalog/Api/Data/EavAttributeInterface.php @@ -145,7 +145,7 @@ public function getIsFilterableInGrid(); * * @param bool|null $isUsedInGrid * @return $this - * @since 101.1.0 + * @since 102.0.0 */ public function setIsUsedInGrid($isUsedInGrid); @@ -154,7 +154,7 @@ public function setIsUsedInGrid($isUsedInGrid); * * @param bool|null $isVisibleInGrid * @return $this - * @since 101.1.0 + * @since 102.0.0 */ public function setIsVisibleInGrid($isVisibleInGrid); @@ -163,7 +163,7 @@ public function setIsVisibleInGrid($isVisibleInGrid); * * @param bool|null $isFilterableInGrid * @return $this - * @since 101.1.0 + * @since 102.0.0 */ public function setIsFilterableInGrid($isFilterableInGrid); diff --git a/app/code/Magento/Catalog/Api/Data/PriceUpdateResultInterface.php b/app/code/Magento/Catalog/Api/Data/PriceUpdateResultInterface.php index 426c5becc7a24..25bd9eeb438c9 100644 --- a/app/code/Magento/Catalog/Api/Data/PriceUpdateResultInterface.php +++ b/app/code/Magento/Catalog/Api/Data/PriceUpdateResultInterface.php @@ -9,7 +9,7 @@ /** * Interface returned in case of incorrect price passed to efficient price API. * @api - * @since 101.1.0 + * @since 102.0.0 */ interface PriceUpdateResultInterface extends \Magento\Framework\Api\ExtensibleDataInterface { @@ -24,7 +24,7 @@ interface PriceUpdateResultInterface extends \Magento\Framework\Api\ExtensibleDa * Get error message, that contains description of error occurred during price update. * * @return string - * @since 101.1.0 + * @since 102.0.0 */ public function getMessage(); @@ -33,7 +33,7 @@ public function getMessage(); * * @param string $message * @return $this - * @since 101.1.0 + * @since 102.0.0 */ public function setMessage($message); @@ -41,7 +41,7 @@ public function setMessage($message); * Get parameters, that could be displayed in error message placeholders. * * @return string[] - * @since 101.1.0 + * @since 102.0.0 */ public function getParameters(); @@ -50,7 +50,7 @@ public function getParameters(); * * @param string[] $parameters * @return $this - * @since 101.1.0 + * @since 102.0.0 */ public function setParameters(array $parameters); @@ -59,7 +59,7 @@ public function setParameters(array $parameters); * If extension attributes do not exist return null. * * @return \Magento\Catalog\Api\Data\PriceUpdateResultExtensionInterface|null - * @since 101.1.0 + * @since 102.0.0 */ public function getExtensionAttributes(); @@ -68,7 +68,7 @@ public function getExtensionAttributes(); * * @param \Magento\Catalog\Api\Data\PriceUpdateResultExtensionInterface $extensionAttributes * @return $this - * @since 101.1.0 + * @since 102.0.0 */ public function setExtensionAttributes( \Magento\Catalog\Api\Data\PriceUpdateResultExtensionInterface $extensionAttributes diff --git a/app/code/Magento/Catalog/Api/Data/ProductAttributeInterface.php b/app/code/Magento/Catalog/Api/Data/ProductAttributeInterface.php index 590c23a0aa0b1..15fd17f41e158 100644 --- a/app/code/Magento/Catalog/Api/Data/ProductAttributeInterface.php +++ b/app/code/Magento/Catalog/Api/Data/ProductAttributeInterface.php @@ -35,6 +35,7 @@ interface ProductAttributeInterface extends \Magento\Catalog\Api\Data\EavAttribu /** * @return \Magento\Eav\Api\Data\AttributeExtensionInterface|null + * @since 103.0.0 */ public function getExtensionAttributes(); } diff --git a/app/code/Magento/Catalog/Api/Data/ProductFrontendActionInterface.php b/app/code/Magento/Catalog/Api/Data/ProductFrontendActionInterface.php index 9a6cfebc71fa0..610c457215853 100644 --- a/app/code/Magento/Catalog/Api/Data/ProductFrontendActionInterface.php +++ b/app/code/Magento/Catalog/Api/Data/ProductFrontendActionInterface.php @@ -9,7 +9,7 @@ * Represents Data Object for a Product Frontend Action like Product View or Comparison * * @api - * @since 101.1.0 + * @since 102.0.0 */ interface ProductFrontendActionInterface { @@ -17,7 +17,7 @@ interface ProductFrontendActionInterface * Gets Identifier of a Product Frontend Action * * @return int - * @since 101.1.0 + * @since 102.0.0 */ public function getActionId(); @@ -26,7 +26,7 @@ public function getActionId(); * * @param int $actionId * @return void - * @since 101.1.0 + * @since 102.0.0 */ public function setActionId($actionId); @@ -34,7 +34,7 @@ public function setActionId($actionId); * Gets Identifier of Visitor who performs a Product Frontend Action * * @return int - * @since 101.1.0 + * @since 102.0.0 */ public function getVisitorId(); @@ -43,7 +43,7 @@ public function getVisitorId(); * * @param int $visitorId * @return void - * @since 101.1.0 + * @since 102.0.0 */ public function setVisitorId($visitorId); @@ -51,7 +51,7 @@ public function setVisitorId($visitorId); * Gets Identifier of Customer who performs a Product Frontend Action * * @return int - * @since 101.1.0 + * @since 102.0.0 */ public function getCustomerId(); @@ -60,7 +60,7 @@ public function getCustomerId(); * * @param int $customerId * @return void - * @since 101.1.0 + * @since 102.0.0 */ public function setCustomerId($customerId); @@ -68,7 +68,7 @@ public function setCustomerId($customerId); * Gets Identifier of Product a Product Frontend Action is performed on * * @return int - * @since 101.1.0 + * @since 102.0.0 */ public function getProductId(); @@ -77,7 +77,7 @@ public function getProductId(); * * @param int $productId * @return void - * @since 101.1.0 + * @since 102.0.0 */ public function setProductId($productId); @@ -85,7 +85,7 @@ public function setProductId($productId); * Gets Identifier of Type of a Product Frontend Action * * @return string - * @since 101.1.0 + * @since 102.0.0 */ public function getTypeId(); @@ -94,7 +94,7 @@ public function getTypeId(); * * @param string $typeId * @return void - * @since 101.1.0 + * @since 102.0.0 */ public function setTypeId($typeId); @@ -102,7 +102,7 @@ public function setTypeId($typeId); * Gets JS timestamp of a Product Frontend Action (in microseconds) * * @return int - * @since 101.1.0 + * @since 102.0.0 */ public function getAddedAt(); @@ -111,7 +111,7 @@ public function getAddedAt(); * * @param int $addedAt * @return void - * @since 101.1.0 + * @since 102.0.0 */ public function setAddedAt($addedAt); } diff --git a/app/code/Magento/Catalog/Api/Data/ProductRender/ButtonInterface.php b/app/code/Magento/Catalog/Api/Data/ProductRender/ButtonInterface.php index e2f4dfa201593..592b47d216ae9 100644 --- a/app/code/Magento/Catalog/Api/Data/ProductRender/ButtonInterface.php +++ b/app/code/Magento/Catalog/Api/Data/ProductRender/ButtonInterface.php @@ -14,7 +14,7 @@ * This interface represents all manner of product buttons: add to cart, add to compare, etc... * The buttons describes by this interface should have interaction with backend * @api - * @since 101.1.0 + * @since 102.0.0 */ interface ButtonInterface extends ExtensibleDataInterface { @@ -22,7 +22,7 @@ interface ButtonInterface extends ExtensibleDataInterface * @param string $postData Post data should be serialized (JSON/serialized) string * Post data can be empty * @return void - * @since 101.1.0 + * @since 102.0.0 */ public function setPostData($postData); @@ -33,7 +33,7 @@ public function setPostData($postData); * to handle product action * * @return string - * @since 101.1.0 + * @since 102.0.0 */ public function getPostData(); @@ -44,7 +44,7 @@ public function getPostData(); * * @param string $url * @return void - * @since 101.1.0 + * @since 102.0.0 */ public function setUrl($url); @@ -52,7 +52,7 @@ public function setUrl($url); * Retrieve url, needed to add product to cart * * @return string - * @since 101.1.0 + * @since 102.0.0 */ public function getUrl(); @@ -62,7 +62,7 @@ public function getUrl(); * * @param bool $requiredOptions * @return void - * @since 101.1.0 + * @since 102.0.0 */ public function setRequiredOptions($requiredOptions); @@ -70,7 +70,7 @@ public function setRequiredOptions($requiredOptions); * Retrieve flag whether a product has options or not * * @return bool - * @since 101.1.0 + * @since 102.0.0 */ public function hasRequiredOptions(); @@ -78,7 +78,7 @@ public function hasRequiredOptions(); * Retrieve existing extension attributes object or create a new one. * * @return \Magento\Catalog\Api\Data\ProductRender\ButtonExtensionInterface|null - * @since 101.1.0 + * @since 102.0.0 */ public function getExtensionAttributes(); @@ -87,7 +87,7 @@ public function getExtensionAttributes(); * * @param \Magento\Catalog\Api\Data\ProductRender\ButtonExtensionInterface $extensionAttributes * @return $this - * @since 101.1.0 + * @since 102.0.0 */ public function setExtensionAttributes( \Magento\Catalog\Api\Data\ProductRender\ButtonExtensionInterface $extensionAttributes diff --git a/app/code/Magento/Catalog/Api/Data/ProductRender/FormattedPriceInfoInterface.php b/app/code/Magento/Catalog/Api/Data/ProductRender/FormattedPriceInfoInterface.php index 43e0de4f20176..f86302bc596e1 100644 --- a/app/code/Magento/Catalog/Api/Data/ProductRender/FormattedPriceInfoInterface.php +++ b/app/code/Magento/Catalog/Api/Data/ProductRender/FormattedPriceInfoInterface.php @@ -15,7 +15,7 @@ * Consider currency, rounding and html * * @api - * @since 101.1.0 + * @since 102.0.0 */ interface FormattedPriceInfoInterface extends \Magento\Framework\Api\ExtensibleDataInterface { @@ -23,7 +23,7 @@ interface FormattedPriceInfoInterface extends \Magento\Framework\Api\ExtensibleD * Retrieve html with final price * * @return string - * @since 101.1.0 + * @since 102.0.0 */ public function getFinalPrice(); @@ -33,7 +33,7 @@ public function getFinalPrice(); * * @param string $finalPrice * @return void - * @since 101.1.0 + * @since 102.0.0 */ public function setFinalPrice($finalPrice); @@ -42,7 +42,7 @@ public function setFinalPrice($finalPrice); * E.g. for product with custom options is price with the most expensive custom option * * @return string - * @since 101.1.0 + * @since 102.0.0 */ public function getMaxPrice(); @@ -51,7 +51,7 @@ public function getMaxPrice(); * * @param string $maxPrice * @return void - * @since 101.1.0 + * @since 102.0.0 */ public function setMaxPrice($maxPrice); @@ -60,7 +60,7 @@ public function setMaxPrice($maxPrice); * The minimal price is for example, the lowest price of all variations for complex product * * @return string - * @since 101.1.0 + * @since 102.0.0 */ public function getMinimalPrice(); @@ -71,7 +71,7 @@ public function getMinimalPrice(); * * @param string $maxRegularPrice * @return void - * @since 101.1.0 + * @since 102.0.0 */ public function setMaxRegularPrice($maxRegularPrice); @@ -79,7 +79,7 @@ public function setMaxRegularPrice($maxRegularPrice); * Retrieve max regular price * * @return string - * @since 101.1.0 + * @since 102.0.0 */ public function getMaxRegularPrice(); @@ -88,7 +88,7 @@ public function getMaxRegularPrice(); * * @param string $minRegularPrice * @return void - * @since 101.1.0 + * @since 102.0.0 */ public function setMinimalRegularPrice($minRegularPrice); @@ -96,7 +96,7 @@ public function setMinimalRegularPrice($minRegularPrice); * Retrieve minimal regular price * * @return string - * @since 101.1.0 + * @since 102.0.0 */ public function getMinimalRegularPrice(); @@ -107,7 +107,7 @@ public function getMinimalRegularPrice(); * * @param string $specialPrice * @return void - * @since 101.1.0 + * @since 102.0.0 */ public function setSpecialPrice($specialPrice); @@ -115,7 +115,7 @@ public function setSpecialPrice($specialPrice); * Retrieve special price * * @return string - * @since 101.1.0 + * @since 102.0.0 */ public function getSpecialPrice(); @@ -124,7 +124,7 @@ public function getSpecialPrice(); * * @param string $minimalPrice * @return void - * @since 101.1.0 + * @since 102.0.0 */ public function setMinimalPrice($minimalPrice); @@ -133,7 +133,7 @@ public function setMinimalPrice($minimalPrice); * Usually this price is corresponding to price in admin panel of product * * @return string - * @since 101.1.0 + * @since 102.0.0 */ public function getRegularPrice(); @@ -142,7 +142,7 @@ public function getRegularPrice(); * * @param string $regularPrice * @return void - * @since 101.1.0 + * @since 102.0.0 */ public function setRegularPrice($regularPrice); @@ -150,7 +150,7 @@ public function setRegularPrice($regularPrice); * Retrieve existing extension attributes object or create a new one. * * @return \Magento\Catalog\Api\Data\ProductRender\FormattedPriceInfoExtensionInterface|null - * @since 101.1.0 + * @since 102.0.0 */ public function getExtensionAttributes(); @@ -159,7 +159,7 @@ public function getExtensionAttributes(); * * @param \Magento\Catalog\Api\Data\ProductRender\FormattedPriceInfoExtensionInterface $extensionAttributes * @return $this - * @since 101.1.0 + * @since 102.0.0 */ public function setExtensionAttributes( \Magento\Catalog\Api\Data\ProductRender\FormattedPriceInfoExtensionInterface $extensionAttributes diff --git a/app/code/Magento/Catalog/Api/Data/ProductRender/ImageInterface.php b/app/code/Magento/Catalog/Api/Data/ProductRender/ImageInterface.php index 45b070d2706dc..49789e5ce9ed7 100644 --- a/app/code/Magento/Catalog/Api/Data/ProductRender/ImageInterface.php +++ b/app/code/Magento/Catalog/Api/Data/ProductRender/ImageInterface.php @@ -14,7 +14,7 @@ * Represents physical characteristics of image, that can be used in product listing or product view * * @api - * @since 101.1.0 + * @since 102.0.0 */ interface ImageInterface extends ExtensibleDataInterface { @@ -24,7 +24,7 @@ interface ImageInterface extends ExtensibleDataInterface * * @param string $url * @return void - * @since 101.1.0 + * @since 102.0.0 */ public function setUrl($url); @@ -32,7 +32,7 @@ public function setUrl($url); * Retrieve image url * * @return string - * @since 101.1.0 + * @since 102.0.0 */ public function getUrl(); @@ -43,7 +43,7 @@ public function getUrl(); * What size should this image have, etc... * * @return string - * @since 101.1.0 + * @since 102.0.0 */ public function getCode(); @@ -52,7 +52,7 @@ public function getCode(); * * @param string $code * @return void - * @since 101.1.0 + * @since 102.0.0 */ public function setCode($code); @@ -61,7 +61,7 @@ public function setCode($code); * * @param string $height * @return void - * @since 101.1.0 + * @since 102.0.0 */ public function setHeight($height); @@ -69,7 +69,7 @@ public function setHeight($height); * Retrieve image height * * @return float - * @since 101.1.0 + * @since 102.0.0 */ public function getHeight(); @@ -77,7 +77,7 @@ public function getHeight(); * Set image width in px * * @return float - * @since 101.1.0 + * @since 102.0.0 */ public function getWidth(); @@ -86,7 +86,7 @@ public function getWidth(); * * @param string $width * @return void - * @since 101.1.0 + * @since 102.0.0 */ public function setWidth($width); @@ -96,7 +96,7 @@ public function setWidth($width); * Image label is short description of this image * * @return string - * @since 101.1.0 + * @since 102.0.0 */ public function getLabel(); @@ -105,7 +105,7 @@ public function getLabel(); * * @param string $label * @return void - * @since 101.1.0 + * @since 102.0.0 */ public function setLabel($label); @@ -115,7 +115,7 @@ public function setLabel($label); * This width is image dimension, which represents the width, that can be used for performance improvements * * @return float - * @since 101.1.0 + * @since 102.0.0 */ public function getResizedWidth(); @@ -124,7 +124,7 @@ public function getResizedWidth(); * * @param string $width * @return void - * @since 101.1.0 + * @since 102.0.0 */ public function setResizedWidth($width); @@ -133,7 +133,7 @@ public function setResizedWidth($width); * * @param string $height * @return void - * @since 101.1.0 + * @since 102.0.0 */ public function setResizedHeight($height); @@ -141,7 +141,7 @@ public function setResizedHeight($height); * Retrieve resize height * * @return float - * @since 101.1.0 + * @since 102.0.0 */ public function getResizedHeight(); @@ -149,7 +149,7 @@ public function getResizedHeight(); * Retrieve existing extension attributes object or create a new one. * * @return \Magento\Catalog\Api\Data\ProductRender\ImageExtensionInterface|null - * @since 101.1.0 + * @since 102.0.0 */ public function getExtensionAttributes(); @@ -158,7 +158,7 @@ public function getExtensionAttributes(); * * @param \Magento\Catalog\Api\Data\ProductRender\ImageExtensionInterface $extensionAttributes * @return $this - * @since 101.1.0 + * @since 102.0.0 */ public function setExtensionAttributes( \Magento\Catalog\Api\Data\ProductRender\ImageExtensionInterface $extensionAttributes diff --git a/app/code/Magento/Catalog/Api/Data/ProductRender/PriceInfoInterface.php b/app/code/Magento/Catalog/Api/Data/ProductRender/PriceInfoInterface.php index 9768b3c08c8ab..0e9b1c53fcd14 100644 --- a/app/code/Magento/Catalog/Api/Data/ProductRender/PriceInfoInterface.php +++ b/app/code/Magento/Catalog/Api/Data/ProductRender/PriceInfoInterface.php @@ -10,7 +10,7 @@ * Price interface. * * @api - * @since 101.1.0 + * @since 102.0.0 */ interface PriceInfoInterface extends \Magento\Framework\Api\ExtensibleDataInterface { @@ -18,7 +18,7 @@ interface PriceInfoInterface extends \Magento\Framework\Api\ExtensibleDataInterf * Retrieve final price * * @return float - * @since 101.1.0 + * @since 102.0.0 */ public function getFinalPrice(); @@ -29,7 +29,7 @@ public function getFinalPrice(); * * @param float $finalPrice * @return void - * @since 101.1.0 + * @since 102.0.0 */ public function setFinalPrice($finalPrice); @@ -39,7 +39,7 @@ public function setFinalPrice($finalPrice); * E.g. for product with custom options is price with the most expensive custom option * * @return float - * @since 101.1.0 + * @since 102.0.0 */ public function getMaxPrice(); @@ -48,7 +48,7 @@ public function getMaxPrice(); * * @param float $maxPrice * @return void - * @since 101.1.0 + * @since 102.0.0 */ public function setMaxPrice($maxPrice); @@ -60,7 +60,7 @@ public function setMaxPrice($maxPrice); * * @param float $maxRegularPrice * @return void - * @since 101.1.0 + * @since 102.0.0 */ public function setMaxRegularPrice($maxRegularPrice); @@ -68,7 +68,7 @@ public function setMaxRegularPrice($maxRegularPrice); * Retrieve max regular price * * @return float - * @since 101.1.0 + * @since 102.0.0 */ public function getMaxRegularPrice(); @@ -77,7 +77,7 @@ public function getMaxRegularPrice(); * * @param float $minRegularPrice * @return void - * @since 101.1.0 + * @since 102.0.0 */ public function setMinimalRegularPrice($minRegularPrice); @@ -85,7 +85,7 @@ public function setMinimalRegularPrice($minRegularPrice); * Retrieve minimal regular price * * @return float - * @since 101.1.0 + * @since 102.0.0 */ public function getMinimalRegularPrice(); @@ -96,7 +96,7 @@ public function getMinimalRegularPrice(); * * @param float $specialPrice * @return void - * @since 101.1.0 + * @since 102.0.0 */ public function setSpecialPrice($specialPrice); @@ -104,7 +104,7 @@ public function setSpecialPrice($specialPrice); * Retrieve special price * * @return float - * @since 101.1.0 + * @since 102.0.0 */ public function getSpecialPrice(); @@ -112,7 +112,7 @@ public function getSpecialPrice(); * Retrieve minimal price * * @return float - * @since 101.1.0 + * @since 102.0.0 */ public function getMinimalPrice(); @@ -121,7 +121,7 @@ public function getMinimalPrice(); * * @param float $minimalPrice * @return void - * @since 101.1.0 + * @since 102.0.0 */ public function setMinimalPrice($minimalPrice); @@ -129,7 +129,7 @@ public function setMinimalPrice($minimalPrice); * Retrieve regular price * * @return float - * @since 101.1.0 + * @since 102.0.0 */ public function getRegularPrice(); @@ -140,7 +140,7 @@ public function getRegularPrice(); * * @param float $regularPrice * @return void - * @since 101.1.0 + * @since 102.0.0 */ public function setRegularPrice($regularPrice); @@ -148,7 +148,7 @@ public function setRegularPrice($regularPrice); * Retrieve dto with formatted prices * * @return \Magento\Catalog\Api\Data\ProductRender\FormattedPriceInfoInterface - * @since 101.1.0 + * @since 102.0.0 */ public function getFormattedPrices(); @@ -157,7 +157,7 @@ public function getFormattedPrices(); * * @param FormattedPriceInfoInterface $formattedPriceInfo * @return void - * @since 101.1.0 + * @since 102.0.0 */ public function setFormattedPrices(FormattedPriceInfoInterface $formattedPriceInfo); @@ -165,7 +165,7 @@ public function setFormattedPrices(FormattedPriceInfoInterface $formattedPriceIn * Retrieve existing extension attributes object or create a new one. * * @return \Magento\Catalog\Api\Data\ProductRender\PriceInfoExtensionInterface|null - * @since 101.1.0 + * @since 102.0.0 */ public function getExtensionAttributes(); @@ -174,7 +174,7 @@ public function getExtensionAttributes(); * * @param \Magento\Catalog\Api\Data\ProductRender\PriceInfoExtensionInterface $extensionAttributes * @return $this - * @since 101.1.0 + * @since 102.0.0 */ public function setExtensionAttributes( \Magento\Catalog\Api\Data\ProductRender\PriceInfoExtensionInterface $extensionAttributes diff --git a/app/code/Magento/Catalog/Api/Data/ProductRenderInterface.php b/app/code/Magento/Catalog/Api/Data/ProductRenderInterface.php index 166a1aba76b61..e1bd1a7899b67 100644 --- a/app/code/Magento/Catalog/Api/Data/ProductRenderInterface.php +++ b/app/code/Magento/Catalog/Api/Data/ProductRenderInterface.php @@ -15,7 +15,7 @@ * This information is put into part as Add To Cart or Add to Compare Data or Price Data * * @api - * @since 101.1.0 + * @since 102.0.0 */ interface ProductRenderInterface extends ExtensibleDataInterface { @@ -23,7 +23,7 @@ interface ProductRenderInterface extends ExtensibleDataInterface * Provide information needed for render "Add To Cart" button on front * * @return \Magento\Catalog\Api\Data\ProductRender\ButtonInterface - * @since 101.1.0 + * @since 102.0.0 */ public function getAddToCartButton(); @@ -32,7 +32,7 @@ public function getAddToCartButton(); * * @param ButtonInterface $cartAddToCartButton * @return void - * @since 101.1.0 + * @since 102.0.0 */ public function setAddToCartButton(ButtonInterface $cartAddToCartButton); @@ -40,7 +40,7 @@ public function setAddToCartButton(ButtonInterface $cartAddToCartButton); * Provide information needed for render "Add To Compare" button on front * * @return \Magento\Catalog\Api\Data\ProductRender\ButtonInterface - * @since 101.1.0 + * @since 102.0.0 */ public function getAddToCompareButton(); @@ -49,7 +49,7 @@ public function getAddToCompareButton(); * * @param ButtonInterface $compareButton * @return string - * @since 101.1.0 + * @since 102.0.0 */ public function setAddToCompareButton(ButtonInterface $compareButton); @@ -59,7 +59,7 @@ public function setAddToCompareButton(ButtonInterface $compareButton); * Prices are represented in raw format and in current currency * * @return \Magento\Catalog\Api\Data\ProductRender\PriceInfoInterface - * @since 101.1.0 + * @since 102.0.0 */ public function getPriceInfo(); @@ -68,7 +68,7 @@ public function getPriceInfo(); * * @param \Magento\Catalog\Api\Data\ProductRender\PriceInfoInterface $priceInfo * @return void - * @since 101.1.0 + * @since 102.0.0 */ public function setPriceInfo(PriceInfoInterface $priceInfo); @@ -78,7 +78,7 @@ public function setPriceInfo(PriceInfoInterface $priceInfo); * Images can be separated by image codes * * @return \Magento\Catalog\Api\Data\ProductRender\ImageInterface[] - * @since 101.1.0 + * @since 102.0.0 */ public function getImages(); @@ -87,7 +87,7 @@ public function getImages(); * * @param \Magento\Catalog\Api\Data\ProductRender\ImageInterface[] $images * @return void - * @since 101.1.0 + * @since 102.0.0 */ public function setImages(array $images); @@ -95,7 +95,7 @@ public function setImages(array $images); * Provide product url * * @return string - * @since 101.1.0 + * @since 102.0.0 */ public function getUrl(); @@ -104,7 +104,7 @@ public function getUrl(); * * @param string $url * @return void - * @since 101.1.0 + * @since 102.0.0 */ public function setUrl($url); @@ -112,7 +112,7 @@ public function setUrl($url); * Provide product identifier * * @return int - * @since 101.1.0 + * @since 102.0.0 */ public function getId(); @@ -121,7 +121,7 @@ public function getId(); * * @param int $id * @return void - * @since 101.1.0 + * @since 102.0.0 */ public function setId($id); @@ -129,7 +129,7 @@ public function setId($id); * Provide product name * * @return string - * @since 101.1.0 + * @since 102.0.0 */ public function getName(); @@ -138,7 +138,7 @@ public function getName(); * * @param string $name * @return void - * @since 101.1.0 + * @since 102.0.0 */ public function setName($name); @@ -146,7 +146,7 @@ public function setName($name); * Provide product type. Such as bundle, grouped, simple, etc... * * @return string - * @since 101.1.0 + * @since 102.0.0 */ public function getType(); @@ -155,7 +155,7 @@ public function getType(); * * @param string $productType * @return void - * @since 101.1.0 + * @since 102.0.0 */ public function setType($productType); @@ -163,7 +163,7 @@ public function setType($productType); * Provide information about product saleability (In Stock) * * @return string - * @since 101.1.0 + * @since 102.0.0 */ public function getIsSalable(); @@ -175,7 +175,7 @@ public function getIsSalable(); * * @param string $isSalable * @return void - * @since 101.1.0 + * @since 102.0.0 */ public function setIsSalable($isSalable); @@ -186,7 +186,7 @@ public function setIsSalable($isSalable); * This setting affect store scope attributes * * @return int - * @since 101.1.0 + * @since 102.0.0 */ public function getStoreId(); @@ -195,7 +195,7 @@ public function getStoreId(); * * @param int $storeId * @return void - * @since 101.1.0 + * @since 102.0.0 */ public function setStoreId($storeId); @@ -205,7 +205,7 @@ public function setStoreId($storeId); * This setting affect formatted prices* * * @return string - * @since 101.1.0 + * @since 102.0.0 */ public function getCurrencyCode(); @@ -214,7 +214,7 @@ public function getCurrencyCode(); * * @param string $currencyCode * @return void - * @since 101.1.0 + * @since 102.0.0 */ public function setCurrencyCode($currencyCode); @@ -222,7 +222,7 @@ public function setCurrencyCode($currencyCode); * Retrieve existing extension attributes object or create a new one. * * @return \Magento\Catalog\Api\Data\ProductRenderExtensionInterface - * @since 101.1.0 + * @since 102.0.0 */ public function getExtensionAttributes(); @@ -231,7 +231,7 @@ public function getExtensionAttributes(); * * @param \Magento\Catalog\Api\Data\ProductRenderExtensionInterface $extensionAttributes * @return $this - * @since 101.1.0 + * @since 102.0.0 */ public function setExtensionAttributes( \Magento\Catalog\Api\Data\ProductRenderExtensionInterface $extensionAttributes diff --git a/app/code/Magento/Catalog/Api/Data/SpecialPriceInterface.php b/app/code/Magento/Catalog/Api/Data/SpecialPriceInterface.php index 62028ed788dd5..ec4feb5076238 100644 --- a/app/code/Magento/Catalog/Api/Data/SpecialPriceInterface.php +++ b/app/code/Magento/Catalog/Api/Data/SpecialPriceInterface.php @@ -9,7 +9,7 @@ /** * Product Special Price Interface is used to encapsulate data that can be processed by efficient price API. * @api - * @since 101.1.0 + * @since 102.0.0 */ interface SpecialPriceInterface extends \Magento\Framework\Api\ExtensibleDataInterface { @@ -28,7 +28,7 @@ interface SpecialPriceInterface extends \Magento\Framework\Api\ExtensibleDataInt * * @param float $price * @return $this - * @since 101.1.0 + * @since 102.0.0 */ public function setPrice($price); @@ -36,7 +36,7 @@ public function setPrice($price); * Get product special price value. * * @return float - * @since 101.1.0 + * @since 102.0.0 */ public function getPrice(); @@ -45,7 +45,7 @@ public function getPrice(); * * @param int $storeId * @return $this - * @since 101.1.0 + * @since 102.0.0 */ public function setStoreId($storeId); @@ -53,7 +53,7 @@ public function setStoreId($storeId); * Get ID of store, that contains special price value. * * @return int - * @since 101.1.0 + * @since 102.0.0 */ public function getStoreId(); @@ -62,7 +62,7 @@ public function getStoreId(); * * @param string $sku * @return $this - * @since 101.1.0 + * @since 102.0.0 */ public function setSku($sku); @@ -70,7 +70,7 @@ public function setSku($sku); * Get SKU of product, that contains special price value. * * @return string - * @since 101.1.0 + * @since 102.0.0 */ public function getSku(); @@ -79,7 +79,7 @@ public function getSku(); * * @param string $datetime * @return $this - * @since 101.1.0 + * @since 102.0.0 */ public function setPriceFrom($datetime); @@ -87,7 +87,7 @@ public function setPriceFrom($datetime); * Get start date for special price in Y-m-d H:i:s format. * * @return string - * @since 101.1.0 + * @since 102.0.0 */ public function getPriceFrom(); @@ -96,7 +96,7 @@ public function getPriceFrom(); * * @param string $datetime * @return $this - * @since 101.1.0 + * @since 102.0.0 */ public function setPriceTo($datetime); @@ -104,7 +104,7 @@ public function setPriceTo($datetime); * Get end date for special price in Y-m-d H:i:s format. * * @return string - * @since 101.1.0 + * @since 102.0.0 */ public function getPriceTo(); @@ -113,7 +113,7 @@ public function getPriceTo(); * If extension attributes do not exist return null. * * @return \Magento\Catalog\Api\Data\SpecialPriceExtensionInterface|null - * @since 101.1.0 + * @since 102.0.0 */ public function getExtensionAttributes(); @@ -122,7 +122,7 @@ public function getExtensionAttributes(); * * @param \Magento\Catalog\Api\Data\SpecialPriceExtensionInterface $extensionAttributes * @return $this - * @since 101.1.0 + * @since 102.0.0 */ public function setExtensionAttributes( \Magento\Catalog\Api\Data\SpecialPriceExtensionInterface $extensionAttributes diff --git a/app/code/Magento/Catalog/Api/Data/TierPriceInterface.php b/app/code/Magento/Catalog/Api/Data/TierPriceInterface.php index eaa1d22726d7c..dae43722bf42c 100644 --- a/app/code/Magento/Catalog/Api/Data/TierPriceInterface.php +++ b/app/code/Magento/Catalog/Api/Data/TierPriceInterface.php @@ -9,7 +9,7 @@ /** * Tier price interface. * @api - * @since 101.1.0 + * @since 102.0.0 */ interface TierPriceInterface extends \Magento\Framework\Api\ExtensibleDataInterface { @@ -31,7 +31,7 @@ interface TierPriceInterface extends \Magento\Framework\Api\ExtensibleDataInterf * * @param float $price * @return $this - * @since 101.1.0 + * @since 102.0.0 */ public function setPrice($price); @@ -39,7 +39,7 @@ public function setPrice($price); * Get tier price. * * @return float - * @since 101.1.0 + * @since 102.0.0 */ public function getPrice(); @@ -48,7 +48,7 @@ public function getPrice(); * * @param string $type * @return $this - * @since 101.1.0 + * @since 102.0.0 */ public function setPriceType($type); @@ -56,7 +56,7 @@ public function setPriceType($type); * Get tier price type. * * @return string - * @since 101.1.0 + * @since 102.0.0 */ public function getPriceType(); @@ -65,7 +65,7 @@ public function getPriceType(); * * @param int $websiteId * @return $this - * @since 101.1.0 + * @since 102.0.0 */ public function setWebsiteId($websiteId); @@ -73,7 +73,7 @@ public function setWebsiteId($websiteId); * Get website id. * * @return int - * @since 101.1.0 + * @since 102.0.0 */ public function getWebsiteId(); @@ -82,7 +82,7 @@ public function getWebsiteId(); * * @param string $sku * @return $this - * @since 101.1.0 + * @since 102.0.0 */ public function setSku($sku); @@ -90,7 +90,7 @@ public function setSku($sku); * Get SKU. * * @return string - * @since 101.1.0 + * @since 102.0.0 */ public function getSku(); @@ -99,7 +99,7 @@ public function getSku(); * * @param string $group * @return $this - * @since 101.1.0 + * @since 102.0.0 */ public function setCustomerGroup($group); @@ -107,7 +107,7 @@ public function setCustomerGroup($group); * Get customer group. * * @return string - * @since 101.1.0 + * @since 102.0.0 */ public function getCustomerGroup(); @@ -116,7 +116,7 @@ public function getCustomerGroup(); * * @param float $quantity * @return $this - * @since 101.1.0 + * @since 102.0.0 */ public function setQuantity($quantity); @@ -124,7 +124,7 @@ public function setQuantity($quantity); * Get quantity. * * @return float - * @since 101.1.0 + * @since 102.0.0 */ public function getQuantity(); @@ -132,7 +132,7 @@ public function getQuantity(); * Retrieve existing extension attributes object or create a new one. * * @return \Magento\Catalog\Api\Data\TierPriceExtensionInterface|null - * @since 101.1.0 + * @since 102.0.0 */ public function getExtensionAttributes(); @@ -141,7 +141,7 @@ public function getExtensionAttributes(); * * @param \Magento\Catalog\Api\Data\TierPriceExtensionInterface $extensionAttributes * @return $this - * @since 101.1.0 + * @since 102.0.0 */ public function setExtensionAttributes( \Magento\Catalog\Api\Data\TierPriceExtensionInterface $extensionAttributes diff --git a/app/code/Magento/Catalog/Api/ProductRenderListInterface.php b/app/code/Magento/Catalog/Api/ProductRenderListInterface.php index 954acd35a07db..ddd0f1406f68e 100644 --- a/app/code/Magento/Catalog/Api/ProductRenderListInterface.php +++ b/app/code/Magento/Catalog/Api/ProductRenderListInterface.php @@ -11,7 +11,7 @@ * Interface which provides product renders information for products. * * @api - * @since 101.1.0 + * @since 102.0.0 */ interface ProductRenderListInterface { @@ -26,7 +26,7 @@ interface ProductRenderListInterface * @param int $storeId * @param string $currencyCode * @return \Magento\Catalog\Api\Data\ProductRenderSearchResultsInterface - * @since 101.1.0 + * @since 102.0.0 */ public function getList(\Magento\Framework\Api\SearchCriteriaInterface $searchCriteria, $storeId, $currencyCode); } diff --git a/app/code/Magento/Catalog/Api/ProductTierPriceManagementInterface.php b/app/code/Magento/Catalog/Api/ProductTierPriceManagementInterface.php index a6c3e975bfd79..dcb17a6f467f8 100644 --- a/app/code/Magento/Catalog/Api/ProductTierPriceManagementInterface.php +++ b/app/code/Magento/Catalog/Api/ProductTierPriceManagementInterface.php @@ -8,7 +8,7 @@ /** * @api - * @deprecated 101.1.0 use ScopedProductTierPriceManagementInterface instead + * @deprecated 102.0.0 use ScopedProductTierPriceManagementInterface instead * @since 100.0.2 */ interface ProductTierPriceManagementInterface diff --git a/app/code/Magento/Catalog/Api/ScopedProductTierPriceManagementInterface.php b/app/code/Magento/Catalog/Api/ScopedProductTierPriceManagementInterface.php index 1a3d05de5bcd1..2b005bc685b23 100644 --- a/app/code/Magento/Catalog/Api/ScopedProductTierPriceManagementInterface.php +++ b/app/code/Magento/Catalog/Api/ScopedProductTierPriceManagementInterface.php @@ -8,7 +8,7 @@ /** * @api - * @since 101.1.0 + * @since 102.0.0 */ interface ScopedProductTierPriceManagementInterface { @@ -20,7 +20,7 @@ interface ScopedProductTierPriceManagementInterface * @return boolean * @throws \Magento\Framework\Exception\NoSuchEntityException * @throws \Magento\Framework\Exception\CouldNotSaveException - * @since 101.1.0 + * @since 102.0.0 */ public function add($sku, \Magento\Catalog\Api\Data\ProductTierPriceInterface $tierPrice); @@ -32,7 +32,7 @@ public function add($sku, \Magento\Catalog\Api\Data\ProductTierPriceInterface $t * @return boolean * @throws \Magento\Framework\Exception\NoSuchEntityException * @throws \Magento\Framework\Exception\CouldNotSaveException - * @since 101.1.0 + * @since 102.0.0 */ public function remove($sku, \Magento\Catalog\Api\Data\ProductTierPriceInterface $tierPrice); @@ -43,7 +43,7 @@ public function remove($sku, \Magento\Catalog\Api\Data\ProductTierPriceInterface * @param string $customerGroupId 'all' can be used to specify 'ALL GROUPS' * @return \Magento\Catalog\Api\Data\ProductTierPriceInterface[] * @throws \Magento\Framework\Exception\NoSuchEntityException - * @since 101.1.0 + * @since 102.0.0 */ public function getList($sku, $customerGroupId); } diff --git a/app/code/Magento/Catalog/Api/SpecialPriceInterface.php b/app/code/Magento/Catalog/Api/SpecialPriceInterface.php index 86dca59004132..543eab2263cbe 100644 --- a/app/code/Magento/Catalog/Api/SpecialPriceInterface.php +++ b/app/code/Magento/Catalog/Api/SpecialPriceInterface.php @@ -9,7 +9,7 @@ /** * Special prices resource model. * @api - * @since 101.1.0 + * @since 102.0.0 */ interface SpecialPriceInterface { @@ -30,6 +30,7 @@ interface SpecialPriceInterface * 'price_to' => (string) Special price to date value in UTC. * ] * @since 101.1.0 + * @since 102.0.0 */ public function get(array $skus); @@ -47,7 +48,7 @@ public function get(array $skus); * ]; * @return bool * @throws \Magento\Framework\Exception\CouldNotSaveException Thrown if error occurred during price save. - * @since 101.1.0 + * @since 102.0.0 */ public function update(array $prices); @@ -65,7 +66,7 @@ public function update(array $prices); * ]; * @return bool * @throws \Magento\Framework\Exception\CouldNotDeleteException Thrown if error occurred during price delete. - * @since 101.1.0 + * @since 102.0.0 */ public function delete(array $prices); } diff --git a/app/code/Magento/Catalog/Api/SpecialPriceStorageInterface.php b/app/code/Magento/Catalog/Api/SpecialPriceStorageInterface.php index 2442af103a4e9..6c2d89b51278c 100644 --- a/app/code/Magento/Catalog/Api/SpecialPriceStorageInterface.php +++ b/app/code/Magento/Catalog/Api/SpecialPriceStorageInterface.php @@ -9,7 +9,7 @@ /** * Special price storage presents efficient price API and is used to retrieve, update or delete special prices. * @api - * @since 101.1.0 + * @since 102.0.0 */ interface SpecialPriceStorageInterface { @@ -19,7 +19,7 @@ interface SpecialPriceStorageInterface * @param string[] $skus * @return \Magento\Catalog\Api\Data\SpecialPriceInterface[] * @throws \Magento\Framework\Exception\NoSuchEntityException - * @since 101.1.0 + * @since 102.0.0 */ public function get(array $skus); @@ -33,7 +33,7 @@ public function get(array $skus); * @param \Magento\Catalog\Api\Data\SpecialPriceInterface[] $prices * @return \Magento\Catalog\Api\Data\PriceUpdateResultInterface[] * @throws \Magento\Framework\Exception\CouldNotSaveException - * @since 101.1.0 + * @since 102.0.0 */ public function update(array $prices); @@ -47,7 +47,7 @@ public function update(array $prices); * @param \Magento\Catalog\Api\Data\SpecialPriceInterface[] $prices * @return \Magento\Catalog\Api\Data\PriceUpdateResultInterface[] * @throws \Magento\Framework\Exception\CouldNotDeleteException - * @since 101.1.0 + * @since 102.0.0 */ public function delete(array $prices); } diff --git a/app/code/Magento/Catalog/Api/TierPriceStorageInterface.php b/app/code/Magento/Catalog/Api/TierPriceStorageInterface.php index 584daa9864588..b9102fcfc075c 100644 --- a/app/code/Magento/Catalog/Api/TierPriceStorageInterface.php +++ b/app/code/Magento/Catalog/Api/TierPriceStorageInterface.php @@ -9,7 +9,7 @@ /** * Tier prices storage. * @api - * @since 101.1.0 + * @since 102.0.0 */ interface TierPriceStorageInterface { @@ -19,7 +19,7 @@ interface TierPriceStorageInterface * @param string[] $skus * @return \Magento\Catalog\Api\Data\TierPriceInterface[] * @throws \Magento\Framework\Exception\NoSuchEntityException - * @since 101.1.0 + * @since 102.0.0 */ public function get(array $skus); @@ -33,7 +33,7 @@ public function get(array $skus); * * @param \Magento\Catalog\Api\Data\TierPriceInterface[] $prices * @return \Magento\Catalog\Api\Data\PriceUpdateResultInterface[] - * @since 101.1.0 + * @since 102.0.0 */ public function update(array $prices); @@ -47,7 +47,7 @@ public function update(array $prices); * * @param \Magento\Catalog\Api\Data\TierPriceInterface[] $prices * @return \Magento\Catalog\Api\Data\PriceUpdateResultInterface[] - * @since 101.1.0 + * @since 102.0.0 */ public function replace(array $prices); @@ -61,7 +61,7 @@ public function replace(array $prices); * * @param \Magento\Catalog\Api\Data\TierPriceInterface[] $prices * @return \Magento\Catalog\Api\Data\PriceUpdateResultInterface[] - * @since 101.1.0 + * @since 102.0.0 */ public function delete(array $prices); } diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit.php b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit.php index e6afc41ebebac..e90b0fbc88e94 100644 --- a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit.php +++ b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit.php @@ -288,7 +288,7 @@ public function getDuplicateUrl() /** * Retrieve product header * - * @deprecated 101.1.0 + * @deprecated 102.0.0 * @return string */ public function getHeader() diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Ajax/Serializer.php b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Ajax/Serializer.php index 3d131a6e08810..2962e63313cdc 100644 --- a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Ajax/Serializer.php +++ b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Ajax/Serializer.php @@ -10,7 +10,7 @@ /** * Class Serializer * @package Magento\Catalog\Block\Adminhtml\Product\Edit\Tab\Ajax - * @deprecated 101.1.0 + * @deprecated 102.0.0 */ class Serializer extends \Magento\Framework\View\Element\Template { @@ -47,7 +47,7 @@ public function _construct() /** * @return string - * @deprecated 101.1.0 + * @deprecated 102.0.0 */ public function getProductsJSON() { diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Crosssell.php b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Crosssell.php index e5ce59c550af1..40e7136da5bf6 100644 --- a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Crosssell.php +++ b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Crosssell.php @@ -15,7 +15,7 @@ * @api * @SuppressWarnings(PHPMD.CouplingBetweenObjects) * @since 100.0.2 - * @deprecated Not used since cross-sell products grid moved to UI components. + * @deprecated 103.0.1 Not used since cross-sell products grid moved to UI components. * @see \Magento\Catalog\Ui\DataProvider\Product\Related\CrossSellDataProvider */ class Crosssell extends Extended diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Related.php b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Related.php index 23b927598e8e7..c73ffe5764dfb 100644 --- a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Related.php +++ b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Related.php @@ -13,7 +13,7 @@ * * @api * @since 100.0.2 - * @deprecated Not used since related products grid moved to UI components. + * @deprecated 103.0.1 Not used since related products grid moved to UI components. * @see \Magento\Catalog\Ui\DataProvider\Product\Related\RelatedDataProvider */ class Related extends Extended diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Upsell.php b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Upsell.php index 41ad72ca39e53..d196f82f8b48d 100644 --- a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Upsell.php +++ b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Upsell.php @@ -10,7 +10,7 @@ * * @api * @since 100.0.2 - * @deprecated Not used since upsell products grid moved to UI components. + * @deprecated 103.0.1 Not used since upsell products grid moved to UI components. * @see \Magento\Catalog\Ui\DataProvider\Product\Related\CrossSellDataProvider */ class Upsell extends \Magento\Backend\Block\Widget\Grid\Extended diff --git a/app/code/Magento/Catalog/Block/FrontendStorageManager.php b/app/code/Magento/Catalog/Block/FrontendStorageManager.php index 0c826b95cbb49..112058baf4e05 100644 --- a/app/code/Magento/Catalog/Block/FrontendStorageManager.php +++ b/app/code/Magento/Catalog/Block/FrontendStorageManager.php @@ -15,7 +15,7 @@ * Provide information to frontend storage manager * * @api - * @since 101.1.0 + * @since 102.0.0 */ class FrontendStorageManager extends \Magento\Framework\View\Element\Template { @@ -51,7 +51,7 @@ public function __construct( * in json format * * @return string - * @since 101.1.0 + * @since 102.0.0 */ public function getConfigurationJson() { diff --git a/app/code/Magento/Catalog/Block/Product/AbstractProduct.php b/app/code/Magento/Catalog/Block/Product/AbstractProduct.php index c8da0f70f73b6..26af19fb85bcb 100644 --- a/app/code/Magento/Catalog/Block/Product/AbstractProduct.php +++ b/app/code/Magento/Catalog/Block/Product/AbstractProduct.php @@ -8,7 +8,7 @@ /** * Class AbstractProduct * @api - * @deprecated 101.1.0 + * @deprecated 102.0.0 * @SuppressWarnings(PHPMD.NumberOfChildren) * @SuppressWarnings(PHPMD.CouplingBetweenObjects) * @since 100.0.2 @@ -99,7 +99,7 @@ class AbstractProduct extends \Magento\Framework\View\Element\Template /** * @var ImageBuilder - * @since 101.1.0 + * @since 102.0.0 */ protected $imageBuilder; diff --git a/app/code/Magento/Catalog/Block/Product/Compare/ListCompare.php b/app/code/Magento/Catalog/Block/Product/Compare/ListCompare.php index 76f5dbd1bea88..772bc92e378f4 100644 --- a/app/code/Magento/Catalog/Block/Product/Compare/ListCompare.php +++ b/app/code/Magento/Catalog/Block/Product/Compare/ListCompare.php @@ -213,6 +213,7 @@ public function getProductAttributeValue($product, $attribute) * * @param \Magento\Catalog\Model\ResourceModel\Eav\Attribute $attribute * @return bool + * @since 102.0.6 */ public function hasAttributeValueForProducts($attribute) { diff --git a/app/code/Magento/Catalog/Block/Product/Context.php b/app/code/Magento/Catalog/Block/Product/Context.php index db18eb2bc8a7d..36a3214cab079 100644 --- a/app/code/Magento/Catalog/Block/Product/Context.php +++ b/app/code/Magento/Catalog/Block/Product/Context.php @@ -18,7 +18,7 @@ * As Magento moves from inheritance-based APIs all such classes will be deprecated together with * the classes they were introduced for. * - * @deprecated 101.1.0 + * @deprecated 102.0.0 * @SuppressWarnings(PHPMD) */ class Context extends \Magento\Framework\View\Element\Template\Context diff --git a/app/code/Magento/Catalog/Block/Product/Image.php b/app/code/Magento/Catalog/Block/Product/Image.php index 7a7f9c0affc7d..613dd67a99f7b 100644 --- a/app/code/Magento/Catalog/Block/Product/Image.php +++ b/app/code/Magento/Catalog/Block/Product/Image.php @@ -21,19 +21,19 @@ class Image extends \Magento\Framework\View\Element\Template { /** - * @deprecated Property isn't used + * @deprecated 102.0.5 Property isn't used * @var \Magento\Catalog\Helper\Image */ protected $imageHelper; /** - * @deprecated Property isn't used + * @deprecated 102.0.5 Property isn't used * @var \Magento\Catalog\Model\Product */ protected $product; /** - * @deprecated Property isn't used + * @deprecated 102.0.5 Property isn't used * @var array */ protected $attributes = []; diff --git a/app/code/Magento/Catalog/Block/Product/ImageBuilder.php b/app/code/Magento/Catalog/Block/Product/ImageBuilder.php index 06d4fb39109d8..702410a530ea4 100644 --- a/app/code/Magento/Catalog/Block/Product/ImageBuilder.php +++ b/app/code/Magento/Catalog/Block/Product/ImageBuilder.php @@ -11,7 +11,7 @@ use Magento\Catalog\Model\Product; /** - * @deprecated + * @deprecated 103.0.0 * @see ImageFactory */ class ImageBuilder diff --git a/app/code/Magento/Catalog/Block/Product/ListProduct.php b/app/code/Magento/Catalog/Block/Product/ListProduct.php index 144cb682e2d22..d8aa329456380 100644 --- a/app/code/Magento/Catalog/Block/Product/ListProduct.php +++ b/app/code/Magento/Catalog/Block/Product/ListProduct.php @@ -355,6 +355,7 @@ public function getIdentities() } foreach ($this->_getProductCollection() as $item) { + // phpcs:ignore Magento2.Performance.ForeachArrayMerge $identities = array_merge($identities, $item->getIdentities()); } @@ -369,7 +370,7 @@ public function getIdentities() */ public function getAddToCartPostParams(Product $product) { - $url = $this->getAddToCartUrl($product); + $url = $this->getAddToCartUrl($product, ['_escape' => false]); return [ 'action' => $url, 'data' => [ diff --git a/app/code/Magento/Catalog/Block/Product/ProductList/Toolbar.php b/app/code/Magento/Catalog/Block/Product/ProductList/Toolbar.php index c530ba4785ad9..e88922ec28e60 100644 --- a/app/code/Magento/Catalog/Block/Product/ProductList/Toolbar.php +++ b/app/code/Magento/Catalog/Block/Product/ProductList/Toolbar.php @@ -79,7 +79,7 @@ class Toolbar extends \Magento\Framework\View\Element\Template /** * @var bool $_paramsMemorizeAllowed - * @deprecated + * @deprecated 103.0.1 */ protected $_paramsMemorizeAllowed = true; @@ -99,7 +99,7 @@ class Toolbar extends \Magento\Framework\View\Element\Template * Catalog session * * @var \Magento\Catalog\Model\Session - * @deprecated + * @deprecated 103.0.1 */ protected $_catalogSession; @@ -188,7 +188,7 @@ public function __construct( * Disable list state params memorizing * * @return $this - * @deprecated + * @deprecated 103.0.1 */ public function disableParamsMemorizing() { @@ -202,7 +202,7 @@ public function disableParamsMemorizing() * @param string $param parameter name * @param mixed $value parameter value * @return $this - * @deprecated + * @deprecated 103.0.1 */ protected function _memorizeParam($param, $value) { diff --git a/app/code/Magento/Catalog/Block/Product/View.php b/app/code/Magento/Catalog/Block/Product/View.php index ed6278c2b585d..942f6961c6eb9 100644 --- a/app/code/Magento/Catalog/Block/Product/View.php +++ b/app/code/Magento/Catalog/Block/Product/View.php @@ -30,7 +30,7 @@ class View extends AbstractProduct implements \Magento\Framework\DataObject\Iden /** * @var \Magento\Framework\Pricing\PriceCurrencyInterface - * @deprecated 101.1.0 + * @deprecated 102.0.0 */ protected $priceCurrency; diff --git a/app/code/Magento/Catalog/Block/Product/View/AbstractView.php b/app/code/Magento/Catalog/Block/Product/View/AbstractView.php index ec16bc1d2334f..9c569725d98de 100644 --- a/app/code/Magento/Catalog/Block/Product/View/AbstractView.php +++ b/app/code/Magento/Catalog/Block/Product/View/AbstractView.php @@ -9,7 +9,7 @@ * Product view abstract block * * @api - * @deprecated 101.1.0 + * @deprecated 102.0.0 * @since 100.0.2 */ abstract class AbstractView extends \Magento\Catalog\Block\Product\AbstractProduct diff --git a/app/code/Magento/Catalog/Block/Product/View/Attributes.php b/app/code/Magento/Catalog/Block/Product/View/Attributes.php index 5b9777cbfd1e7..9fd840b264085 100644 --- a/app/code/Magento/Catalog/Block/Product/View/Attributes.php +++ b/app/code/Magento/Catalog/Block/Product/View/Attributes.php @@ -110,6 +110,7 @@ public function getAdditionalData(array $excludeAttr = []) * @param \Magento\Eav\Model\Entity\Attribute\AbstractAttribute $attribute * @param array $excludeAttr * @return bool + * @since 103.0.0 */ protected function isVisibleOnFrontend( \Magento\Eav\Model\Entity\Attribute\AbstractAttribute $attribute, diff --git a/app/code/Magento/Catalog/Block/Product/View/Details.php b/app/code/Magento/Catalog/Block/Product/View/Details.php index e76c5bf201334..92f1ca9456cac 100644 --- a/app/code/Magento/Catalog/Block/Product/View/Details.php +++ b/app/code/Magento/Catalog/Block/Product/View/Details.php @@ -14,6 +14,7 @@ * Holds a group of blocks to show as tabs. * * @api + * @since 103.0.1 */ class Details extends \Magento\Framework\View\Element\Template { @@ -25,6 +26,7 @@ class Details extends \Magento\Framework\View\Element\Template * @throws \Magento\Framework\Exception\LocalizedException * * @return array + * @since 103.0.1 */ public function getGroupSortedChildNames(string $groupName, string $callback): array { diff --git a/app/code/Magento/Catalog/Block/Product/View/Options/AbstractOptions.php b/app/code/Magento/Catalog/Block/Product/View/Options/AbstractOptions.php index 030b6e1d2204c..1dcbf60db15c3 100644 --- a/app/code/Magento/Catalog/Block/Product/View/Options/AbstractOptions.php +++ b/app/code/Magento/Catalog/Block/Product/View/Options/AbstractOptions.php @@ -112,6 +112,7 @@ public function getOption() * Retrieve formatted price * * @return string + * @since 102.0.6 */ public function getFormattedPrice() { @@ -131,7 +132,7 @@ public function getFormattedPrice() * * @return string * - * @deprecated + * @deprecated 102.0.6 * @see getFormattedPrice() */ public function getFormatedPrice() diff --git a/app/code/Magento/Catalog/Block/Ui/ProductViewCounter.php b/app/code/Magento/Catalog/Block/Ui/ProductViewCounter.php index dd2e23e67f3d7..4cbfb552511c8 100644 --- a/app/code/Magento/Catalog/Block/Ui/ProductViewCounter.php +++ b/app/code/Magento/Catalog/Block/Ui/ProductViewCounter.php @@ -24,7 +24,7 @@ * by customer on frontend and data to synchronize this tracks with backend * * @api - * @since 101.1.0 + * @since 102.0.0 */ class ProductViewCounter extends Template { @@ -108,7 +108,7 @@ public function __construct( * requests and will be flushed with full page cache * * @return string {JSON encoded data} - * @since 101.1.0 + * @since 102.0.0 * @throws \Magento\Framework\Exception\LocalizedException * @throws \Magento\Framework\Exception\NoSuchEntityException */ diff --git a/app/code/Magento/Catalog/Controller/Adminhtml/Product/Initialization/Helper.php b/app/code/Magento/Catalog/Controller/Adminhtml/Product/Initialization/Helper.php index f11d16755ef0d..e75c630097e69 100644 --- a/app/code/Magento/Catalog/Controller/Adminhtml/Product/Initialization/Helper.php +++ b/app/code/Magento/Catalog/Controller/Adminhtml/Product/Initialization/Helper.php @@ -370,7 +370,7 @@ private function overwriteValue($optionId, $option, $overwriteOptions) * Get link resolver instance * * @return LinkResolver - * @deprecated 101.0.0 + * @deprecated 102.0.0 */ private function getLinkResolver() { @@ -384,7 +384,7 @@ private function getLinkResolver() * Get DateTimeFilter instance * * @return \Magento\Framework\Stdlib\DateTime\Filter\DateTime - * @deprecated 101.0.0 + * @deprecated 102.0.0 */ private function getDateTimeFilter() { diff --git a/app/code/Magento/Catalog/Helper/Data.php b/app/code/Magento/Catalog/Helper/Data.php index 3e96763632830..3a55164aa33ef 100644 --- a/app/code/Magento/Catalog/Helper/Data.php +++ b/app/code/Magento/Catalog/Helper/Data.php @@ -451,7 +451,7 @@ public function isUsingStaticUrlsAllowed() * Check if the parsing of URL directives is allowed for the catalog * * @return bool - * @deprecated + * @deprecated 103.0.0 * @see \Magento\Catalog\Helper\Output::isDirectivesExists */ public function isUrlDirectivesParsingAllowed() diff --git a/app/code/Magento/Catalog/Helper/Image.php b/app/code/Magento/Catalog/Helper/Image.php index 9b8d0ad75a8c9..9092fabfc48b9 100644 --- a/app/code/Magento/Catalog/Helper/Image.php +++ b/app/code/Magento/Catalog/Helper/Image.php @@ -299,7 +299,7 @@ public function resize($width, $height = null) * * @param int $quality * @return $this - * @deprecated + * @deprecated 103.0.1 */ public function setQuality($quality) { @@ -448,7 +448,7 @@ public function placeholder($fileName) * @param null|string $placeholder * @return string * - * @deprecated 101.1.0 Returns only default placeholder. + * @deprecated 102.0.0 Returns only default placeholder. * Does not take into account custom placeholders set in Configuration. */ public function getPlaceholder($placeholder = null) diff --git a/app/code/Magento/Catalog/Model/AbstractModel.php b/app/code/Magento/Catalog/Model/AbstractModel.php index 78a49cd1e8b14..851055c1bf810 100644 --- a/app/code/Magento/Catalog/Model/AbstractModel.php +++ b/app/code/Magento/Catalog/Model/AbstractModel.php @@ -223,7 +223,7 @@ public function unsetData($key = null) * Get collection instance * * @return \Magento\Catalog\Model\ResourceModel\Collection\AbstractCollection - * @deprecated 101.1.0 because collections should be used directly via factory + * @deprecated 102.0.0 because collections should be used directly via factory */ public function getResourceCollection() { diff --git a/app/code/Magento/Catalog/Model/Attribute/Backend/Customlayoutupdate.php b/app/code/Magento/Catalog/Model/Attribute/Backend/Customlayoutupdate.php index a994446881189..a76ea8d0922eb 100644 --- a/app/code/Magento/Catalog/Model/Attribute/Backend/Customlayoutupdate.php +++ b/app/code/Magento/Catalog/Model/Attribute/Backend/Customlayoutupdate.php @@ -5,6 +5,10 @@ */ namespace Magento\Catalog\Model\Attribute\Backend; +use Magento\Framework\Config\Dom\ValidationException; +use Magento\Framework\DataObject; +use Magento\Framework\Exception\LocalizedException; +use Magento\Framework\View\Model\Layout\Update\Validator; use Magento\Framework\View\Model\Layout\Update\ValidatorFactory; use Magento\Eav\Model\Entity\Attribute\Exception; @@ -38,7 +42,7 @@ public function __construct(ValidatorFactory $layoutUpdateValidatorFactory) /** * Validate the custom layout update * - * @param \Magento\Framework\DataObject $object + * @param DataObject $object * @return bool * @throws Exception */ @@ -51,7 +55,7 @@ public function validate($object) return true; } - /** @var $validator \Magento\Framework\View\Model\Layout\Update\Validator */ + /** @var Validator $validator */ $validator = $this->_layoutUpdateValidatorFactory->create(); if (!$validator->isValid($xml)) { $messages = $validator->getMessages(); @@ -61,6 +65,30 @@ public function validate($object) $eavExc->setAttributeCode($attributeName); throw $eavExc; } + return true; } + + /** + * Attribute before save method. + * + * @param DataObject $object + * @return $this + * @throws LocalizedException + * @since 103.0.3 + */ + public function beforeSave($object) + { + parent::beforeSave($object); + + $attributeLabel = $this->getAttribute()->getData('frontend_label'); + + try { + $this->validate($object); + } catch (ValidationException $e) { + throw new LocalizedException(__('%1 is invalid: %2', $attributeLabel, $e->getMessage())); + } + + return $this; + } } diff --git a/app/code/Magento/Catalog/Model/Category.php b/app/code/Magento/Catalog/Model/Category.php index 9d6d7e41ff34e..716cc6a2d76c2 100644 --- a/app/code/Magento/Catalog/Model/Category.php +++ b/app/code/Magento/Catalog/Model/Category.php @@ -101,6 +101,7 @@ class Category extends \Magento\Catalog\Model\AbstractModel implements /** * @var ResourceModel\Category + * @since 102.0.6 */ protected $_resource; @@ -108,7 +109,7 @@ class Category extends \Magento\Catalog\Model\AbstractModel implements * URL rewrite model * * @var \Magento\UrlRewrite\Model\UrlRewrite - * @deprecated 101.1.0 + * @deprecated 102.0.0 */ protected $_urlRewrite; @@ -136,7 +137,7 @@ class Category extends \Magento\Catalog\Model\AbstractModel implements /** * Attributes are that part of interface * - * @deprecated + * @deprecated 103.0.0 * @see CategoryInterface::ATTRIBUTES * @var array */ @@ -330,7 +331,8 @@ protected function getCustomAttributesCodes() * * @throws \Magento\Framework\Exception\LocalizedException * @return \Magento\Catalog\Model\ResourceModel\Category - * @deprecated because resource models should be used directly + * @deprecated 102.0.6 because resource models should be used directly + * @since 102.0.6 */ protected function _getResource() { @@ -961,6 +963,7 @@ private function getAuthorization(): AuthorizationInterface /** * @inheritDoc + * @since 103.0.2 */ public function beforeSave() { diff --git a/app/code/Magento/Catalog/Model/Category/Attribute/Source/Layout.php b/app/code/Magento/Catalog/Model/Category/Attribute/Source/Layout.php index 20ea899a3d0d7..486263f3de5a6 100644 --- a/app/code/Magento/Catalog/Model/Category/Attribute/Source/Layout.php +++ b/app/code/Magento/Catalog/Model/Category/Attribute/Source/Layout.php @@ -19,7 +19,7 @@ class Layout extends \Magento\Eav\Model\Entity\Attribute\Source\AbstractSource /** * @inheritdoc - * @deprecated since the cache is now handled by \Magento\Theme\Model\PageLayout\Config\Builder::$configFiles + * @deprecated 103.0.1 since the cache is now handled by \Magento\Theme\Model\PageLayout\Config\Builder::$configFiles */ protected $_options = null; diff --git a/app/code/Magento/Catalog/Model/Category/DataProvider.php b/app/code/Magento/Catalog/Model/Category/DataProvider.php index 0583500c75b99..8d7b453a18368 100644 --- a/app/code/Magento/Catalog/Model/Category/DataProvider.php +++ b/app/code/Magento/Catalog/Model/Category/DataProvider.php @@ -203,7 +203,7 @@ public function __construct( /** * @inheritdoc - * @since 101.1.0 + * @since 102.0.0 */ public function getMeta() { @@ -419,7 +419,7 @@ protected function addUseConfigSettings($categoryData) * @param \Magento\Catalog\Model\Category $category * @param array $categoryData * @return array - * @deprecated 101.1.0 + * @deprecated 102.0.0 * @since 101.0.0 */ protected function addUseDefaultSettings($category, $categoryData) @@ -623,7 +623,7 @@ protected function getFieldsMap() * Retrieve scope overridden value * * @return ScopeOverriddenValue - * @deprecated 101.1.0 + * @deprecated 102.0.0 */ private function getScopeOverriddenValue() { @@ -640,7 +640,7 @@ private function getScopeOverriddenValue() * Retrieve array manager * * @return ArrayManager - * @deprecated 101.1.0 + * @deprecated 102.0.0 */ private function getArrayManager() { @@ -658,7 +658,7 @@ private function getArrayManager() * * @return FileInfo * - * @deprecated 101.1.0 + * @deprecated 102.0.0 */ private function getFileInfo() { diff --git a/app/code/Magento/Catalog/Model/CategoryList.php b/app/code/Magento/Catalog/Model/CategoryList.php index cc8920203526f..e7c755b379b91 100644 --- a/app/code/Magento/Catalog/Model/CategoryList.php +++ b/app/code/Magento/Catalog/Model/CategoryList.php @@ -97,7 +97,7 @@ public function getList(SearchCriteriaInterface $searchCriteria) /** * Retrieve collection processor * - * @deprecated 101.1.0 + * @deprecated 102.0.0 * @return CollectionProcessorInterface */ private function getCollectionProcessor() diff --git a/app/code/Magento/Catalog/Model/FrontendStorageConfigurationInterface.php b/app/code/Magento/Catalog/Model/FrontendStorageConfigurationInterface.php index dac9e03e0b753..c61511d1ed49f 100644 --- a/app/code/Magento/Catalog/Model/FrontendStorageConfigurationInterface.php +++ b/app/code/Magento/Catalog/Model/FrontendStorageConfigurationInterface.php @@ -9,7 +9,7 @@ /** * @api * Storage, which provide information for frontend storages, as product-storage, ids-storage - * @since 101.1.0 + * @since 102.0.0 */ interface FrontendStorageConfigurationInterface { @@ -23,7 +23,7 @@ interface FrontendStorageConfigurationInterface * Prepare dynamic data which will be used in Storage Configuration (e.g. data from App/Config) * * @return array - * @since 101.1.0 + * @since 102.0.0 */ public function get(); } diff --git a/app/code/Magento/Catalog/Model/Indexer/Category/Product/AbstractAction.php b/app/code/Magento/Catalog/Model/Indexer/Category/Product/AbstractAction.php index 178f4172ce6fa..6b6ad2bfc726a 100644 --- a/app/code/Magento/Catalog/Model/Indexer/Category/Product/AbstractAction.php +++ b/app/code/Magento/Catalog/Model/Indexer/Category/Product/AbstractAction.php @@ -109,6 +109,7 @@ abstract class AbstractAction /** * @var TableMaintainer + * @since 102.0.5 */ protected $tableMaintainer; @@ -195,7 +196,7 @@ protected function getTable($table) * The name is switched between 'catalog_category_product_index' and 'catalog_category_product_index_replica' * * @return string - * @deprecated + * @deprecated 102.0.5 */ protected function getMainTable() { @@ -206,7 +207,7 @@ protected function getMainTable() * Return temporary index table name * * @return string - * @deprecated + * @deprecated 102.0.5 */ protected function getMainTmpTable() { @@ -220,6 +221,7 @@ protected function getMainTmpTable() * * @param int $storeId * @return string + * @since 102.0.5 */ protected function getIndexTable($storeId) { diff --git a/app/code/Magento/Catalog/Model/Indexer/Product/Flat/TableBuilder.php b/app/code/Magento/Catalog/Model/Indexer/Product/Flat/TableBuilder.php index c0722901e3b1c..0897ae0d74c0b 100644 --- a/app/code/Magento/Catalog/Model/Indexer/Product/Flat/TableBuilder.php +++ b/app/code/Magento/Catalog/Model/Indexer/Product/Flat/TableBuilder.php @@ -368,7 +368,7 @@ protected function _fillTemporaryTable( * Get Metadata Pool * * @return \Magento\Framework\EntityManager\MetadataPool - * @deprecated 101.1.0 + * @deprecated 102.0.0 */ private function getMetadataPool() { diff --git a/app/code/Magento/Catalog/Model/Indexer/Product/Price/AbstractAction.php b/app/code/Magento/Catalog/Model/Indexer/Product/Price/AbstractAction.php index e9a907f0b5097..4846d32826cb9 100644 --- a/app/code/Magento/Catalog/Model/Indexer/Product/Price/AbstractAction.php +++ b/app/code/Magento/Catalog/Model/Indexer/Product/Price/AbstractAction.php @@ -154,7 +154,7 @@ abstract public function execute($ids); * @param array $processIds * @return \Magento\Catalog\Model\Indexer\Product\Price\AbstractAction * @SuppressWarnings(PHPMD.UnusedFormalParameter) - * @deprecated Used only for backward compatibility for indexer, which not support indexation by dimensions + * @deprecated 102.0.6 Used only for backward compatibility for indexer, which not support indexation by dimensions */ protected function _syncData(array $processIds = []) { @@ -422,7 +422,7 @@ private function deleteIndexData(array $entityIds) * @param null|array $parentIds * @param array $excludeIds * @return \Magento\Catalog\Model\Indexer\Product\Price\AbstractAction - * @deprecated Used only for backward compatibility for do not broke custom indexer implementation + * @deprecated 102.0.6 Used only for backward compatibility for do not broke custom indexer implementation * which do not work by dimensions. * For indexers, which support dimensions all composite products read data directly from main price indexer table * or replica table for partial or full reindex correspondingly. diff --git a/app/code/Magento/Catalog/Model/Indexer/Product/Price/Action/Full.php b/app/code/Magento/Catalog/Model/Indexer/Product/Price/Action/Full.php index b30c85cfc52f0..754022b573d62 100644 --- a/app/code/Magento/Catalog/Model/Indexer/Product/Price/Action/Full.php +++ b/app/code/Magento/Catalog/Model/Indexer/Product/Price/Action/Full.php @@ -488,7 +488,7 @@ private function moveDataFromReplicaTableToReplicaTables(array $dimensions): voi /** * Retrieves the index table that should be used * - * @deprecated + * @deprecated 102.0.6 */ protected function getIndexTargetTable(): string { diff --git a/app/code/Magento/Catalog/Model/Indexer/Product/Price/UpdateIndexInterface.php b/app/code/Magento/Catalog/Model/Indexer/Product/Price/UpdateIndexInterface.php index 3d1809997bd61..091131508ef66 100644 --- a/app/code/Magento/Catalog/Model/Indexer/Product/Price/UpdateIndexInterface.php +++ b/app/code/Magento/Catalog/Model/Indexer/Product/Price/UpdateIndexInterface.php @@ -11,7 +11,7 @@ * Defines strategy for updating price index * * @api - * @since 101.1.0 + * @since 102.0.0 */ interface UpdateIndexInterface { @@ -21,7 +21,7 @@ interface UpdateIndexInterface * @param GroupInterface $group * @param bool $isGroupNew * @return void - * @since 101.1.0 + * @since 102.0.0 */ public function update(GroupInterface $group, $isGroupNew); } diff --git a/app/code/Magento/Catalog/Model/Product.php b/app/code/Magento/Catalog/Model/Product.php index 2af54b8086a73..31fd7e73e87cf 100644 --- a/app/code/Magento/Catalog/Model/Product.php +++ b/app/code/Magento/Catalog/Model/Product.php @@ -123,6 +123,7 @@ class Product extends \Magento\Catalog\Model\AbstractModel implements /** * @var ResourceModel\Product + * @since 102.0.6 */ protected $_resource; @@ -279,7 +280,7 @@ class Product extends \Magento\Catalog\Model\AbstractModel implements /** * @var \Magento\Catalog\Api\ProductAttributeRepositoryInterface - * @deprecated Not used anymore due to performance issue (loaded all product attributes) + * @deprecated 102.0.6 Not used anymore due to performance issue (loaded all product attributes) */ protected $metadataService; @@ -316,7 +317,7 @@ class Product extends \Magento\Catalog\Model\AbstractModel implements /** * List of attributes in ProductInterface * - * @deprecated + * @deprecated 103.0.0 * @see ProductInterface::ATTRIBUTES * @var array */ @@ -504,7 +505,8 @@ protected function _construct() * * @throws \Magento\Framework\Exception\LocalizedException * @return \Magento\Catalog\Model\ResourceModel\Product - * @deprecated because resource models should be used directly + * @deprecated 102.0.6 because resource models should be used directly + * @since 102.0.6 */ protected function _getResource() { @@ -651,7 +653,7 @@ public function getUpdatedAt() * * @param bool $calculate * @return void - * @deprecated + * @deprecated 102.0.4 */ public function setPriceCalculation($calculate = true) { @@ -1217,6 +1219,7 @@ public function getTierPrice($qty = null) * Get formatted by currency product price * * @return array|double + * @since 102.0.6 */ public function getFormattedPrice() { @@ -1228,7 +1231,7 @@ public function getFormattedPrice() * * @return array|double * - * @deprecated + * @deprecated 102.0.6 * @see getFormattedPrice() */ public function getFormatedPrice() @@ -2203,7 +2206,7 @@ public function reset() /** * Get cache tags associated with object id * - * @deprecated + * @deprecated 102.0.5 * @see \Magento\Catalog\Model\Product::getIdentities * @return string[] */ @@ -2775,11 +2778,11 @@ public function setAssociatedProductIds(array $productIds) * * @return array|null * - * @deprecated 101.1.0 as Product model shouldn't be responsible for stock status + * @deprecated 102.0.0 as Product model shouldn't be responsible for stock status * @see StockItemInterface when you want to change the stock data * @see StockStatusInterface when you want to read the stock data for representation layer (storefront) * @see StockItemRepositoryInterface::save as extension point for customization of saving process - * @since 101.1.0 + * @since 102.0.0 */ public function getQuantityAndStockStatus() { @@ -2792,11 +2795,11 @@ public function getQuantityAndStockStatus() * @param array $quantityAndStockStatusData * @return $this * - * @deprecated 101.1.0 as Product model shouldn't be responsible for stock status + * @deprecated 102.0.0 as Product model shouldn't be responsible for stock status * @see StockItemInterface when you want to change the stock data * @see StockStatusInterface when you want to read the stock data for representation layer (storefront) * @see StockItemRepositoryInterface::save as extension point for customization of saving process - * @since 101.1.0 + * @since 102.0.0 */ public function setQuantityAndStockStatus($quantityAndStockStatusData) { @@ -2809,11 +2812,11 @@ public function setQuantityAndStockStatus($quantityAndStockStatusData) * * @return array|null * - * @deprecated 101.1.0 as Product model shouldn't be responsible for stock status + * @deprecated 102.0.0 as Product model shouldn't be responsible for stock status * @see StockItemInterface when you want to change the stock data * @see StockStatusInterface when you want to read the stock data for representation layer (storefront) * @see StockItemRepositoryInterface::save as extension point for customization of saving process - * @since 101.1.0 + * @since 102.0.0 */ public function getStockData() { @@ -2826,11 +2829,11 @@ public function getStockData() * @param array $stockData * @return $this * - * @deprecated 101.1.0 as Product model shouldn't be responsible for stock status + * @deprecated 102.0.0 as Product model shouldn't be responsible for stock status * @see StockItemInterface when you want to change the stock data * @see StockStatusInterface when you want to read the stock data for representation layer (storefront) * @see StockItemRepositoryInterface::save as extension point for customization of saving process - * @since 101.1.0 + * @since 102.0.0 */ public function setStockData($stockData) { diff --git a/app/code/Magento/Catalog/Model/Product/Attribute/Backend/Stock.php b/app/code/Magento/Catalog/Model/Product/Attribute/Backend/Stock.php index 994ff98dee217..713a0a35abec7 100644 --- a/app/code/Magento/Catalog/Model/Product/Attribute/Backend/Stock.php +++ b/app/code/Magento/Catalog/Model/Product/Attribute/Backend/Stock.php @@ -10,7 +10,7 @@ /** * Quantity and Stock Status attribute processing * - * @deprecated 101.1.0 as this attribute should be removed + * @deprecated 102.0.0 as this attribute should be removed * @see StockItemInterface when you want to change the stock data * @see StockStatusInterface when you want to read the stock data for representation layer (storefront) * @see StockItemRepositoryInterface::save as extension point for customization of saving process diff --git a/app/code/Magento/Catalog/Model/Product/Attribute/Source/Countryofmanufacture.php b/app/code/Magento/Catalog/Model/Product/Attribute/Source/Countryofmanufacture.php index bc362430089c4..c0a13aa8b934a 100644 --- a/app/code/Magento/Catalog/Model/Product/Attribute/Source/Countryofmanufacture.php +++ b/app/code/Magento/Catalog/Model/Product/Attribute/Source/Countryofmanufacture.php @@ -82,7 +82,7 @@ public function getAllOptions() * Get serializer * * @return \Magento\Framework\Serialize\SerializerInterface - * @deprecated 101.1.0 + * @deprecated 102.0.0 */ private function getSerializer() { diff --git a/app/code/Magento/Catalog/Model/Product/Attribute/Source/Layout.php b/app/code/Magento/Catalog/Model/Product/Attribute/Source/Layout.php index dbc7535dccfa9..333e8021d30b5 100644 --- a/app/code/Magento/Catalog/Model/Product/Attribute/Source/Layout.php +++ b/app/code/Magento/Catalog/Model/Product/Attribute/Source/Layout.php @@ -19,7 +19,7 @@ class Layout extends \Magento\Eav\Model\Entity\Attribute\Source\AbstractSource /** * @inheritdoc - * @deprecated since the cache is now handled by \Magento\Theme\Model\PageLayout\Config\Builder::$configFiles + * @deprecated 103.0.1 since the cache is now handled by \Magento\Theme\Model\PageLayout\Config\Builder::$configFiles */ protected $_options = null; diff --git a/app/code/Magento/Catalog/Model/Product/Configuration/Item/ItemResolverInterface.php b/app/code/Magento/Catalog/Model/Product/Configuration/Item/ItemResolverInterface.php index 35c0a7835cb6c..b340e5dea5eb8 100644 --- a/app/code/Magento/Catalog/Model/Product/Configuration/Item/ItemResolverInterface.php +++ b/app/code/Magento/Catalog/Model/Product/Configuration/Item/ItemResolverInterface.php @@ -13,6 +13,7 @@ * Resolves the product from a configured item. * * @api + * @since 102.0.7 */ interface ItemResolverInterface { @@ -21,6 +22,7 @@ interface ItemResolverInterface * * @param ItemInterface $item * @return ProductInterface + * @since 102.0.7 */ public function getFinalProduct(ItemInterface $item) : ProductInterface; } diff --git a/app/code/Magento/Catalog/Model/Product/Image.php b/app/code/Magento/Catalog/Model/Product/Image.php index a0be36c5a327c..3c60d81e9a4d8 100644 --- a/app/code/Magento/Catalog/Model/Product/Image.php +++ b/app/code/Magento/Catalog/Model/Product/Image.php @@ -45,7 +45,7 @@ class Image extends \Magento\Framework\Model\AbstractModel * Default quality value (for JPEG images only). * * @var int - * @deprecated use config setting with path self::XML_PATH_JPEG_QUALITY + * @deprecated 103.0.1 use config setting with path self::XML_PATH_JPEG_QUALITY */ protected $_quality = null; @@ -305,7 +305,7 @@ public function getHeight() * * @param int $quality * @return $this - * @deprecated use config setting with path self::XML_PATH_JPEG_QUALITY + * @deprecated 103.0.1 use config setting with path self::XML_PATH_JPEG_QUALITY */ public function setQuality($quality) { @@ -454,7 +454,7 @@ public function getBaseFile() /** * Get new file * - * @deprecated 101.1.0 + * @deprecated 102.0.0 * @return bool|string */ public function getNewFile() diff --git a/app/code/Magento/Catalog/Model/Product/Link.php b/app/code/Magento/Catalog/Model/Product/Link.php index 5c07d3d32b257..f2b07bad8891c 100644 --- a/app/code/Magento/Catalog/Model/Product/Link.php +++ b/app/code/Magento/Catalog/Model/Product/Link.php @@ -58,7 +58,7 @@ class Link extends \Magento\Framework\Model\AbstractModel /** * @var \Magento\CatalogInventory\Helper\Stock - * @deprecated 101.0.1 + * @deprecated 101.0.0 */ protected $stockHelper; diff --git a/app/code/Magento/Catalog/Model/Product/Option.php b/app/code/Magento/Catalog/Model/Product/Option.php index b4a4ec08d390d..e911d1941f188 100644 --- a/app/code/Magento/Catalog/Model/Product/Option.php +++ b/app/code/Magento/Catalog/Model/Product/Option.php @@ -159,7 +159,7 @@ public function __construct( * Get resource instance * * @return \Magento\Framework\Model\ResourceModel\Db\AbstractDb - * @deprecated 101.1.0 because resource models should be used directly + * @deprecated 102.0.0 because resource models should be used directly */ protected function _getResource() { @@ -207,7 +207,7 @@ public function getValueById($valueId) * * @param string $type * @return bool - * @since 101.1.0 + * @since 102.0.0 */ public function hasValues($type = null) { diff --git a/app/code/Magento/Catalog/Model/Product/Option/Type/DefaultType.php b/app/code/Magento/Catalog/Model/Product/Option/Type/DefaultType.php index c388be8b6f394..503fe2b6039be 100644 --- a/app/code/Magento/Catalog/Model/Product/Option/Type/DefaultType.php +++ b/app/code/Magento/Catalog/Model/Product/Option/Type/DefaultType.php @@ -399,7 +399,7 @@ public function getProductOptions() * @param boolean $isPercent Price type - percent or fixed * @param float $basePrice For percent price type * @return float - * @deprecated 102.0.4 typo in method name + * @deprecated 102.0.6 typo in method name * @see _getChargeableOptionPrice */ protected function _getChargableOptionPrice($price, $isPercent, $basePrice) @@ -414,6 +414,7 @@ protected function _getChargableOptionPrice($price, $isPercent, $basePrice) * @param boolean $isPercent Price type - percent or fixed * @param float $basePrice For percent price type * @return float + * @since 102.0.6 */ protected function _getChargeableOptionPrice($price, $isPercent, $basePrice) { diff --git a/app/code/Magento/Catalog/Model/Product/Option/Type/File.php b/app/code/Magento/Catalog/Model/Product/Option/Type/File.php index 9f1eae207e116..f02c607c6296c 100644 --- a/app/code/Magento/Catalog/Model/Product/Option/Type/File.php +++ b/app/code/Magento/Catalog/Model/Product/Option/Type/File.php @@ -411,7 +411,7 @@ public function getPrintableOptionValue($optionValue) * @param string $optionValue Prepared for cart option value * @return string * - * @deprecated 101.1.0 + * @deprecated 102.0.0 */ public function getEditableOptionValue($optionValue) { @@ -435,7 +435,7 @@ public function getEditableOptionValue($optionValue) * * @SuppressWarnings(PHPMD.UnusedFormalParameter) * - * @deprecated 101.1.0 + * @deprecated 102.0.0 */ public function parseOptionValue($optionValue, $productOptionValues) { diff --git a/app/code/Magento/Catalog/Model/Product/Price/Validation/Result.php b/app/code/Magento/Catalog/Model/Product/Price/Validation/Result.php index 3d4d9f607da48..6c5451e3ecfe0 100644 --- a/app/code/Magento/Catalog/Model/Product/Price/Validation/Result.php +++ b/app/code/Magento/Catalog/Model/Product/Price/Validation/Result.php @@ -10,7 +10,7 @@ * Validation Result is used to aggregate errors that occurred during price update. * * @api - * @since 101.1.0 + * @since 102.0.0 */ class Result { @@ -43,7 +43,7 @@ public function __construct( * @param array $parameters (optional). Placeholder values in ['placeholder key' => 'placeholder value'] format * for failure reason message. * @return void - * @since 101.1.0 + * @since 102.0.0 */ public function addFailedItem($id, $message, array $parameters = []) { @@ -57,7 +57,7 @@ public function addFailedItem($id, $message, array $parameters = []) * Get ids of rows, that contained errors during price update. * * @return int[] - * @since 101.1.0 + * @since 102.0.0 */ public function getFailedRowIds() { @@ -68,7 +68,7 @@ public function getFailedRowIds() * Get price update errors, that occurred during price update. * * @return \Magento\Catalog\Api\Data\PriceUpdateResultInterface[] - * @since 101.1.0 + * @since 102.0.0 */ public function getFailedItems() { diff --git a/app/code/Magento/Catalog/Model/Product/Type/AbstractType.php b/app/code/Magento/Catalog/Model/Product/Type/AbstractType.php index e6804d9246faa..2ceb6df9779b2 100644 --- a/app/code/Magento/Catalog/Model/Product/Type/AbstractType.php +++ b/app/code/Magento/Catalog/Model/Product/Type/AbstractType.php @@ -167,7 +167,7 @@ abstract public function deleteTypeSpecificData(\Magento\Catalog\Model\Product $ * Serializer interface instance. * * @var \Magento\Framework\Serialize\Serializer\Json - * @since 101.1.0 + * @since 102.0.0 */ protected $serializer; @@ -1106,7 +1106,7 @@ public function getAssociatedProducts($product) * * @param \Magento\Catalog\Model\Product $product * @return bool - * @since 101.1.0 + * @since 101.0.11 */ public function isPossibleBuyFromList($product) { diff --git a/app/code/Magento/Catalog/Model/Product/Type/FrontSpecialPrice.php b/app/code/Magento/Catalog/Model/Product/Type/FrontSpecialPrice.php index dabfdb74f0118..a692ec5d463d0 100644 --- a/app/code/Magento/Catalog/Model/Product/Type/FrontSpecialPrice.php +++ b/app/code/Magento/Catalog/Model/Product/Type/FrontSpecialPrice.php @@ -18,7 +18,7 @@ * @SuppressWarnings(PHPMD.CookieAndSessionMisuse) * @SuppressWarnings(PHPMD.CouplingBetweenObjects) * - * @deprecated + * @deprecated 103.0.2 * @see \Magento\Catalog\Model\Product\Type\Price */ class FrontSpecialPrice extends Price @@ -70,7 +70,7 @@ public function __construct( /** * @inheritdoc * - * @deprecated + * @deprecated 103.0.2 */ protected function _applySpecialPrice($product, $finalPrice) { diff --git a/app/code/Magento/Catalog/Model/Product/Type/Price.php b/app/code/Magento/Catalog/Model/Product/Type/Price.php index 23a058b5a57c9..f6f0800962756 100644 --- a/app/code/Magento/Catalog/Model/Product/Type/Price.php +++ b/app/code/Magento/Catalog/Model/Product/Type/Price.php @@ -484,6 +484,7 @@ public function getTierPriceCount($product) * @param Product $product * * @return array|float + * @since 102.0.6 */ public function getFormattedTierPrice($qty, $product) { @@ -509,7 +510,7 @@ public function getFormattedTierPrice($qty, $product) * * @return array|float * - * @deprecated + * @deprecated 102.0.6 * @see getFormattedTierPrice() */ public function getFormatedTierPrice($qty, $product) @@ -522,6 +523,7 @@ public function getFormatedTierPrice($qty, $product) * * @param Product $product * @return array|float + * @since 102.0.6 */ public function getFormattedPrice($product) { @@ -534,7 +536,7 @@ public function getFormattedPrice($product) * @param Product $product * @return array || float * - * @deprecated + * @deprecated 102.0.6 * @see getFormattedPrice() */ public function getFormatedPrice($product) diff --git a/app/code/Magento/Catalog/Model/ProductIdLocatorInterface.php b/app/code/Magento/Catalog/Model/ProductIdLocatorInterface.php index 91570b58b7328..521d53629d99c 100644 --- a/app/code/Magento/Catalog/Model/ProductIdLocatorInterface.php +++ b/app/code/Magento/Catalog/Model/ProductIdLocatorInterface.php @@ -8,7 +8,7 @@ /** * Product ID locator provides all product IDs by SKU. * @api - * @since 101.1.0 + * @since 102.0.0 */ interface ProductIdLocatorInterface { @@ -17,7 +17,7 @@ interface ProductIdLocatorInterface * * @param array $skus * @return array - * @since 101.1.0 + * @since 102.0.0 */ public function retrieveProductIdsBySkus(array $skus); } diff --git a/app/code/Magento/Catalog/Model/ProductRepository.php b/app/code/Magento/Catalog/Model/ProductRepository.php index e961db42d99fe..c26a5d1bc56e0 100644 --- a/app/code/Magento/Catalog/Model/ProductRepository.php +++ b/app/code/Magento/Catalog/Model/ProductRepository.php @@ -122,14 +122,14 @@ class ProductRepository implements \Magento\Catalog\Api\ProductRepositoryInterfa protected $fileSystem; /** - * @deprecated + * @deprecated 103.0.2 * * @var ImageContentInterfaceFactory */ protected $contentFactory; /** - * @deprecated + * @deprecated 103.0.2 * * @var ImageProcessorInterface */ @@ -141,7 +141,7 @@ class ProductRepository implements \Magento\Catalog\Api\ProductRepositoryInterfa protected $extensionAttributesJoinProcessor; /** - * @deprecated + * @deprecated 103.0.2 * * @var \Magento\Catalog\Model\Product\Gallery\Processor */ @@ -404,7 +404,7 @@ private function assignProductToWebsites(\Magento\Catalog\Model\Product $product /** * Process new gallery media entry. * - * @deprecated + * @deprecated 103.0.2 * @see MediaGalleryProcessor::processNewMediaGalleryEntry() * * @param ProductInterface $product @@ -669,7 +669,7 @@ private function addExtensionAttributes(Collection $collection) : Collection /** * Helper function that adds a FilterGroup to the collection. * - * @deprecated 101.1.0 + * @deprecated 102.0.0 * @param \Magento\Framework\Api\Search\FilterGroup $filterGroup * @param Collection $collection * @return void @@ -728,7 +728,7 @@ private function getMediaGalleryProcessor() /** * Retrieve collection processor * - * @deprecated 101.1.0 + * @deprecated 102.0.0 * @return CollectionProcessorInterface */ private function getCollectionProcessor() diff --git a/app/code/Magento/Catalog/Model/ResourceModel/Category.php b/app/code/Magento/Catalog/Model/ResourceModel/Category.php index 786cec391c460..253d1b0be994d 100644 --- a/app/code/Magento/Catalog/Model/ResourceModel/Category.php +++ b/app/code/Magento/Catalog/Model/ResourceModel/Category.php @@ -9,13 +9,17 @@ * * @author Magento Core Team */ +declare(strict_types=1); + namespace Magento\Catalog\Model\ResourceModel; use Magento\Catalog\Model\Indexer\Category\Product\Processor; use Magento\Framework\App\ObjectManager; use Magento\Framework\DataObject; use Magento\Framework\EntityManager\EntityManager; -use Magento\Catalog\Model\Category as CategoryEntity; +use Magento\Catalog\Setup\CategorySetup; +use Magento\Framework\EntityManager\MetadataPool; +use Magento\Catalog\Api\Data\ProductInterface; /** * Resource model for category entity @@ -92,6 +96,12 @@ class Category extends AbstractResource * @var Processor */ private $indexerProcessor; + + /** + * @var MetadataPool + */ + private $metadataPool; + /** * Category constructor. * @param \Magento\Eav\Model\Entity\Context $context @@ -103,6 +113,7 @@ class Category extends AbstractResource * @param Processor $indexerProcessor * @param array $data * @param \Magento\Framework\Serialize\Serializer\Json|null $serializer + * @param MetadataPool|null $metadataPool * @SuppressWarnings(PHPMD.ExcessiveParameterList) */ public function __construct( @@ -114,7 +125,8 @@ public function __construct( \Magento\Catalog\Model\ResourceModel\Category\CollectionFactory $categoryCollectionFactory, Processor $indexerProcessor, $data = [], - \Magento\Framework\Serialize\Serializer\Json $serializer = null + \Magento\Framework\Serialize\Serializer\Json $serializer = null, + MetadataPool $metadataPool = null ) { parent::__construct( $context, @@ -129,6 +141,7 @@ public function __construct( $this->indexerProcessor = $indexerProcessor; $this->serializer = $serializer ?: ObjectManager::getInstance() ->get(\Magento\Framework\Serialize\Serializer\Json::class); + $this->metadataPool = $metadataPool ?: ObjectManager::getInstance()->get(MetadataPool::class); } /** @@ -271,11 +284,14 @@ protected function _beforeSave(\Magento\Framework\DataObject $object) $object->setAttributeSetId( $object->getAttributeSetId() ?: $this->getEntityType()->getDefaultAttributeSetId() ); + + $this->castPathIdsToInt($object); + if ($object->isObjectNew()) { if ($object->getPosition() === null) { $object->setPosition($this->_getMaxPosition($object->getPath()) + 1); } - $path = explode('/', $object->getPath()); + $path = explode('/', (string)$object->getPath()); $level = count($path) - ($object->getId() ? 1 : 0); $toUpdateChild = array_diff($path, [$object->getId()]); @@ -314,7 +330,7 @@ protected function _afterSave(\Magento\Framework\DataObject $object) /** * Add identifier for new category */ - if (substr($object->getPath(), -1) == '/') { + if (substr((string)$object->getPath(), -1) == '/') { $object->setPath($object->getPath() . $object->getId()); $this->_savePath($object); } @@ -352,7 +368,7 @@ protected function _getMaxPosition($path) { $connection = $this->getConnection(); $positionField = $connection->quoteIdentifier('position'); - $level = count(explode('/', $path)); + $level = count(explode('/', (string)$path)); $bind = ['c_level' => $level, 'c_path' => $path . '/%']; $select = $connection->select()->from( $this->getTable('catalog_category_entity'), @@ -717,7 +733,7 @@ public function getCategories($parent, $recursionLevel = 0, $sorted = false, $as */ public function getParentCategories($category) { - $pathIds = array_reverse(explode(',', $category->getPathInStore())); + $pathIds = array_reverse(explode(',', (string)$category->getPathInStore())); /** @var \Magento\Catalog\Model\ResourceModel\Category\Collection $categories */ $categories = $this->_categoryCollectionFactory->create(); return $categories->setStore( @@ -1134,4 +1150,66 @@ private function getAggregateCount() } return $this->aggregateCount; } + + /** + * Get category with children. + * + * @param int $categoryId + * @return array + */ + public function getCategoryWithChildren(int $categoryId): array + { + $connection = $this->getConnection(); + + $selectAttributeCode = $connection->select() + ->from( + ['eav_attribute' => $this->getTable('eav_attribute')], + ['attribute_id'] + )->where('entity_type_id = ?', CategorySetup::CATEGORY_ENTITY_TYPE_ID) + ->where('attribute_code = ?', 'is_anchor') + ->limit(1); + $isAnchorAttributeCode = $connection->fetchOne($selectAttributeCode); + if (empty($isAnchorAttributeCode) || (int)$isAnchorAttributeCode <= 0) { + return []; + } + + $linkField = $this->metadataPool->getMetadata(ProductInterface::class)->getLinkField(); + $select = $connection->select() + ->from( + ['cce' => $this->getTable('catalog_category_entity')], + [$linkField, 'parent_id', 'path'] + )->join( + ['cce_int' => $this->getTable('catalog_category_entity_int')], + 'cce.' . $linkField . ' = cce_int.' . $linkField, + ['is_anchor' => 'cce_int.value'] + )->where( + 'cce_int.attribute_id = ?', + $isAnchorAttributeCode + )->where( + "cce.path LIKE '%/{$categoryId}' OR cce.path LIKE '%/{$categoryId}/%'" + )->order('path'); + + return $connection->fetchAll($select); + } + + /** + * Cast category path ids to int. + * + * @param DataObject $object + * @return void + */ + private function castPathIdsToInt(DataObject $object): void + { + if (is_string($object->getPath())) { + $pathIds = explode('/', $object->getPath()); + + array_walk( + $pathIds, + function (&$pathId) { + $pathId = (int)$pathId; + } + ); + $object->setPath(implode('/', $pathIds)); + } + } } diff --git a/app/code/Magento/Catalog/Model/ResourceModel/Category/Collection.php b/app/code/Magento/Catalog/Model/ResourceModel/Category/Collection.php index 657daca13055e..cef77b0d1ecf2 100644 --- a/app/code/Magento/Catalog/Model/ResourceModel/Category/Collection.php +++ b/app/code/Magento/Catalog/Model/ResourceModel/Category/Collection.php @@ -463,6 +463,7 @@ public function addRootLevelFilter() * Add navigation max depth filter * * @return $this + * @since 103.0.0 */ public function addNavigationMaxDepthFilter() { diff --git a/app/code/Magento/Catalog/Model/ResourceModel/Category/Flat.php b/app/code/Magento/Catalog/Model/ResourceModel/Category/Flat.php index 05950531e2178..cd1b8c8924552 100644 --- a/app/code/Magento/Catalog/Model/ResourceModel/Category/Flat.php +++ b/app/code/Magento/Catalog/Model/ResourceModel/Category/Flat.php @@ -69,7 +69,7 @@ class Flat extends \Magento\Indexer\Model\ResourceModel\AbstractResource * Category collection factory * * @var \Magento\Catalog\Model\ResourceModel\Category\CollectionFactory - * @deprecated 100.0.12 + * @deprecated 100.0.2 */ protected $_categoryCollectionFactory; diff --git a/app/code/Magento/Catalog/Model/ResourceModel/Category/Tree.php b/app/code/Magento/Catalog/Model/ResourceModel/Category/Tree.php index 972f11db7aae3..a5bb5add1f812 100644 --- a/app/code/Magento/Catalog/Model/ResourceModel/Category/Tree.php +++ b/app/code/Magento/Catalog/Model/ResourceModel/Category/Tree.php @@ -3,6 +3,8 @@ * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ +declare(strict_types=1); + namespace Magento\Catalog\Model\ResourceModel\Category; use Magento\Framework\Data\Tree\Dbp; @@ -10,6 +12,8 @@ use Magento\Framework\EntityManager\MetadataPool; /** + * Category Tree model. + * * @api * @SuppressWarnings(PHPMD.CouplingBetweenObjects) * @since 100.0.2 @@ -483,6 +487,14 @@ public function loadByIds($ids, $addCollectionData = true, $updateAnchorProductC foreach ($this->_conn->fetchAll($select) as $item) { $pathIds = explode('/', $item['path']); + + array_walk( + $pathIds, + function (&$pathId) { + $pathId = (int)$pathId; + } + ); + $level = (int)$item['level']; while ($level > 0) { $pathIds[count($pathIds) - 1] = '%'; @@ -680,6 +692,8 @@ public function getExistingCategoryIdsBySpecifiedIds($ids) } /** + * Return MetadataPool object. + * * @return \Magento\Framework\EntityManager\MetadataPool */ private function getMetadataPool() diff --git a/app/code/Magento/Catalog/Model/ResourceModel/Eav/Attribute.php b/app/code/Magento/Catalog/Model/ResourceModel/Eav/Attribute.php index e7c98b218f5ad..495c8be311cc0 100644 --- a/app/code/Magento/Catalog/Model/ResourceModel/Eav/Attribute.php +++ b/app/code/Magento/Catalog/Model/ResourceModel/Eav/Attribute.php @@ -247,6 +247,7 @@ public function afterSave() * Is attribute enabled for flat indexing * * @return bool + * @since 103.0.0 */ public function isEnabledInFlat() { @@ -874,7 +875,7 @@ public function __wakeup() /** * @inheritdoc - * @since 101.1.0 + * @since 102.0.0 */ public function setIsUsedInGrid($isUsedInGrid) { @@ -884,7 +885,7 @@ public function setIsUsedInGrid($isUsedInGrid) /** * @inheritdoc - * @since 101.1.0 + * @since 102.0.0 */ public function setIsVisibleInGrid($isVisibleInGrid) { @@ -894,7 +895,7 @@ public function setIsVisibleInGrid($isVisibleInGrid) /** * @inheritdoc - * @since 101.1.0 + * @since 102.0.0 */ public function setIsFilterableInGrid($isFilterableInGrid) { diff --git a/app/code/Magento/Catalog/Model/ResourceModel/Layer/Filter/Price.php b/app/code/Magento/Catalog/Model/ResourceModel/Layer/Filter/Price.php index 585da2af529a4..ab9f0e76854a6 100644 --- a/app/code/Magento/Catalog/Model/ResourceModel/Layer/Filter/Price.php +++ b/app/code/Magento/Catalog/Model/ResourceModel/Layer/Filter/Price.php @@ -410,6 +410,7 @@ protected function _construct() /** * {@inheritdoc} * @return string + * @since 102.0.6 */ public function getMainTable() { diff --git a/app/code/Magento/Catalog/Model/ResourceModel/Product.php b/app/code/Magento/Catalog/Model/ResourceModel/Product.php index b0b15cfd69d13..8bd5c5cc37511 100644 --- a/app/code/Magento/Catalog/Model/ResourceModel/Product.php +++ b/app/code/Magento/Catalog/Model/ResourceModel/Product.php @@ -170,7 +170,7 @@ public function getProductWebsiteTable() /** * Product Category table name getter * - * @deprecated 101.1.0 + * @deprecated 102.0.0 * @return string */ public function getProductCategoryTable() @@ -194,7 +194,7 @@ protected function _getDefaultAttributes() /** * Retrieve product website identifiers * - * @deprecated 101.1.0 + * @deprecated 102.0.0 * @param \Magento\Catalog\Model\Product|int $product * @return array */ @@ -311,7 +311,7 @@ public function delete($object) /** * Save product website relations * - * @deprecated 101.1.0 + * @deprecated 102.0.0 * @param \Magento\Catalog\Model\Product $product * @return $this */ @@ -340,7 +340,7 @@ protected function _saveWebsiteIds($product) * @param \Magento\Framework\DataObject $object * @return $this * @SuppressWarnings(PHPMD.UnusedFormalParameter) - * @deprecated 101.1.0 + * @deprecated 102.0.0 */ protected function _saveCategories(\Magento\Framework\DataObject $object) { @@ -708,7 +708,7 @@ private function getEntityManager() /** * Retrieve ProductWebsiteLink instance. * - * @deprecated 101.1.0 + * @deprecated 102.0.0 * @return ProductWebsiteLink */ private function getProductWebsiteLink() @@ -719,7 +719,7 @@ private function getProductWebsiteLink() /** * Retrieve CategoryLink instance. * - * @deprecated 101.1.0 + * @deprecated 102.0.0 * @return Product\CategoryLink */ private function getProductCategoryLink() @@ -737,7 +737,7 @@ private function getProductCategoryLink() * Store id is required to correctly identify attribute value we are working with. * * @inheritdoc - * @since 101.1.0 + * @since 102.0.0 */ protected function getAttributeRow($entity, $object, $attribute) { diff --git a/app/code/Magento/Catalog/Model/ResourceModel/Product/Collection.php b/app/code/Magento/Catalog/Model/ResourceModel/Product/Collection.php index 384b6ddcefc31..6e88d2ecf20f1 100644 --- a/app/code/Magento/Catalog/Model/ResourceModel/Product/Collection.php +++ b/app/code/Magento/Catalog/Model/ResourceModel/Product/Collection.php @@ -720,6 +720,7 @@ protected function _afterLoad() * Add Store ID to products from collection. * * @return $this + * @since 102.0.8 */ protected function prepareStoreId() { @@ -1584,6 +1585,8 @@ public function addAttributeToFilter($attribute, $condition = null, $joinType = } else { return parent::addAttributeToFilter($attribute, $condition, $joinType); } + + return $this; } /** @@ -2153,7 +2156,7 @@ public function addTierPriceData() * * @param int $customerGroupId * @return $this - * @since 101.1.0 + * @since 102.0.0 */ public function addTierPriceDataByGroupId($customerGroupId) { @@ -2333,7 +2336,7 @@ function ($item) use ($linkField) { * Get product entity metadata * * @return \Magento\Framework\EntityManager\EntityMetadataInterface - * @since 101.1.0 + * @since 102.0.0 */ public function getProductEntityMetadata() { diff --git a/app/code/Magento/Catalog/Model/ResourceModel/Product/Indexer/Price/CompositeProductBatchSizeAdjusterInterface.php b/app/code/Magento/Catalog/Model/ResourceModel/Product/Indexer/Price/CompositeProductBatchSizeAdjusterInterface.php index c0e8858b4cfa8..2d282c5bf9741 100644 --- a/app/code/Magento/Catalog/Model/ResourceModel/Product/Indexer/Price/CompositeProductBatchSizeAdjusterInterface.php +++ b/app/code/Magento/Catalog/Model/ResourceModel/Product/Indexer/Price/CompositeProductBatchSizeAdjusterInterface.php @@ -9,7 +9,7 @@ /** * Correct batch size according to number of composite related items. * @api - * @since 101.1.0 + * @since 102.0.0 */ interface CompositeProductBatchSizeAdjusterInterface { @@ -18,7 +18,7 @@ interface CompositeProductBatchSizeAdjusterInterface * * @param int $batchSize * @return int - * @since 101.1.0 + * @since 102.0.0 */ public function adjust($batchSize); } diff --git a/app/code/Magento/Catalog/Model/ResourceModel/Product/Indexer/Price/DefaultPrice.php b/app/code/Magento/Catalog/Model/ResourceModel/Product/Indexer/Price/DefaultPrice.php index b64cca4ff1b26..747b06266cce0 100644 --- a/app/code/Magento/Catalog/Model/ResourceModel/Product/Indexer/Price/DefaultPrice.php +++ b/app/code/Magento/Catalog/Model/ResourceModel/Product/Indexer/Price/DefaultPrice.php @@ -18,7 +18,7 @@ * @author Magento Core Team * @SuppressWarnings(PHPMD.CouplingBetweenObjects) * @since 100.0.2 - * @deprecated Not used anymore for price indexation. Class left for backward compatibility + * @deprecated 102.0.6 Not used anymore for price indexation. Class left for backward compatibility * @see DimensionalIndexerInterface */ class DefaultPrice extends AbstractIndexer implements PriceInterface @@ -240,7 +240,7 @@ protected function _getDefaultFinalPriceTable() * Prepare final price temporary index table * * @return $this - * @deprecated + * @deprecated 102.0.5 * @see prepareFinalPriceTable() */ protected function _prepareDefaultFinalPriceTable() diff --git a/app/code/Magento/Catalog/Model/System/Config/Backend/Catalog/Url/Rewrite/Suffix.php b/app/code/Magento/Catalog/Model/System/Config/Backend/Catalog/Url/Rewrite/Suffix.php index 0b49ef8796ce6..d398c9c14787f 100644 --- a/app/code/Magento/Catalog/Model/System/Config/Backend/Catalog/Url/Rewrite/Suffix.php +++ b/app/code/Magento/Catalog/Model/System/Config/Backend/Catalog/Url/Rewrite/Suffix.php @@ -98,7 +98,7 @@ public function __construct( * Get instance of ScopePool * * @return \Magento\Framework\App\Config - * @deprecated 101.1.0 + * @deprecated 102.0.0 */ private function getAppConfig() { @@ -140,7 +140,7 @@ public function afterSave() /** * {@inheritdoc} - * @since 101.1.0 + * @since 102.0.0 */ public function afterDeleteCommit() { diff --git a/app/code/Magento/Catalog/Pricing/Price/ConfiguredPrice.php b/app/code/Magento/Catalog/Pricing/Price/ConfiguredPrice.php index 6ec282e45a1a0..c1af0b41741df 100644 --- a/app/code/Magento/Catalog/Pricing/Price/ConfiguredPrice.php +++ b/app/code/Magento/Catalog/Pricing/Price/ConfiguredPrice.php @@ -65,7 +65,7 @@ public function setItem(ItemInterface $item) /** * Get value of configured options. * - * @deprecated ConfiguredOptions::getItemOptionsValue is used instead + * @deprecated 102.0.4 ConfiguredOptions::getItemOptionsValue is used instead * @return float */ protected function getOptionsValue(): float diff --git a/app/code/Magento/Catalog/Pricing/Price/TierPrice.php b/app/code/Magento/Catalog/Pricing/Price/TierPrice.php index f250927889c29..1aa43a39af442 100644 --- a/app/code/Magento/Catalog/Pricing/Price/TierPrice.php +++ b/app/code/Magento/Catalog/Pricing/Price/TierPrice.php @@ -29,7 +29,7 @@ class TierPrice extends AbstractPrice implements TierPriceInterface, BasePricePr /** * @var Session - * @deprecated 101.1.0 + * @deprecated 102.0.0 */ protected $customerSession; diff --git a/app/code/Magento/Catalog/Test/Unit/Block/Product/ListProductTest.php b/app/code/Magento/Catalog/Test/Unit/Block/Product/ListProductTest.php index fe07f69e8046f..c53168b7bf7c3 100644 --- a/app/code/Magento/Catalog/Test/Unit/Block/Product/ListProductTest.php +++ b/app/code/Magento/Catalog/Test/Unit/Block/Product/ListProductTest.php @@ -217,7 +217,7 @@ public function testGetAddToCartPostParams() ->will($this->returnValue(true)); $this->cartHelperMock->expects($this->any()) ->method('getAddUrl') - ->with($this->equalTo($this->productMock), $this->equalTo([])) + ->with($this->equalTo($this->productMock), $this->equalTo(['_escape' => false])) ->will($this->returnValue($url)); $this->productMock->expects($this->once()) ->method('getEntityId') diff --git a/app/code/Magento/Catalog/Test/Unit/Model/Attribute/Backend/CustomlayoutupdateTest.php b/app/code/Magento/Catalog/Test/Unit/Model/Attribute/Backend/CustomlayoutupdateTest.php index 01fad60609c29..65d79bbb83451 100644 --- a/app/code/Magento/Catalog/Test/Unit/Model/Attribute/Backend/CustomlayoutupdateTest.php +++ b/app/code/Magento/Catalog/Test/Unit/Model/Attribute/Backend/CustomlayoutupdateTest.php @@ -16,6 +16,11 @@ class CustomlayoutupdateTest extends \PHPUnit\Framework\TestCase */ private $attributeName = 'private'; + /** + * @var string + */ + private $attributeLabel = 'label'; + /** * @var \Magento\Catalog\Model\Attribute\Backend\Customlayoutupdate */ @@ -126,11 +131,14 @@ private function getMockedAttribute() $mock->expects($this->any()) ->method('getName') - ->will($this->returnValue($this->attributeName)); - + ->willReturn($this->attributeName); + $mock->expects($this->any()) + ->method('getData') + ->with('frontend_label') + ->willReturn($this->attributeLabel); $mock->expects($this->any()) ->method('getIsRequired') - ->will($this->returnValue(false)); + ->willReturn(false); return $mock; } diff --git a/app/code/Magento/Catalog/Ui/Component/Listing/Columns/Websites.php b/app/code/Magento/Catalog/Ui/Component/Listing/Columns/Websites.php index 494b77724e5b7..22c56d4a3c19d 100644 --- a/app/code/Magento/Catalog/Ui/Component/Listing/Columns/Websites.php +++ b/app/code/Magento/Catalog/Ui/Component/Listing/Columns/Websites.php @@ -110,6 +110,7 @@ public function prepare() * Apply sorting. * * @return void + * @since 103.0.2 */ protected function applySorting() { diff --git a/app/code/Magento/Catalog/Ui/DataProvider/Product/Form/Modifier/Alerts.php b/app/code/Magento/Catalog/Ui/DataProvider/Product/Form/Modifier/Alerts.php index 1f154d3204454..9b328e9bcc199 100644 --- a/app/code/Magento/Catalog/Ui/DataProvider/Product/Form/Modifier/Alerts.php +++ b/app/code/Magento/Catalog/Ui/DataProvider/Product/Form/Modifier/Alerts.php @@ -54,7 +54,6 @@ public function __construct( /** * {@inheritdoc} - * @since 101.0.0 */ public function modifyData(array $data) { @@ -63,7 +62,6 @@ public function modifyData(array $data) /** * {@inheritdoc} - * @since 101.0.0 */ public function modifyMeta(array $meta) { diff --git a/app/code/Magento/Catalog/Ui/DataProvider/Product/Form/Modifier/Categories.php b/app/code/Magento/Catalog/Ui/DataProvider/Product/Form/Modifier/Categories.php index 5f1907344ce83..bc7e484ff5b30 100644 --- a/app/code/Magento/Catalog/Ui/DataProvider/Product/Form/Modifier/Categories.php +++ b/app/code/Magento/Catalog/Ui/DataProvider/Product/Form/Modifier/Categories.php @@ -49,7 +49,7 @@ class Categories extends AbstractModifier /** * @var array - * @deprecated 101.0.3 + * @deprecated 101.0.0 * @since 101.0.0 */ protected $categoriesTrees = []; diff --git a/app/code/Magento/Catalog/Ui/DataProvider/Product/Form/Modifier/TierPrice.php b/app/code/Magento/Catalog/Ui/DataProvider/Product/Form/Modifier/TierPrice.php index a529580e29239..05db2027279a2 100644 --- a/app/code/Magento/Catalog/Ui/DataProvider/Product/Form/Modifier/TierPrice.php +++ b/app/code/Magento/Catalog/Ui/DataProvider/Product/Form/Modifier/TierPrice.php @@ -18,7 +18,7 @@ * Tier prices modifier adds price type option to tier prices. * * @api - * @since 101.1.0 + * @since 102.0.0 */ class TierPrice extends AbstractModifier { @@ -46,7 +46,7 @@ public function __construct( /** * @inheritdoc - * @since 101.1.0 + * @since 102.0.0 */ public function modifyData(array $data) { @@ -56,7 +56,7 @@ public function modifyData(array $data) /** * Add tier price info to meta array. * - * @since 101.1.0 + * @since 102.0.0 * @param array $meta * @return array */ diff --git a/app/code/Magento/Catalog/Ui/DataProvider/Product/Form/Modifier/Websites.php b/app/code/Magento/Catalog/Ui/DataProvider/Product/Form/Modifier/Websites.php index b9d8fc56a91d9..7ee617e762b74 100644 --- a/app/code/Magento/Catalog/Ui/DataProvider/Product/Form/Modifier/Websites.php +++ b/app/code/Magento/Catalog/Ui/DataProvider/Product/Form/Modifier/Websites.php @@ -186,6 +186,7 @@ protected function getFieldsForFieldset() 'componentType' => Form\Field::NAME, 'formElement' => Form\Element\Checkbox::NAME, 'description' => __($website['name']), + '__disableTmpl' => true, 'tooltip' => $tooltip, 'sortOrder' => $sortOrder, 'dataScope' => 'website_ids.' . $website['id'], @@ -353,18 +354,21 @@ protected function getWebsitesOptionsList() $websiteOption = [ 'value' => '0.' . $website['id'], 'label' => __($website['name']), + '__disableTmpl' => true, ]; $groupOptions = []; foreach ($website['groups'] as $group) { $groupOption = [ 'value' => '0.' . $website['id'] . '.' . $group['id'], 'label' => __($group['name']), + '__disableTmpl' => true, ]; $storeViewOptions = []; foreach ($group['stores'] as $storeView) { $storeViewOptions[] = [ 'value' => $storeView['id'], 'label' => __($storeView['name']), + '__disableTmpl' => true, ]; } if (!empty($storeViewOptions)) { diff --git a/app/code/Magento/Catalog/Ui/DataProvider/Product/Listing/Collector/Image.php b/app/code/Magento/Catalog/Ui/DataProvider/Product/Listing/Collector/Image.php index 4fcb87ab1396e..45b9c2b0b69ce 100644 --- a/app/code/Magento/Catalog/Ui/DataProvider/Product/Listing/Collector/Image.php +++ b/app/code/Magento/Catalog/Ui/DataProvider/Product/Listing/Collector/Image.php @@ -54,7 +54,7 @@ class Image implements ProductRenderCollectorInterface /** * @var DesignInterface - * @deprecated 2.3.0 DesignLoader is used for design theme loading + * @deprecated 103.0.1 DesignLoader is used for design theme loading */ private $design; diff --git a/app/code/Magento/Catalog/Ui/DataProvider/Product/ProductDataProvider.php b/app/code/Magento/Catalog/Ui/DataProvider/Product/ProductDataProvider.php index a518afc576d61..b5d2bad1d348e 100644 --- a/app/code/Magento/Catalog/Ui/DataProvider/Product/ProductDataProvider.php +++ b/app/code/Magento/Catalog/Ui/DataProvider/Product/ProductDataProvider.php @@ -130,6 +130,7 @@ public function addFilter(\Magento\Framework\Api\Filter $filter) /** * @inheritdoc + * @since 103.0.0 */ public function getMeta() { diff --git a/app/code/Magento/Catalog/Ui/DataProvider/Product/ProductRenderCollectorInterface.php b/app/code/Magento/Catalog/Ui/DataProvider/Product/ProductRenderCollectorInterface.php index 3f16e0a6617da..3ea21223816c1 100644 --- a/app/code/Magento/Catalog/Ui/DataProvider/Product/ProductRenderCollectorInterface.php +++ b/app/code/Magento/Catalog/Ui/DataProvider/Product/ProductRenderCollectorInterface.php @@ -12,7 +12,7 @@ * Allows to collect absolutely different product render information from different modules * * @api - * @since 101.1.0 + * @since 102.0.0 */ interface ProductRenderCollectorInterface { @@ -22,7 +22,7 @@ interface ProductRenderCollectorInterface * @param ProductInterface $product * @param ProductRenderInterface $productRender * @return void - * @since 101.1.0 + * @since 102.0.0 */ public function collect(ProductInterface $product, ProductRenderInterface $productRender); } diff --git a/app/code/Magento/Catalog/ViewModel/Product/Breadcrumbs.php b/app/code/Magento/Catalog/ViewModel/Product/Breadcrumbs.php index d1424d637937b..559966ab18cd7 100644 --- a/app/code/Magento/Catalog/ViewModel/Product/Breadcrumbs.php +++ b/app/code/Magento/Catalog/ViewModel/Product/Breadcrumbs.php @@ -117,7 +117,7 @@ public function getJsonConfigurationHtmlEscaped() : string * Returns breadcrumb json. * * @return string - * @deprecated in favor of new method with name {suffix}Html{postfix}() + * @deprecated 103.0.0 in favor of new method with name {suffix}Html{postfix}() */ public function getJsonConfiguration() { diff --git a/app/code/Magento/Catalog/composer.json b/app/code/Magento/Catalog/composer.json index fa8daaabe5710..94008d6ac71bc 100644 --- a/app/code/Magento/Catalog/composer.json +++ b/app/code/Magento/Catalog/composer.json @@ -6,38 +6,37 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-authorization": "*", - "magento/module-asynchronous-operations": "*", - "magento/module-backend": "*", - "magento/module-catalog-inventory": "*", - "magento/module-catalog-rule": "*", - "magento/module-catalog-url-rewrite": "*", - "magento/module-checkout": "*", - "magento/module-cms": "*", - "magento/module-config": "*", - "magento/module-customer": "*", - "magento/module-directory": "*", - "magento/module-eav": "*", - "magento/module-indexer": "*", - "magento/module-media-storage": "*", - "magento/module-msrp": "*", - "magento/module-page-cache": "*", - "magento/module-product-alert": "*", - "magento/module-quote": "*", - "magento/module-store": "*", - "magento/module-tax": "*", - "magento/module-theme": "*", - "magento/module-ui": "*", - "magento/module-url-rewrite": "*", - "magento/module-widget": "*", - "magento/module-wishlist": "*", - "magento/module-authorization": "*" + "magento/framework": "102.0.*", + "magento/module-authorization": "100.3.*", + "magento/module-asynchronous-operations": "100.3.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog-inventory": "100.3.*", + "magento/module-catalog-rule": "101.1.*", + "magento/module-catalog-url-rewrite": "100.3.*", + "magento/module-checkout": "100.3.*", + "magento/module-cms": "103.0.*", + "magento/module-config": "101.1.*", + "magento/module-customer": "102.0.*", + "magento/module-directory": "100.3.*", + "magento/module-eav": "102.0.*", + "magento/module-indexer": "100.3.*", + "magento/module-media-storage": "100.3.*", + "magento/module-msrp": "100.3.*", + "magento/module-page-cache": "100.3.*", + "magento/module-product-alert": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-store": "101.0.*", + "magento/module-tax": "100.3.*", + "magento/module-theme": "101.0.*", + "magento/module-ui": "101.1.*", + "magento/module-url-rewrite": "101.1.*", + "magento/module-widget": "101.1.*", + "magento/module-wishlist": "101.1.*" }, "suggest": { - "magento/module-cookie": "*", - "magento/module-sales": "*", - "magento/module-catalog-sample-data": "*" + "magento/module-cookie": "100.3.*", + "magento/module-sales": "102.0.*", + "magento/module-catalog-sample-data": "Sample Data version: 100.3.*" }, "type": "magento2-module", "license": [ @@ -51,5 +50,6 @@ "psr-4": { "Magento\\Catalog\\": "" } - } + }, + "version": "103.0.3-p1" } diff --git a/app/code/Magento/Catalog/etc/di.xml b/app/code/Magento/Catalog/etc/di.xml index 1c0b2daf4d6f3..f737cd5015003 100644 --- a/app/code/Magento/Catalog/etc/di.xml +++ b/app/code/Magento/Catalog/etc/di.xml @@ -1173,4 +1173,24 @@ + + + true + + + + + CatalogValidationState + + + + + LayoutUpdateAttributeValidator + + + + + LayoutUpdateAttributeValidatorFactory + + diff --git a/app/code/Magento/Catalog/view/adminhtml/ui_component/product_listing.xml b/app/code/Magento/Catalog/view/adminhtml/ui_component/product_listing.xml index d2d6f098125ce..b05ebe0851fb5 100644 --- a/app/code/Magento/Catalog/view/adminhtml/ui_component/product_listing.xml +++ b/app/code/Magento/Catalog/view/adminhtml/ui_component/product_listing.xml @@ -132,7 +132,7 @@ true text - ui/grid/cells/html + ui/grid/cells/text @@ -155,7 +155,7 @@ text - ui/grid/cells/html + ui/grid/cells/text diff --git a/app/code/Magento/CatalogAnalytics/composer.json b/app/code/Magento/CatalogAnalytics/composer.json index c6f5c35437089..d3f2a63b6b6e1 100644 --- a/app/code/Magento/CatalogAnalytics/composer.json +++ b/app/code/Magento/CatalogAnalytics/composer.json @@ -3,9 +3,9 @@ "description": "N/A", "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-catalog": "*", - "magento/module-analytics": "*" + "magento/framework": "102.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-analytics": "100.3.*" }, "type": "magento2-module", "license": [ @@ -19,5 +19,6 @@ "psr-4": { "Magento\\CatalogAnalytics\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/CatalogGraphQl/Model/Resolver/Product/MediaGalleryEntries.php b/app/code/Magento/CatalogGraphQl/Model/Resolver/Product/MediaGalleryEntries.php index e1338930afe5d..8843ad02320c6 100644 --- a/app/code/Magento/CatalogGraphQl/Model/Resolver/Product/MediaGalleryEntries.php +++ b/app/code/Magento/CatalogGraphQl/Model/Resolver/Product/MediaGalleryEntries.php @@ -18,7 +18,7 @@ * @inheritdoc * * Format a product's media gallery information to conform to GraphQL schema representation - * @deprecated + * @deprecated 100.3.3 */ class MediaGalleryEntries implements ResolverInterface { diff --git a/app/code/Magento/CatalogGraphQl/composer.json b/app/code/Magento/CatalogGraphQl/composer.json index 13fcbe9a7d357..11da4a26564e6 100644 --- a/app/code/Magento/CatalogGraphQl/composer.json +++ b/app/code/Magento/CatalogGraphQl/composer.json @@ -4,18 +4,18 @@ "type": "magento2-module", "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/module-eav": "*", - "magento/module-catalog": "*", - "magento/module-catalog-inventory": "*", - "magento/module-search": "*", - "magento/module-store": "*", - "magento/module-eav-graph-ql": "*", - "magento/framework": "*" + "magento/module-eav": "102.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-inventory": "100.3.*", + "magento/module-search": "101.0.*", + "magento/module-store": "101.0.*", + "magento/module-eav-graph-ql": "100.3.*", + "magento/framework": "102.0.*" }, "suggest": { - "magento/module-graph-ql": "*", - "magento/module-graph-ql-cache": "*", - "magento/module-store-graph-ql": "*" + "magento/module-graph-ql": "100.3.*", + "magento/module-graph-ql-cache": "100.3.*", + "magento/module-store-graph-ql": "100.3.*" }, "license": [ "OSL-3.0", @@ -28,5 +28,6 @@ "psr-4": { "Magento\\CatalogGraphQl\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/CatalogImportExport/Model/Export/Product.php b/app/code/Magento/CatalogImportExport/Model/Export/Product.php index 428c61c7fec0f..01a4d90c9517f 100644 --- a/app/code/Magento/CatalogImportExport/Model/Export/Product.php +++ b/app/code/Magento/CatalogImportExport/Model/Export/Product.php @@ -942,6 +942,7 @@ protected function getExportData() * * @return array Keys are product IDs, values arrays with keys as store IDs * and values as store-specific versions of Product entity. + * @since 100.2.1 */ protected function loadCollection(): array { @@ -1132,7 +1133,7 @@ protected function collectMultirawData() * @param \Magento\Catalog\Model\Product $item * @param int $storeId * @return bool - * @deprecated + * @deprecated 100.2.3 */ protected function hasMultiselectData($item, $storeId) { diff --git a/app/code/Magento/CatalogImportExport/Model/Import/Product.php b/app/code/Magento/CatalogImportExport/Model/Import/Product.php index 3db502e0d3388..dee4dc6904132 100644 --- a/app/code/Magento/CatalogImportExport/Model/Import/Product.php +++ b/app/code/Magento/CatalogImportExport/Model/Import/Product.php @@ -548,7 +548,7 @@ class Product extends \Magento\ImportExport\Model\Import\Entity\AbstractEntity /** * @var \Magento\CatalogInventory\Model\ResourceModel\Stock\ItemFactory - * @deprecated this variable isn't used anymore. + * @deprecated 101.0.0 this variable isn't used anymore. */ protected $_stockResItemFac; @@ -612,7 +612,7 @@ class Product extends \Magento\ImportExport\Model\Import\Entity\AbstractEntity /** * @var array - * @deprecated 100.1.5 + * @deprecated 100.0.3 * @since 100.0.3 */ protected $productUrlKeys = []; @@ -935,6 +935,7 @@ public function getMultipleValueSeparator() * Return empty attribute value constant * * @return string + * @since 101.0.0 */ public function getEmptyAttributeValueConstant() { @@ -1444,7 +1445,7 @@ private function getNewSkuFieldsForSelect() * * @return void * @since 100.0.4 - * @deprecated + * @deprecated 100.2.3 */ protected function initMediaGalleryResources() { diff --git a/app/code/Magento/CatalogImportExport/Model/Import/Product/Type/AbstractType.php b/app/code/Magento/CatalogImportExport/Model/Import/Product/Type/AbstractType.php index 3b6caef66ce6c..1652da2906347 100644 --- a/app/code/Magento/CatalogImportExport/Model/Import/Product/Type/AbstractType.php +++ b/app/code/Magento/CatalogImportExport/Model/Import/Product/Type/AbstractType.php @@ -32,6 +32,7 @@ abstract class AbstractType * Maintain a list of invisible attributes * * @var array + * @since 100.2.5 */ public static $invAttributesCache = []; diff --git a/app/code/Magento/CatalogImportExport/Model/StockItemImporterInterface.php b/app/code/Magento/CatalogImportExport/Model/StockItemImporterInterface.php index bc314d825ba3e..6ee0e536c0ae8 100644 --- a/app/code/Magento/CatalogImportExport/Model/StockItemImporterInterface.php +++ b/app/code/Magento/CatalogImportExport/Model/StockItemImporterInterface.php @@ -11,6 +11,7 @@ * Interface StockItemImporterInterface * * @api + * @since 101.0.0 */ interface StockItemImporterInterface { @@ -22,6 +23,7 @@ interface StockItemImporterInterface * @throws \Magento\Framework\Exception\CouldNotSaveException * @throws \Magento\Framework\Exception\InputException * @throws \Magento\Framework\Validation\ValidationException + * @since 101.0.0 */ public function import(array $stockData); } diff --git a/app/code/Magento/CatalogImportExport/composer.json b/app/code/Magento/CatalogImportExport/composer.json index 25d9c1bde0d68..5cd33ed34d3b0 100644 --- a/app/code/Magento/CatalogImportExport/composer.json +++ b/app/code/Magento/CatalogImportExport/composer.json @@ -7,17 +7,17 @@ "require": { "php": "~7.1.3||~7.2.0||~7.3.0", "ext-ctype": "*", - "magento/framework": "*", - "magento/module-catalog": "*", - "magento/module-catalog-inventory": "*", - "magento/module-catalog-url-rewrite": "*", - "magento/module-customer": "*", - "magento/module-eav": "*", - "magento/module-import-export": "*", - "magento/module-media-storage": "*", - "magento/module-store": "*", - "magento/module-tax": "*", - "magento/module-authorization": "*" + "magento/framework": "102.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-inventory": "100.3.*", + "magento/module-catalog-url-rewrite": "100.3.*", + "magento/module-customer": "102.0.*", + "magento/module-eav": "102.0.*", + "magento/module-import-export": "100.3.*", + "magento/module-media-storage": "100.3.*", + "magento/module-store": "101.0.*", + "magento/module-tax": "100.3.*", + "magento/module-authorization": "100.3.*" }, "type": "magento2-module", "license": [ @@ -31,5 +31,6 @@ "psr-4": { "Magento\\CatalogImportExport\\": "" } - } + }, + "version": "101.0.3" } diff --git a/app/code/Magento/CatalogInventory/Api/Data/StockCollectionInterface.php b/app/code/Magento/CatalogInventory/Api/Data/StockCollectionInterface.php index 9ae22e5e1a364..07b8429ddf188 100644 --- a/app/code/Magento/CatalogInventory/Api/Data/StockCollectionInterface.php +++ b/app/code/Magento/CatalogInventory/Api/Data/StockCollectionInterface.php @@ -16,7 +16,7 @@ * @api * @since 100.0.2 * - * @deprecated 2.3.0 Replaced with Multi Source Inventory + * @deprecated 100.3.0 Replaced with Multi Source Inventory * @link https://devdocs.magento.com/guides/v2.3/inventory/index.html * @link https://devdocs.magento.com/guides/v2.3/inventory/catalog-inventory-replacements.html */ diff --git a/app/code/Magento/CatalogInventory/Api/Data/StockInterface.php b/app/code/Magento/CatalogInventory/Api/Data/StockInterface.php index 087fae6e6568a..581081f2924ea 100644 --- a/app/code/Magento/CatalogInventory/Api/Data/StockInterface.php +++ b/app/code/Magento/CatalogInventory/Api/Data/StockInterface.php @@ -12,7 +12,7 @@ * @api * @since 100.0.2 * - * @deprecated 2.3.0 Replaced with Multi Source Inventory + * @deprecated 100.3.0 Replaced with Multi Source Inventory * @link https://devdocs.magento.com/guides/v2.3/inventory/index.html * @link https://devdocs.magento.com/guides/v2.3/inventory/catalog-inventory-replacements.html */ diff --git a/app/code/Magento/CatalogInventory/Api/Data/StockItemCollectionInterface.php b/app/code/Magento/CatalogInventory/Api/Data/StockItemCollectionInterface.php index 59a1f58b74c2c..2d5f980a57039 100644 --- a/app/code/Magento/CatalogInventory/Api/Data/StockItemCollectionInterface.php +++ b/app/code/Magento/CatalogInventory/Api/Data/StockItemCollectionInterface.php @@ -16,7 +16,7 @@ * @api * @since 100.0.2 * - * @deprecated 2.3.0 Replaced with Multi Source Inventory + * @deprecated 100.3.0 Replaced with Multi Source Inventory * @link https://devdocs.magento.com/guides/v2.3/inventory/index.html * @link https://devdocs.magento.com/guides/v2.3/inventory/catalog-inventory-replacements.html */ diff --git a/app/code/Magento/CatalogInventory/Api/Data/StockItemInterface.php b/app/code/Magento/CatalogInventory/Api/Data/StockItemInterface.php index e2e8a744c4bcd..759cc9883be9f 100644 --- a/app/code/Magento/CatalogInventory/Api/Data/StockItemInterface.php +++ b/app/code/Magento/CatalogInventory/Api/Data/StockItemInterface.php @@ -12,7 +12,7 @@ * @api * @since 100.0.2 * - * @deprecated 2.3.0 Replaced with Multi Source Inventory + * @deprecated 100.3.0 Replaced with Multi Source Inventory * @link https://devdocs.magento.com/guides/v2.3/inventory/index.html * @link https://devdocs.magento.com/guides/v2.3/inventory/catalog-inventory-replacements.html */ diff --git a/app/code/Magento/CatalogInventory/Api/Data/StockStatusCollectionInterface.php b/app/code/Magento/CatalogInventory/Api/Data/StockStatusCollectionInterface.php index 1cc045745a0c1..a7d70a943d405 100644 --- a/app/code/Magento/CatalogInventory/Api/Data/StockStatusCollectionInterface.php +++ b/app/code/Magento/CatalogInventory/Api/Data/StockStatusCollectionInterface.php @@ -12,7 +12,7 @@ * @api * @since 100.0.2 * - * @deprecated 2.3.0 Replaced with Multi Source Inventory + * @deprecated 100.3.0 Replaced with Multi Source Inventory * @link https://devdocs.magento.com/guides/v2.3/inventory/index.html * @link https://devdocs.magento.com/guides/v2.3/inventory/catalog-inventory-replacements.html */ diff --git a/app/code/Magento/CatalogInventory/Api/Data/StockStatusInterface.php b/app/code/Magento/CatalogInventory/Api/Data/StockStatusInterface.php index 66b639fb088d1..35e56b0e3e7bb 100644 --- a/app/code/Magento/CatalogInventory/Api/Data/StockStatusInterface.php +++ b/app/code/Magento/CatalogInventory/Api/Data/StockStatusInterface.php @@ -12,7 +12,7 @@ * @api * @since 100.0.2 * - * @deprecated 2.3.0 Replaced with Multi Source Inventory + * @deprecated 100.3.0 Replaced with Multi Source Inventory * @link https://devdocs.magento.com/guides/v2.3/inventory/index.html * @link https://devdocs.magento.com/guides/v2.3/inventory/catalog-inventory-replacements.html */ diff --git a/app/code/Magento/CatalogInventory/Api/RegisterProductSaleInterface.php b/app/code/Magento/CatalogInventory/Api/RegisterProductSaleInterface.php index 6fd1e7466970d..ddb3fce22a853 100644 --- a/app/code/Magento/CatalogInventory/Api/RegisterProductSaleInterface.php +++ b/app/code/Magento/CatalogInventory/Api/RegisterProductSaleInterface.php @@ -13,9 +13,10 @@ /** * @api * - * @deprecated 2.3.0 Replaced with Multi Source Inventory + * @deprecated 100.3.0 Replaced with Multi Source Inventory * @link https://devdocs.magento.com/guides/v2.3/inventory/index.html * @link https://devdocs.magento.com/guides/v2.3/inventory/catalog-inventory-replacements.html + * @since 100.3.0 */ interface RegisterProductSaleInterface { @@ -29,6 +30,7 @@ interface RegisterProductSaleInterface * @param int $websiteId * @return StockItemInterface[] * @throws LocalizedException + * @since 100.3.0 */ public function registerProductsSale($items, $websiteId = null); } diff --git a/app/code/Magento/CatalogInventory/Api/RevertProductSaleInterface.php b/app/code/Magento/CatalogInventory/Api/RevertProductSaleInterface.php index 552e30da89235..83f7d73deaed9 100644 --- a/app/code/Magento/CatalogInventory/Api/RevertProductSaleInterface.php +++ b/app/code/Magento/CatalogInventory/Api/RevertProductSaleInterface.php @@ -10,9 +10,10 @@ /** * @api * - * @deprecated 2.3.0 Replaced with Multi Source Inventory + * @deprecated 100.3.0 Replaced with Multi Source Inventory * @link https://devdocs.magento.com/guides/v2.3/inventory/index.html * @link https://devdocs.magento.com/guides/v2.3/inventory/catalog-inventory-replacements.html + * @since 100.3.0 */ interface RevertProductSaleInterface { @@ -24,6 +25,7 @@ interface RevertProductSaleInterface * @param string[] $items * @param int $websiteId * @return bool + * @since 100.3.0 */ public function revertProductsSale($items, $websiteId = null); } diff --git a/app/code/Magento/CatalogInventory/Api/StockConfigurationInterface.php b/app/code/Magento/CatalogInventory/Api/StockConfigurationInterface.php index 5019e86b7af40..ab52580988c5e 100644 --- a/app/code/Magento/CatalogInventory/Api/StockConfigurationInterface.php +++ b/app/code/Magento/CatalogInventory/Api/StockConfigurationInterface.php @@ -10,7 +10,7 @@ * @api * @since 100.0.2 * - * @deprecated 2.3.0 Replaced with Multi Source Inventory + * @deprecated 100.3.0 Replaced with Multi Source Inventory * @link https://devdocs.magento.com/guides/v2.3/inventory/index.html * @link https://devdocs.magento.com/guides/v2.3/inventory/catalog-inventory-replacements.html */ diff --git a/app/code/Magento/CatalogInventory/Api/StockCriteriaInterface.php b/app/code/Magento/CatalogInventory/Api/StockCriteriaInterface.php index eb6fb2e812f2e..92f2290ec08ad 100644 --- a/app/code/Magento/CatalogInventory/Api/StockCriteriaInterface.php +++ b/app/code/Magento/CatalogInventory/Api/StockCriteriaInterface.php @@ -10,7 +10,7 @@ * @api * @since 100.0.2 * - * @deprecated 2.3.0 Replaced with Multi Source Inventory + * @deprecated 100.3.0 Replaced with Multi Source Inventory * @link https://devdocs.magento.com/guides/v2.3/inventory/index.html * @link https://devdocs.magento.com/guides/v2.3/inventory/catalog-inventory-replacements.html */ diff --git a/app/code/Magento/CatalogInventory/Api/StockIndexInterface.php b/app/code/Magento/CatalogInventory/Api/StockIndexInterface.php index 18bab6571c209..24dbaf5bb6d5f 100644 --- a/app/code/Magento/CatalogInventory/Api/StockIndexInterface.php +++ b/app/code/Magento/CatalogInventory/Api/StockIndexInterface.php @@ -10,7 +10,7 @@ * @api * @since 100.0.2 * - * @deprecated 2.3.0 Replaced with Multi Source Inventory + * @deprecated 100.3.0 Replaced with Multi Source Inventory * @link https://devdocs.magento.com/guides/v2.3/inventory/index.html * @link https://devdocs.magento.com/guides/v2.3/inventory/catalog-inventory-replacements.html */ diff --git a/app/code/Magento/CatalogInventory/Api/StockItemCriteriaInterface.php b/app/code/Magento/CatalogInventory/Api/StockItemCriteriaInterface.php index 1d2cabbb48a11..b72289ee09278 100644 --- a/app/code/Magento/CatalogInventory/Api/StockItemCriteriaInterface.php +++ b/app/code/Magento/CatalogInventory/Api/StockItemCriteriaInterface.php @@ -10,7 +10,7 @@ * @api * @since 100.0.2 * - * @deprecated 2.3.0 Replaced with Multi Source Inventory + * @deprecated 100.3.0 Replaced with Multi Source Inventory * @link https://devdocs.magento.com/guides/v2.3/inventory/index.html * @link https://devdocs.magento.com/guides/v2.3/inventory/catalog-inventory-replacements.html */ diff --git a/app/code/Magento/CatalogInventory/Api/StockItemRepositoryInterface.php b/app/code/Magento/CatalogInventory/Api/StockItemRepositoryInterface.php index eecf6cbe07632..4269569f9da1a 100644 --- a/app/code/Magento/CatalogInventory/Api/StockItemRepositoryInterface.php +++ b/app/code/Magento/CatalogInventory/Api/StockItemRepositoryInterface.php @@ -10,7 +10,7 @@ * @api * @since 100.0.2 * - * @deprecated 2.3.0 Replaced with Multi Source Inventory + * @deprecated 100.3.0 Replaced with Multi Source Inventory * @link https://devdocs.magento.com/guides/v2.3/inventory/index.html * @link https://devdocs.magento.com/guides/v2.3/inventory/catalog-inventory-replacements.html */ diff --git a/app/code/Magento/CatalogInventory/Api/StockManagementInterface.php b/app/code/Magento/CatalogInventory/Api/StockManagementInterface.php index 8796953e32fd0..3c1c7ea137c89 100644 --- a/app/code/Magento/CatalogInventory/Api/StockManagementInterface.php +++ b/app/code/Magento/CatalogInventory/Api/StockManagementInterface.php @@ -10,7 +10,7 @@ * @api * @since 100.0.2 * - * @deprecated 2.3.0 Replaced with Multi Source Inventory + * @deprecated 100.3.0 Replaced with Multi Source Inventory * @link https://devdocs.magento.com/guides/v2.3/inventory/index.html * @link https://devdocs.magento.com/guides/v2.3/inventory/catalog-inventory-replacements.html */ diff --git a/app/code/Magento/CatalogInventory/Api/StockRegistryInterface.php b/app/code/Magento/CatalogInventory/Api/StockRegistryInterface.php index 5478f90fb7d9f..bab5f9b457c45 100644 --- a/app/code/Magento/CatalogInventory/Api/StockRegistryInterface.php +++ b/app/code/Magento/CatalogInventory/Api/StockRegistryInterface.php @@ -10,7 +10,7 @@ * @api * @since 100.0.2 * - * @deprecated 2.3.0 Replaced with Multi Source Inventory + * @deprecated 100.3.0 Replaced with Multi Source Inventory * @link https://devdocs.magento.com/guides/v2.3/inventory/index.html * @link https://devdocs.magento.com/guides/v2.3/inventory/catalog-inventory-replacements.html */ diff --git a/app/code/Magento/CatalogInventory/Api/StockRepositoryInterface.php b/app/code/Magento/CatalogInventory/Api/StockRepositoryInterface.php index 3cfdf45506340..a7d64ec9eedb3 100644 --- a/app/code/Magento/CatalogInventory/Api/StockRepositoryInterface.php +++ b/app/code/Magento/CatalogInventory/Api/StockRepositoryInterface.php @@ -10,7 +10,7 @@ * @api * @since 100.0.2 * - * @deprecated 2.3.0 Replaced with Multi Source Inventory + * @deprecated 100.3.0 Replaced with Multi Source Inventory * @link https://devdocs.magento.com/guides/v2.3/inventory/index.html * @link https://devdocs.magento.com/guides/v2.3/inventory/catalog-inventory-replacements.html */ diff --git a/app/code/Magento/CatalogInventory/Api/StockStateInterface.php b/app/code/Magento/CatalogInventory/Api/StockStateInterface.php index 8be7f5be79f27..d404e885d78df 100644 --- a/app/code/Magento/CatalogInventory/Api/StockStateInterface.php +++ b/app/code/Magento/CatalogInventory/Api/StockStateInterface.php @@ -10,7 +10,7 @@ * @api * @since 100.0.2 * - * @deprecated 2.3.0 Replaced with Multi Source Inventory + * @deprecated 100.3.0 Replaced with Multi Source Inventory * @link https://devdocs.magento.com/guides/v2.3/inventory/index.html * @link https://devdocs.magento.com/guides/v2.3/inventory/catalog-inventory-replacements.html */ diff --git a/app/code/Magento/CatalogInventory/Api/StockStatusCriteriaInterface.php b/app/code/Magento/CatalogInventory/Api/StockStatusCriteriaInterface.php index 99ad7005d9da4..be1c9642826a7 100644 --- a/app/code/Magento/CatalogInventory/Api/StockStatusCriteriaInterface.php +++ b/app/code/Magento/CatalogInventory/Api/StockStatusCriteriaInterface.php @@ -10,7 +10,7 @@ * @api * @since 100.0.2 * - * @deprecated 2.3.0 Replaced with Multi Source Inventory + * @deprecated 100.3.0 Replaced with Multi Source Inventory * @link https://devdocs.magento.com/guides/v2.3/inventory/index.html * @link https://devdocs.magento.com/guides/v2.3/inventory/catalog-inventory-replacements.html */ diff --git a/app/code/Magento/CatalogInventory/Api/StockStatusRepositoryInterface.php b/app/code/Magento/CatalogInventory/Api/StockStatusRepositoryInterface.php index d29171f557f05..91efd55761335 100644 --- a/app/code/Magento/CatalogInventory/Api/StockStatusRepositoryInterface.php +++ b/app/code/Magento/CatalogInventory/Api/StockStatusRepositoryInterface.php @@ -10,7 +10,7 @@ * @api * @since 100.0.2 * - * @deprecated 2.3.0 Replaced with Multi Source Inventory + * @deprecated 100.3.0 Replaced with Multi Source Inventory * @link https://devdocs.magento.com/guides/v2.3/inventory/index.html * @link https://devdocs.magento.com/guides/v2.3/inventory/catalog-inventory-replacements.html */ diff --git a/app/code/Magento/CatalogInventory/Block/Adminhtml/Form/Field/Minsaleqty.php b/app/code/Magento/CatalogInventory/Block/Adminhtml/Form/Field/Minsaleqty.php index d3c165bbde1a8..1f4037e735228 100644 --- a/app/code/Magento/CatalogInventory/Block/Adminhtml/Form/Field/Minsaleqty.php +++ b/app/code/Magento/CatalogInventory/Block/Adminhtml/Form/Field/Minsaleqty.php @@ -11,7 +11,7 @@ * @api * @since 100.0.2 * - * @deprecated 2.3.0 Replaced with Multi Source Inventory + * @deprecated 100.3.0 Replaced with Multi Source Inventory * @link https://devdocs.magento.com/guides/v2.3/inventory/index.html * @link https://devdocs.magento.com/guides/v2.3/inventory/catalog-inventory-replacements.html */ diff --git a/app/code/Magento/CatalogInventory/Block/Adminhtml/Form/Field/Stock.php b/app/code/Magento/CatalogInventory/Block/Adminhtml/Form/Field/Stock.php index 5378801b6c24b..3c1a6e7982708 100644 --- a/app/code/Magento/CatalogInventory/Block/Adminhtml/Form/Field/Stock.php +++ b/app/code/Magento/CatalogInventory/Block/Adminhtml/Form/Field/Stock.php @@ -15,7 +15,7 @@ * @api * @since 100.0.2 * - * @deprecated 2.3.0 Replaced with Multi Source Inventory + * @deprecated 100.3.0 Replaced with Multi Source Inventory * @link https://devdocs.magento.com/guides/v2.3/inventory/index.html * @link https://devdocs.magento.com/guides/v2.3/inventory/catalog-inventory-replacements.html */ diff --git a/app/code/Magento/CatalogInventory/Block/Qtyincrements.php b/app/code/Magento/CatalogInventory/Block/Qtyincrements.php index a12b72cd0a971..dd8c987fe5da4 100644 --- a/app/code/Magento/CatalogInventory/Block/Qtyincrements.php +++ b/app/code/Magento/CatalogInventory/Block/Qtyincrements.php @@ -15,7 +15,7 @@ * @api * @since 100.0.2 * - * @deprecated 2.3.0 Replaced with Multi Source Inventory + * @deprecated 100.3.0 Replaced with Multi Source Inventory * @link https://devdocs.magento.com/guides/v2.3/inventory/index.html * @link https://devdocs.magento.com/guides/v2.3/inventory/catalog-inventory-replacements.html */ diff --git a/app/code/Magento/CatalogInventory/Block/Stockqty/DefaultStockqty.php b/app/code/Magento/CatalogInventory/Block/Stockqty/DefaultStockqty.php index 5a3a3ca6ee983..c19dc5fb34bf6 100644 --- a/app/code/Magento/CatalogInventory/Block/Stockqty/DefaultStockqty.php +++ b/app/code/Magento/CatalogInventory/Block/Stockqty/DefaultStockqty.php @@ -12,7 +12,7 @@ * @api * @since 100.0.2 * - * @deprecated 2.3.0 Replaced with Multi Source Inventory + * @deprecated 100.3.0 Replaced with Multi Source Inventory * @link https://devdocs.magento.com/guides/v2.3/inventory/index.html * @link https://devdocs.magento.com/guides/v2.3/inventory/catalog-inventory-replacements.html */ diff --git a/app/code/Magento/CatalogInventory/Helper/Stock.php b/app/code/Magento/CatalogInventory/Helper/Stock.php index 798ac4074c188..87a0e3c32ad09 100644 --- a/app/code/Magento/CatalogInventory/Helper/Stock.php +++ b/app/code/Magento/CatalogInventory/Helper/Stock.php @@ -19,9 +19,10 @@ * @SuppressWarnings(PHPMD.CouplingBetweenObjects) * @api * - * @deprecated 2.3.0 Replaced with Multi Source Inventory + * @deprecated 100.3.0 Replaced with Multi Source Inventory * @link https://devdocs.magento.com/guides/v2.3/inventory/index.html * @link https://devdocs.magento.com/guides/v2.3/inventory/catalog-inventory-replacements.html + * @since 100.0.2 */ class Stock { diff --git a/app/code/Magento/CatalogInventory/Model/Adminhtml/Stock/Item.php b/app/code/Magento/CatalogInventory/Model/Adminhtml/Stock/Item.php index 145b0d1454ae2..04e54acad5c0e 100644 --- a/app/code/Magento/CatalogInventory/Model/Adminhtml/Stock/Item.php +++ b/app/code/Magento/CatalogInventory/Model/Adminhtml/Stock/Item.php @@ -21,7 +21,7 @@ * @api * @since 100.0.2 * - * @deprecated 2.3.0 Replaced with Multi Source Inventory + * @deprecated 100.3.0 Replaced with Multi Source Inventory * @link https://devdocs.magento.com/guides/v2.3/inventory/index.html * @link https://devdocs.magento.com/guides/v2.3/inventory/catalog-inventory-replacements.html */ diff --git a/app/code/Magento/CatalogInventory/Model/Quote/Item/QuantityValidator.php b/app/code/Magento/CatalogInventory/Model/Quote/Item/QuantityValidator.php index 502d9532e8a05..821b1cdc00067 100644 --- a/app/code/Magento/CatalogInventory/Model/Quote/Item/QuantityValidator.php +++ b/app/code/Magento/CatalogInventory/Model/Quote/Item/QuantityValidator.php @@ -26,7 +26,7 @@ * @since 100.0.2 * @SuppressWarnings(PHPMD.CouplingBetweenObjects) * - * @deprecated 2.3.0 Replaced with Multi Source Inventory + * @deprecated 100.3.0 Replaced with Multi Source Inventory * @link https://devdocs.magento.com/guides/v2.3/inventory/index.html * @link https://devdocs.magento.com/guides/v2.3/inventory/catalog-inventory-replacements.html */ diff --git a/app/code/Magento/CatalogInventory/Model/ResourceModel/Indexer/Stock/DefaultStock.php b/app/code/Magento/CatalogInventory/Model/ResourceModel/Indexer/Stock/DefaultStock.php index 519466c505539..81942ff6eca33 100644 --- a/app/code/Magento/CatalogInventory/Model/ResourceModel/Indexer/Stock/DefaultStock.php +++ b/app/code/Magento/CatalogInventory/Model/ResourceModel/Indexer/Stock/DefaultStock.php @@ -19,7 +19,7 @@ * @api * @since 100.0.2 * - * @deprecated 2.3.0 Replaced with Multi Source Inventory + * @deprecated 100.3.0 Replaced with Multi Source Inventory * @link https://devdocs.magento.com/guides/v2.3/inventory/index.html * @link https://devdocs.magento.com/guides/v2.3/inventory/catalog-inventory-replacements.html */ diff --git a/app/code/Magento/CatalogInventory/Model/ResourceModel/Indexer/Stock/QueryProcessorInterface.php b/app/code/Magento/CatalogInventory/Model/ResourceModel/Indexer/Stock/QueryProcessorInterface.php index 115002b237645..665ebf2db2f30 100644 --- a/app/code/Magento/CatalogInventory/Model/ResourceModel/Indexer/Stock/QueryProcessorInterface.php +++ b/app/code/Magento/CatalogInventory/Model/ResourceModel/Indexer/Stock/QueryProcessorInterface.php @@ -12,7 +12,7 @@ * @api * @since 100.1.0 * - * @deprecated 2.3.0 Replaced with Multi Source Inventory + * @deprecated 100.3.0 Replaced with Multi Source Inventory * @link https://devdocs.magento.com/guides/v2.3/inventory/index.html * @link https://devdocs.magento.com/guides/v2.3/inventory/catalog-inventory-replacements.html */ diff --git a/app/code/Magento/CatalogInventory/Model/ResourceModel/Indexer/Stock/StockInterface.php b/app/code/Magento/CatalogInventory/Model/ResourceModel/Indexer/Stock/StockInterface.php index 24ed496372817..9a1945d5aefac 100644 --- a/app/code/Magento/CatalogInventory/Model/ResourceModel/Indexer/Stock/StockInterface.php +++ b/app/code/Magento/CatalogInventory/Model/ResourceModel/Indexer/Stock/StockInterface.php @@ -10,7 +10,7 @@ * @api * @since 100.0.2 * - * @deprecated 2.3.0 Replaced with Multi Source Inventory + * @deprecated 100.3.0 Replaced with Multi Source Inventory * @link https://devdocs.magento.com/guides/v2.3/inventory/index.html * @link https://devdocs.magento.com/guides/v2.3/inventory/catalog-inventory-replacements.html */ diff --git a/app/code/Magento/CatalogInventory/Model/ResourceModel/Indexer/StockFactory.php b/app/code/Magento/CatalogInventory/Model/ResourceModel/Indexer/StockFactory.php index 0ee162e429f40..49e4889c8edee 100644 --- a/app/code/Magento/CatalogInventory/Model/ResourceModel/Indexer/StockFactory.php +++ b/app/code/Magento/CatalogInventory/Model/ResourceModel/Indexer/StockFactory.php @@ -13,7 +13,7 @@ * @api * @since 100.0.2 * - * @deprecated 2.3.0 Replaced with Multi Source Inventory + * @deprecated 100.3.0 Replaced with Multi Source Inventory * @link https://devdocs.magento.com/guides/v2.3/inventory/index.html * @link https://devdocs.magento.com/guides/v2.3/inventory/catalog-inventory-replacements.html */ diff --git a/app/code/Magento/CatalogInventory/Model/ResourceModel/Stock.php b/app/code/Magento/CatalogInventory/Model/ResourceModel/Stock.php index 53f00529b9bcc..eaea6ee560c22 100644 --- a/app/code/Magento/CatalogInventory/Model/ResourceModel/Stock.php +++ b/app/code/Magento/CatalogInventory/Model/ResourceModel/Stock.php @@ -206,7 +206,7 @@ protected function _initConfig() /** * Set items out of stock basing on their quantities and config settings * - * @deprecated + * @deprecated 100.2.5 * @see \Magento\CatalogInventory\Model\ResourceModel\Stock\Item::updateSetOutOfStock * @param string|int $website * @SuppressWarnings(PHPMD.UnusedFormalParameter) @@ -243,7 +243,7 @@ public function updateSetOutOfStock($website = null) /** * Set items in stock basing on their quantities and config settings * - * @deprecated + * @deprecated 100.2.5 * @see \Magento\CatalogInventory\Model\ResourceModel\Stock\Item::updateSetInStock * @param int|string $website * @SuppressWarnings(PHPMD.UnusedFormalParameter) @@ -278,7 +278,7 @@ public function updateSetInStock($website) /** * Update items low stock date basing on their quantities and config settings * - * @deprecated + * @deprecated 100.2.5 * @see \Magento\CatalogInventory\Model\ResourceModel\Stock\Item::updateLowStockDate * @param int|string $website * @SuppressWarnings(PHPMD.UnusedFormalParameter) diff --git a/app/code/Magento/CatalogInventory/Model/ResourceModel/Stock/Status.php b/app/code/Magento/CatalogInventory/Model/ResourceModel/Stock/Status.php index 402ce5f2f611e..25bc0a0ce899e 100644 --- a/app/code/Magento/CatalogInventory/Model/ResourceModel/Stock/Status.php +++ b/app/code/Magento/CatalogInventory/Model/ResourceModel/Stock/Status.php @@ -14,9 +14,10 @@ * @SuppressWarnings(PHPMD.CouplingBetweenObjects) * @api * - * @deprecated 2.3.0 Replaced with Multi Source Inventory + * @deprecated 100.3.0 Replaced with Multi Source Inventory * @link https://devdocs.magento.com/guides/v2.3/inventory/index.html * @link https://devdocs.magento.com/guides/v2.3/inventory/catalog-inventory-replacements.html + * @since 100.0.2 */ class Status extends \Magento\Framework\Model\ResourceModel\Db\AbstractDb { @@ -227,6 +228,7 @@ public function addStockStatusToSelect(\Magento\Framework\DB\Select $select, \Ma * @param \Magento\Catalog\Model\ResourceModel\Product\Collection $collection * @param bool $isFilterInStock * @return \Magento\Catalog\Model\ResourceModel\Product\Collection $collection + * @since 100.0.6 */ public function addStockDataToCollection($collection, $isFilterInStock) { diff --git a/app/code/Magento/CatalogInventory/Model/Source/Backorders.php b/app/code/Magento/CatalogInventory/Model/Source/Backorders.php index 0bffb9a9888cd..d28da4e5b3497 100644 --- a/app/code/Magento/CatalogInventory/Model/Source/Backorders.php +++ b/app/code/Magento/CatalogInventory/Model/Source/Backorders.php @@ -10,7 +10,7 @@ * @api * @since 100.0.2 * - * @deprecated 2.3.0 Replaced with Multi Source Inventory + * @deprecated 100.3.0 Replaced with Multi Source Inventory * @link https://devdocs.magento.com/guides/v2.3/inventory/index.html * @link https://devdocs.magento.com/guides/v2.3/inventory/catalog-inventory-replacements.html */ diff --git a/app/code/Magento/CatalogInventory/Model/Source/Stock.php b/app/code/Magento/CatalogInventory/Model/Source/Stock.php index 7d44ab782de61..d6c87e23bd7f7 100644 --- a/app/code/Magento/CatalogInventory/Model/Source/Stock.php +++ b/app/code/Magento/CatalogInventory/Model/Source/Stock.php @@ -12,7 +12,7 @@ * @api * @since 100.0.2 * - * @deprecated 2.3.0 Replaced with Multi Source Inventory + * @deprecated 100.3.0 Replaced with Multi Source Inventory * @link https://devdocs.magento.com/guides/v2.3/inventory/index.html * @link https://devdocs.magento.com/guides/v2.3/inventory/catalog-inventory-replacements.html */ @@ -38,6 +38,7 @@ public function getAllOptions() * @param string $dir * * @return $this + * @since 100.2.4 */ public function addValueSortToCollection($collection, $dir = \Magento\Framework\Data\Collection::SORT_ORDER_DESC) { diff --git a/app/code/Magento/CatalogInventory/Model/Spi/StockRegistryProviderInterface.php b/app/code/Magento/CatalogInventory/Model/Spi/StockRegistryProviderInterface.php index 0fa4b919c40fa..b2dfe532ffbe0 100644 --- a/app/code/Magento/CatalogInventory/Model/Spi/StockRegistryProviderInterface.php +++ b/app/code/Magento/CatalogInventory/Model/Spi/StockRegistryProviderInterface.php @@ -8,7 +8,7 @@ /** * Interface StockRegistryProviderInterface * - * @deprecated 2.3.0 Replaced with Multi Source Inventory + * @deprecated 100.3.2 Replaced with Multi Source Inventory * @link https://devdocs.magento.com/guides/v2.3/inventory/index.html * @link https://devdocs.magento.com/guides/v2.3/inventory/catalog-inventory-replacements.html */ diff --git a/app/code/Magento/CatalogInventory/Model/Spi/StockStateProviderInterface.php b/app/code/Magento/CatalogInventory/Model/Spi/StockStateProviderInterface.php index 30f703b5b928f..5bb78e1489b39 100644 --- a/app/code/Magento/CatalogInventory/Model/Spi/StockStateProviderInterface.php +++ b/app/code/Magento/CatalogInventory/Model/Spi/StockStateProviderInterface.php @@ -10,7 +10,7 @@ /** * Interface StockStateProviderInterface * - * @deprecated 2.3.0 Replaced with Multi Source Inventory + * @deprecated 100.3.2 Replaced with Multi Source Inventory * @link https://devdocs.magento.com/guides/v2.3/inventory/index.html * @link https://devdocs.magento.com/guides/v2.3/inventory/catalog-inventory-replacements.html */ diff --git a/app/code/Magento/CatalogInventory/composer.json b/app/code/Magento/CatalogInventory/composer.json index ab586f409c8f8..b1f43b996e537 100644 --- a/app/code/Magento/CatalogInventory/composer.json +++ b/app/code/Magento/CatalogInventory/composer.json @@ -6,14 +6,14 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-catalog": "*", - "magento/module-config": "*", - "magento/module-customer": "*", - "magento/module-eav": "*", - "magento/module-quote": "*", - "magento/module-store": "*", - "magento/module-ui": "*" + "magento/framework": "102.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-config": "101.1.*", + "magento/module-customer": "102.0.*", + "magento/module-eav": "102.0.*", + "magento/module-quote": "101.1.*", + "magento/module-store": "101.0.*", + "magento/module-ui": "101.1.*" }, "type": "magento2-module", "license": [ @@ -28,5 +28,6 @@ "Magento\\CatalogInventory\\": "" } }, - "abandoned": "magento/inventory-composer-metapackage" + "abandoned": "magento/inventory-composer-metapackage", + "version": "100.3.3" } diff --git a/app/code/Magento/CatalogInventoryGraphQl/composer.json b/app/code/Magento/CatalogInventoryGraphQl/composer.json index 644e3e2b6c34b..6f0ebc97c4c17 100644 --- a/app/code/Magento/CatalogInventoryGraphQl/composer.json +++ b/app/code/Magento/CatalogInventoryGraphQl/composer.json @@ -1,24 +1,25 @@ { - "name": "magento/module-catalog-inventory-graph-ql", - "description": "N/A", - "type": "magento2-module", - "require": { - "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-store": "*", - "magento/module-catalog": "*", - "magento/module-catalog-inventory": "*" - }, - "license": [ - "OSL-3.0", - "AFL-3.0" - ], - "autoload": { - "files": [ - "registration.php" + "name": "magento/module-catalog-inventory-graph-ql", + "description": "N/A", + "type": "magento2-module", + "require": { + "php": "~7.1.3||~7.2.0||~7.3.0", + "magento/framework": "102.0.*", + "magento/module-store": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-inventory": "100.3.*" + }, + "license": [ + "OSL-3.0", + "AFL-3.0" ], - "psr-4": { - "Magento\\CatalogInventoryGraphQl\\": "" - } - } + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\CatalogInventoryGraphQl\\": "" + } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/CatalogRule/Model/Indexer/IndexBuilder.php b/app/code/Magento/CatalogRule/Model/Indexer/IndexBuilder.php index e12eabba76401..421a6e718b3dc 100644 --- a/app/code/Magento/CatalogRule/Model/Indexer/IndexBuilder.php +++ b/app/code/Magento/CatalogRule/Model/Indexer/IndexBuilder.php @@ -30,7 +30,7 @@ class IndexBuilder /** * @var \Magento\Framework\EntityManager\MetadataPool - * @deprecated 100.2.0 + * @deprecated 101.0.0 * @since 100.1.0 */ protected $metadataPool; @@ -41,7 +41,7 @@ class IndexBuilder * This array contain list of CatalogRuleGroupWebsite table columns * * @var array - * @deprecated 100.2.0 + * @deprecated 101.0.0 */ protected $_catalogRuleGroupWebsiteColumnsList = ['rule_id', 'customer_group_id', 'website_id']; @@ -473,7 +473,7 @@ protected function getTable($tableName) * * @param Rule $rule * @return $this - * @deprecated 100.2.0 + * @deprecated 101.0.0 * @see ReindexRuleProduct::execute */ protected function updateRuleProductData(Rule $rule) @@ -501,7 +501,7 @@ protected function updateRuleProductData(Rule $rule) * @param Product|null $product * @throws \Exception * @return $this - * @deprecated 100.2.0 + * @deprecated 101.0.0 * @see ReindexRuleProductPrice::execute * @see ReindexRuleGroupWebsite::execute */ @@ -516,7 +516,7 @@ protected function applyAllRules(Product $product = null) * Update CatalogRuleGroupWebsite data * * @return $this - * @deprecated 100.2.0 + * @deprecated 101.0.0 * @see ReindexRuleGroupWebsite::execute */ protected function updateCatalogRuleGroupWebsiteData() @@ -542,7 +542,7 @@ protected function deleteOldData() * @param array $ruleData * @param array $productData * @return float - * @deprecated 100.2.0 + * @deprecated 101.0.0 * @see ProductPriceCalculator::calculate */ protected function calcRuleProductPrice($ruleData, $productData = null) @@ -557,7 +557,7 @@ protected function calcRuleProductPrice($ruleData, $productData = null) * @param Product|null $product * @return \Zend_Db_Statement_Interface * @throws \Magento\Framework\Exception\LocalizedException - * @deprecated 100.2.0 + * @deprecated 101.0.0 * @see RuleProductsSelectBuilder::build */ protected function getRuleProductsStmt($websiteId, Product $product = null) @@ -571,7 +571,7 @@ protected function getRuleProductsStmt($websiteId, Product $product = null) * @param array $arrData * @return $this * @throws \Exception - * @deprecated 100.2.0 + * @deprecated 101.0.0 * @see RuleProductPricesPersistor::execute */ protected function saveRuleProductPrices($arrData) diff --git a/app/code/Magento/CatalogRule/composer.json b/app/code/Magento/CatalogRule/composer.json index 1b171c8d3658e..6cc05c6e0225d 100644 --- a/app/code/Magento/CatalogRule/composer.json +++ b/app/code/Magento/CatalogRule/composer.json @@ -6,18 +6,18 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-backend": "*", - "magento/module-catalog": "*", - "magento/module-customer": "*", - "magento/module-eav": "*", - "magento/module-rule": "*", - "magento/module-store": "*", - "magento/module-ui": "*" + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-customer": "102.0.*", + "magento/module-eav": "102.0.*", + "magento/module-rule": "100.3.*", + "magento/module-store": "101.0.*", + "magento/module-ui": "101.1.*" }, "suggest": { - "magento/module-import-export": "*", - "magento/module-catalog-rule-sample-data": "*" + "magento/module-import-export": "100.3.*", + "magento/module-catalog-rule-sample-data": "Sample Data version: 100.3.*" }, "type": "magento2-module", "license": [ @@ -31,5 +31,6 @@ "psr-4": { "Magento\\CatalogRule\\": "" } - } + }, + "version": "101.1.3" } diff --git a/app/code/Magento/CatalogRuleConfigurable/composer.json b/app/code/Magento/CatalogRuleConfigurable/composer.json index 2e5468cb11103..c24717d78d5a7 100644 --- a/app/code/Magento/CatalogRuleConfigurable/composer.json +++ b/app/code/Magento/CatalogRuleConfigurable/composer.json @@ -6,14 +6,14 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", + "magento/framework": "102.0.*", "magento/magento-composer-installer": "*", - "magento/module-catalog": "*", - "magento/module-catalog-rule": "*", - "magento/module-configurable-product": "*" + "magento/module-catalog": "103.0.*", + "magento/module-catalog-rule": "101.1.*", + "magento/module-configurable-product": "100.3.*" }, "suggest": { - "magento/module-catalog-rule": "*" + "magento/module-catalog-rule": "101.1.*" }, "type": "magento2-module", "license": [ @@ -27,5 +27,6 @@ "psr-4": { "Magento\\CatalogRuleConfigurable\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/CatalogSearch/Model/Adapter/Mysql/Aggregation/DataProvider.php b/app/code/Magento/CatalogSearch/Model/Adapter/Mysql/Aggregation/DataProvider.php index 66f5ad7a7192b..770f255f7eeea 100644 --- a/app/code/Magento/CatalogSearch/Model/Adapter/Mysql/Aggregation/DataProvider.php +++ b/app/code/Magento/CatalogSearch/Model/Adapter/Mysql/Aggregation/DataProvider.php @@ -21,7 +21,7 @@ /** * Data Provider for catalog search. * - * @deprecated + * @deprecated 101.0.0 * @see \Magento\ElasticSearch */ class DataProvider implements DataProviderInterface diff --git a/app/code/Magento/CatalogSearch/Model/Adapter/Mysql/Aggregation/DataProvider/QueryBuilder.php b/app/code/Magento/CatalogSearch/Model/Adapter/Mysql/Aggregation/DataProvider/QueryBuilder.php index 26837448f2df2..2636ffa5a89b8 100644 --- a/app/code/Magento/CatalogSearch/Model/Adapter/Mysql/Aggregation/DataProvider/QueryBuilder.php +++ b/app/code/Magento/CatalogSearch/Model/Adapter/Mysql/Aggregation/DataProvider/QueryBuilder.php @@ -22,7 +22,7 @@ /** * Attribute query builder * - * @deprecated + * @deprecated 101.0.0 * @see \Magento\ElasticSearch * * @SuppressWarnings(PHPMD.CouplingBetweenObjects) diff --git a/app/code/Magento/CatalogSearch/Model/Adapter/Mysql/Aggregation/DataProvider/SelectBuilderForAttribute.php b/app/code/Magento/CatalogSearch/Model/Adapter/Mysql/Aggregation/DataProvider/SelectBuilderForAttribute.php index 00012a78d1003..52006a28102e3 100644 --- a/app/code/Magento/CatalogSearch/Model/Adapter/Mysql/Aggregation/DataProvider/SelectBuilderForAttribute.php +++ b/app/code/Magento/CatalogSearch/Model/Adapter/Mysql/Aggregation/DataProvider/SelectBuilderForAttribute.php @@ -22,7 +22,7 @@ /** * Build select for attribute. * - * @deprecated + * @deprecated 101.0.0 * @see \Magento\ElasticSearch */ class SelectBuilderForAttribute diff --git a/app/code/Magento/CatalogSearch/Model/Adapter/Mysql/Aggregation/DataProvider/SelectBuilderForAttribute/ApplyStockConditionToSelect.php b/app/code/Magento/CatalogSearch/Model/Adapter/Mysql/Aggregation/DataProvider/SelectBuilderForAttribute/ApplyStockConditionToSelect.php index be572793f1ec3..f7ad37d180399 100644 --- a/app/code/Magento/CatalogSearch/Model/Adapter/Mysql/Aggregation/DataProvider/SelectBuilderForAttribute/ApplyStockConditionToSelect.php +++ b/app/code/Magento/CatalogSearch/Model/Adapter/Mysql/Aggregation/DataProvider/SelectBuilderForAttribute/ApplyStockConditionToSelect.php @@ -14,7 +14,7 @@ /** * Join stock table with stock condition to select. * - * @deprecated + * @deprecated 101.0.0 * @see \Magento\ElasticSearch */ class ApplyStockConditionToSelect diff --git a/app/code/Magento/CatalogSearch/Model/Adapter/Mysql/BaseSelectStrategy/BaseSelectAttributesSearchStrategy.php b/app/code/Magento/CatalogSearch/Model/Adapter/Mysql/BaseSelectStrategy/BaseSelectAttributesSearchStrategy.php index 27a784f8609bb..0448269c5c1e4 100644 --- a/app/code/Magento/CatalogSearch/Model/Adapter/Mysql/BaseSelectStrategy/BaseSelectAttributesSearchStrategy.php +++ b/app/code/Magento/CatalogSearch/Model/Adapter/Mysql/BaseSelectStrategy/BaseSelectAttributesSearchStrategy.php @@ -19,7 +19,7 @@ * The main idea of this strategy is using eav index table as main table for query * in case when search request requires search by attributes * - * @deprecated + * @deprecated 101.0.0 * @see \Magento\ElasticSearch */ class BaseSelectAttributesSearchStrategy implements BaseSelectStrategyInterface diff --git a/app/code/Magento/CatalogSearch/Model/Adapter/Mysql/BaseSelectStrategy/BaseSelectFullTextSearchStrategy.php b/app/code/Magento/CatalogSearch/Model/Adapter/Mysql/BaseSelectStrategy/BaseSelectFullTextSearchStrategy.php index bff878122c8c4..ba2246e8b71db 100644 --- a/app/code/Magento/CatalogSearch/Model/Adapter/Mysql/BaseSelectStrategy/BaseSelectFullTextSearchStrategy.php +++ b/app/code/Magento/CatalogSearch/Model/Adapter/Mysql/BaseSelectStrategy/BaseSelectFullTextSearchStrategy.php @@ -18,7 +18,7 @@ * The main idea of this strategy is using fulltext search index table as main table for query * in case when search request does not requires any search by attributes * - * @deprecated + * @deprecated 101.0.0 * @see \Magento\ElasticSearch */ class BaseSelectFullTextSearchStrategy implements BaseSelectStrategyInterface diff --git a/app/code/Magento/CatalogSearch/Model/Adapter/Mysql/Dynamic/DataProvider.php b/app/code/Magento/CatalogSearch/Model/Adapter/Mysql/Dynamic/DataProvider.php index eb4761adf830c..634099bb5802d 100644 --- a/app/code/Magento/CatalogSearch/Model/Adapter/Mysql/Dynamic/DataProvider.php +++ b/app/code/Magento/CatalogSearch/Model/Adapter/Mysql/Dynamic/DataProvider.php @@ -24,7 +24,7 @@ /** * @SuppressWarnings(PHPMD.CouplingBetweenObjects) - * @deprecated + * @deprecated 101.0.0 * @see \Magento\ElasticSearch */ class DataProvider implements DataProviderInterface diff --git a/app/code/Magento/CatalogSearch/Model/Adapter/Mysql/Field/Resolver.php b/app/code/Magento/CatalogSearch/Model/Adapter/Mysql/Field/Resolver.php index c24acf4610e07..d30080f86d52f 100644 --- a/app/code/Magento/CatalogSearch/Model/Adapter/Mysql/Field/Resolver.php +++ b/app/code/Magento/CatalogSearch/Model/Adapter/Mysql/Field/Resolver.php @@ -11,7 +11,7 @@ use Magento\Framework\Search\Adapter\Mysql\Field\ResolverInterface; /** - * @deprecated + * @deprecated 101.0.0 * @see \Magento\ElasticSearch */ class Resolver implements ResolverInterface diff --git a/app/code/Magento/CatalogSearch/Model/Adapter/Mysql/Filter/AliasResolver.php b/app/code/Magento/CatalogSearch/Model/Adapter/Mysql/Filter/AliasResolver.php index bf431396cc0c7..e6f1836e9db8f 100644 --- a/app/code/Magento/CatalogSearch/Model/Adapter/Mysql/Filter/AliasResolver.php +++ b/app/code/Magento/CatalogSearch/Model/Adapter/Mysql/Filter/AliasResolver.php @@ -12,7 +12,7 @@ * Purpose of class is to resolve table alias for Search Request filter * @api * @since 100.1.6 - * @deprecated + * @deprecated 101.0.0 * @see \Magento\ElasticSearch */ class AliasResolver diff --git a/app/code/Magento/CatalogSearch/Model/Adapter/Mysql/Filter/Preprocessor.php b/app/code/Magento/CatalogSearch/Model/Adapter/Mysql/Filter/Preprocessor.php index c758e773f43c1..860a3d7c650bd 100644 --- a/app/code/Magento/CatalogSearch/Model/Adapter/Mysql/Filter/Preprocessor.php +++ b/app/code/Magento/CatalogSearch/Model/Adapter/Mysql/Filter/Preprocessor.php @@ -28,7 +28,7 @@ * * @SuppressWarnings(PHPMD.CookieAndSessionMisuse) * @SuppressWarnings(PHPMD.CouplingBetweenObjects) - * @deprecated + * @deprecated 101.0.0 * @see \Magento\ElasticSearch */ class Preprocessor implements PreprocessorInterface diff --git a/app/code/Magento/CatalogSearch/Model/Adapter/Mysql/Plugin/Aggregation/Category/DataProvider.php b/app/code/Magento/CatalogSearch/Model/Adapter/Mysql/Plugin/Aggregation/Category/DataProvider.php index a5650cac73395..da3327a918427 100644 --- a/app/code/Magento/CatalogSearch/Model/Adapter/Mysql/Plugin/Aggregation/Category/DataProvider.php +++ b/app/code/Magento/CatalogSearch/Model/Adapter/Mysql/Plugin/Aggregation/Category/DataProvider.php @@ -18,7 +18,7 @@ /** * @SuppressWarnings(PHPMD.CouplingBetweenObjects) - * @deprecated + * @deprecated 101.0.0 * @see \Magento\ElasticSearch */ class DataProvider diff --git a/app/code/Magento/CatalogSearch/Model/Advanced.php b/app/code/Magento/CatalogSearch/Model/Advanced.php index 5b96a8c21cbea..ea1f5f56525d8 100644 --- a/app/code/Magento/CatalogSearch/Model/Advanced.php +++ b/app/code/Magento/CatalogSearch/Model/Advanced.php @@ -67,7 +67,7 @@ class Advanced extends \Magento\Framework\Model\AbstractModel /** * Initialize dependencies * - * @deprecated + * @deprecated 101.0.2 * @var Config */ protected $_catalogConfig; diff --git a/app/code/Magento/CatalogSearch/Model/Fulltext.php b/app/code/Magento/CatalogSearch/Model/Fulltext.php index 398d6e9dd18dd..0c1cd6e2bcdee 100644 --- a/app/code/Magento/CatalogSearch/Model/Fulltext.php +++ b/app/code/Magento/CatalogSearch/Model/Fulltext.php @@ -22,7 +22,7 @@ * @method string getDataIndex() * @method \Magento\CatalogSearch\Model\Fulltext setDataIndex(string $value) * - * @deprecated + * @deprecated 101.0.0 * @see \Magento\ElasticSearch */ class Fulltext extends \Magento\Framework\Model\AbstractModel @@ -76,7 +76,7 @@ protected function _construct() * Reset search results cache * * @return $this - * @deprecated Not used anymore + * @deprecated 101.0.0 Not used anymore * @see \Magento\CatalogSearch\Model\ResourceModel\Fulltext::resetSearchResultsByStore */ public function resetSearchResults() diff --git a/app/code/Magento/CatalogSearch/Model/Indexer/Fulltext.php b/app/code/Magento/CatalogSearch/Model/Indexer/Fulltext.php index 21d8b7297da7d..11f9a286fc4bf 100644 --- a/app/code/Magento/CatalogSearch/Model/Indexer/Fulltext.php +++ b/app/code/Magento/CatalogSearch/Model/Indexer/Fulltext.php @@ -120,6 +120,7 @@ public function execute($entityIds) * @inheritdoc * * @throws \InvalidArgumentException + * @since 101.0.0 */ public function executeByDimensions(array $dimensions, \Traversable $entityIds = null) { diff --git a/app/code/Magento/CatalogSearch/Model/Indexer/Fulltext/Action/Full.php b/app/code/Magento/CatalogSearch/Model/Indexer/Fulltext/Action/Full.php index f56a4fe4d1b76..84955b6566ba2 100644 --- a/app/code/Magento/CatalogSearch/Model/Indexer/Fulltext/Action/Full.php +++ b/app/code/Magento/CatalogSearch/Model/Indexer/Fulltext/Action/Full.php @@ -41,7 +41,7 @@ class Full * Index values separator * * @var string - * @deprecated 100.1.6 Moved to \Magento\CatalogSearch\Model\Indexer\Fulltext\Action\DataProvider + * @deprecated 100.1.0 Moved to \Magento\CatalogSearch\Model\Indexer\Fulltext\Action\DataProvider * @see \Magento\CatalogSearch\Model\Indexer\Fulltext\Action\DataProvider::$separator */ protected $separator = ' | '; @@ -50,7 +50,7 @@ class Full * Array of \DateTime objects per store * * @var \DateTime[] - * @deprecated 100.1.6 Not used anymore + * @deprecated 100.1.0 Not used anymore */ protected $dates = []; @@ -58,7 +58,7 @@ class Full * Product Type Instances cache * * @var array - * @deprecated 100.1.6 Moved to \Magento\CatalogSearch\Model\Indexer\Fulltext\Action\DataProvider + * @deprecated 100.1.0 Moved to \Magento\CatalogSearch\Model\Indexer\Fulltext\Action\DataProvider * @see \Magento\CatalogSearch\Model\Indexer\Fulltext\Action\DataProvider::$productTypes */ protected $productTypes = []; @@ -67,7 +67,7 @@ class Full * Product Emulators cache * * @var array - * @deprecated 100.1.6 Moved to \Magento\CatalogSearch\Model\Indexer\Fulltext\Action\DataProvider + * @deprecated 100.1.0 Moved to \Magento\CatalogSearch\Model\Indexer\Fulltext\Action\DataProvider * @see \Magento\CatalogSearch\Model\Indexer\Fulltext\Action\DataProvider::$productEmulators */ protected $productEmulators = []; @@ -95,7 +95,7 @@ class Full * Catalog product type * * @var \Magento\Catalog\Model\Product\Type - * @deprecated 100.1.6 Moved to \Magento\CatalogSearch\Model\Indexer\Fulltext\Action\DataProvider + * @deprecated 100.1.0 Moved to \Magento\CatalogSearch\Model\Indexer\Fulltext\Action\DataProvider * @see \Magento\CatalogSearch\Model\Indexer\Fulltext\Action\DataProvider::$catalogProductType */ protected $catalogProductType; @@ -111,7 +111,7 @@ class Full * Core store config * * @var \Magento\Framework\App\Config\ScopeConfigInterface - * @deprecated 100.1.6 Not used anymore + * @deprecated 100.1.0 Not used anymore */ protected $scopeConfig; @@ -119,7 +119,7 @@ class Full * Store manager * * @var \Magento\Store\Model\StoreManagerInterface - * @deprecated 100.1.6 Moved to \Magento\CatalogSearch\Model\Indexer\Fulltext\Action\DataProvider + * @deprecated 100.1.0 Moved to \Magento\CatalogSearch\Model\Indexer\Fulltext\Action\DataProvider * @see \Magento\CatalogSearch\Model\Indexer\Fulltext\Action\DataProvider::$storeManager */ protected $storeManager; @@ -131,25 +131,25 @@ class Full /** * @var \Magento\Framework\Indexer\SaveHandler\IndexerInterface - * @deprecated 100.1.6 As part of self::cleanIndex() + * @deprecated 100.1.0 As part of self::cleanIndex() */ protected $indexHandler; /** * @var \Magento\Framework\Stdlib\DateTime - * @deprecated 100.1.6 Not used anymore + * @deprecated 100.1.0 Not used anymore */ protected $dateTime; /** * @var \Magento\Framework\Locale\ResolverInterface - * @deprecated 100.1.6 Not used anymore + * @deprecated 100.1.0 Not used anymore */ protected $localeResolver; /** * @var \Magento\Framework\Stdlib\DateTime\TimezoneInterface - * @deprecated 100.1.6 Not used anymore + * @deprecated 100.1.0 Not used anymore */ protected $localeDate; @@ -160,19 +160,19 @@ class Full /** * @var \Magento\CatalogSearch\Model\ResourceModel\Fulltext - * @deprecated 100.1.6 Not used anymore + * @deprecated 100.1.0 Not used anymore */ protected $fulltextResource; /** * @var \Magento\Framework\Search\Request\Config - * @deprecated 100.1.6 As part of self::reindexAll() + * @deprecated 100.1.0 As part of self::reindexAll() */ protected $searchRequestConfig; /** * @var \Magento\Framework\Search\Request\DimensionFactory - * @deprecated 100.1.6 As part of self::cleanIndex() + * @deprecated 100.1.0 As part of self::cleanIndex() */ private $dimensionFactory; @@ -183,7 +183,7 @@ class Full /** * @var \Magento\CatalogSearch\Model\Indexer\Fulltext\Action\IndexIteratorFactory - * @deprecated 100.1.6 DataProvider used directly without IndexIterator + * @deprecated 100.1.0 DataProvider used directly without IndexIterator * @see self::$dataProvider */ private $iteratorFactory; @@ -308,7 +308,7 @@ protected function getTable($table) /** * Get parents IDs of product IDs to be re-indexed * - * @deprecated as it not used in the class anymore and duplicates another API method + * @deprecated 100.2.3 as it not used in the class anymore and duplicates another API method * @see \Magento\CatalogSearch\Model\ResourceModel\Fulltext::getRelationsByChild() * * @param int[] $entityIds diff --git a/app/code/Magento/CatalogSearch/Model/Indexer/IndexerHandler.php b/app/code/Magento/CatalogSearch/Model/Indexer/IndexerHandler.php index 9f105bd3ea462..44da3f8ae79e2 100644 --- a/app/code/Magento/CatalogSearch/Model/Indexer/IndexerHandler.php +++ b/app/code/Magento/CatalogSearch/Model/Indexer/IndexerHandler.php @@ -18,7 +18,7 @@ * * @api * @since 100.0.2 - * @deprecated + * @deprecated 101.0.0 * @see \Magento\ElasticSearch */ class IndexerHandler implements IndexerInterface diff --git a/app/code/Magento/CatalogSearch/Model/Indexer/ProductFieldset.php b/app/code/Magento/CatalogSearch/Model/Indexer/ProductFieldset.php index 6db063bde7d1e..6b7ba8a019935 100644 --- a/app/code/Magento/CatalogSearch/Model/Indexer/ProductFieldset.php +++ b/app/code/Magento/CatalogSearch/Model/Indexer/ProductFieldset.php @@ -13,7 +13,7 @@ /** * @api * @since 100.0.2 - * @deprecated + * @deprecated 101.0.0 * @see \Magento\ElasticSearch */ class ProductFieldset implements \Magento\Framework\Indexer\FieldsetInterface diff --git a/app/code/Magento/CatalogSearch/Model/Indexer/Scope/IndexSwitcher.php b/app/code/Magento/CatalogSearch/Model/Indexer/Scope/IndexSwitcher.php index ed2b1be5c7035..c4de9d2503955 100644 --- a/app/code/Magento/CatalogSearch/Model/Indexer/Scope/IndexSwitcher.php +++ b/app/code/Magento/CatalogSearch/Model/Indexer/Scope/IndexSwitcher.php @@ -12,7 +12,7 @@ /** * Provides a functionality to replace main index with its temporary representation * - * @deprecated + * @deprecated 101.0.0 * @see \Magento\ElasticSearch */ class IndexSwitcher implements IndexSwitcherInterface diff --git a/app/code/Magento/CatalogSearch/Model/Indexer/Scope/IndexTableNotExistException.php b/app/code/Magento/CatalogSearch/Model/Indexer/Scope/IndexTableNotExistException.php index b01f3c50d5002..773d5513af446 100644 --- a/app/code/Magento/CatalogSearch/Model/Indexer/Scope/IndexTableNotExistException.php +++ b/app/code/Magento/CatalogSearch/Model/Indexer/Scope/IndexTableNotExistException.php @@ -14,7 +14,7 @@ * * @api * @since 100.2.0 - * @deprecated + * @deprecated 101.0.0 * @see \Magento\ElasticSearch */ class IndexTableNotExistException extends LocalizedException diff --git a/app/code/Magento/CatalogSearch/Model/Indexer/Scope/TemporaryResolver.php b/app/code/Magento/CatalogSearch/Model/Indexer/Scope/TemporaryResolver.php index 796559d1f7034..0677f8046cb50 100644 --- a/app/code/Magento/CatalogSearch/Model/Indexer/Scope/TemporaryResolver.php +++ b/app/code/Magento/CatalogSearch/Model/Indexer/Scope/TemporaryResolver.php @@ -12,7 +12,7 @@ /** * Resolves name of a temporary table for indexation * - * @deprecated + * @deprecated 101.0.0 * @see \Magento\ElasticSearch */ class TemporaryResolver implements \Magento\Framework\Search\Request\IndexScopeResolverInterface diff --git a/app/code/Magento/CatalogSearch/Model/Indexer/Scope/UnknownStateException.php b/app/code/Magento/CatalogSearch/Model/Indexer/Scope/UnknownStateException.php index 8722cd52b618a..c79d876c1127d 100644 --- a/app/code/Magento/CatalogSearch/Model/Indexer/Scope/UnknownStateException.php +++ b/app/code/Magento/CatalogSearch/Model/Indexer/Scope/UnknownStateException.php @@ -13,7 +13,7 @@ * * @api * @since 100.2.0 - * @deprecated + * @deprecated 101.0.0 * @see \Magento\ElasticSearch */ class UnknownStateException extends LocalizedException diff --git a/app/code/Magento/CatalogSearch/Model/ResourceModel/Advanced/Collection.php b/app/code/Magento/CatalogSearch/Model/ResourceModel/Advanced/Collection.php index a37cd80056b00..5c2813682ea65 100644 --- a/app/code/Magento/CatalogSearch/Model/ResourceModel/Advanced/Collection.php +++ b/app/code/Magento/CatalogSearch/Model/ResourceModel/Advanced/Collection.php @@ -27,6 +27,7 @@ use Magento\CatalogSearch\Model\ResourceModel\Fulltext\Collection\SearchResultApplierFactory; use Magento\Framework\App\ObjectManager; use Magento\Framework\Api\Search\SearchResultInterface; +use Magento\Search\Model\EngineResolver; /** * Advanced search collection @@ -40,6 +41,11 @@ */ class Collection extends \Magento\Catalog\Model\ResourceModel\Product\Collection { + /** + * Config search engine path. + */ + private const SEARCH_ENGINE_VALUE_PATH = 'catalog/search/engine'; + /** * List Of filters * @var array @@ -53,7 +59,7 @@ class Collection extends \Magento\Catalog\Model\ResourceModel\Product\Collection /** * @var \Magento\Framework\Search\Adapter\Mysql\TemporaryStorageFactory - * @deprecated There must be no dependencies on specific adapter in generic search implementation + * @deprecated 101.0.0 There must be no dependencies on specific adapter in generic search implementation */ private $temporaryStorageFactory; @@ -244,6 +250,7 @@ public function addFieldsToFilter($fields) /** * @inheritdoc + * @since 101.0.2 */ public function setOrder($attribute, $dir = Select::SQL_DESC) { @@ -261,6 +268,7 @@ public function setOrder($attribute, $dir = Select::SQL_DESC) /** * @inheritdoc + * @since 101.0.2 */ public function addCategoryFilter(\Magento\Catalog\Model\Category $category) { @@ -280,6 +288,7 @@ public function addCategoryFilter(\Magento\Catalog\Model\Category $category) /** * @inheritdoc + * @since 101.0.2 */ public function setVisibility($visibility) { @@ -344,6 +353,66 @@ protected function _renderFiltersBefore() parent::_renderFiltersBefore(); } + /** + * @inheritDoc + * @since 101.0.3 + */ + public function clear() + { + $this->searchResult = null; + return parent::clear(); + } + + /** + * @inheritDoc + * @since 101.0.3 + */ + protected function _reset() + { + $this->searchResult = null; + return parent::_reset(); + } + + /** + * @inheritdoc + * @since 101.0.3 + */ + public function _loadEntities($printQuery = false, $logQuery = false) + { + $this->getEntity(); + + $currentSearchEngine = $this->_scopeConfig->getValue(self::SEARCH_ENGINE_VALUE_PATH); + if ($this->_pageSize && $currentSearchEngine === EngineResolver::CATALOG_SEARCH_MYSQL_ENGINE) { + $this->getSelect()->limitPage($this->getCurPage(), $this->_pageSize); + } + + $this->printLogQuery($printQuery, $logQuery); + + try { + /** + * Prepare select query + * @var string $query + */ + $query = $this->getSelect(); + $rows = $this->_fetchAll($query); + } catch (\Exception $e) { + $this->printLogQuery(false, true, $query); + throw $e; + } + + foreach ($rows as $value) { + $object = $this->getNewEmptyItem()->setData($value); + $this->addItem($object); + if (isset($this->_itemsById[$object->getId()])) { + $this->_itemsById[$object->getId()][] = $object; + } else { + $this->_itemsById[$object->getId()] = [$object]; + } + } + + return $this; + } + /** * Get total records resolver. * diff --git a/app/code/Magento/CatalogSearch/Model/ResourceModel/Engine.php b/app/code/Magento/CatalogSearch/Model/ResourceModel/Engine.php index 93ae2c94e2105..1aa7355955b3b 100644 --- a/app/code/Magento/CatalogSearch/Model/ResourceModel/Engine.php +++ b/app/code/Magento/CatalogSearch/Model/ResourceModel/Engine.php @@ -8,7 +8,7 @@ /** * CatalogSearch Fulltext Index Engine resource model * - * @deprecated + * @deprecated 101.0.0 * @see \Magento\ElasticSearch */ class Engine implements EngineInterface diff --git a/app/code/Magento/CatalogSearch/Model/ResourceModel/EngineProvider.php b/app/code/Magento/CatalogSearch/Model/ResourceModel/EngineProvider.php index d1259159606d3..d0456ff011027 100644 --- a/app/code/Magento/CatalogSearch/Model/ResourceModel/EngineProvider.php +++ b/app/code/Magento/CatalogSearch/Model/ResourceModel/EngineProvider.php @@ -29,7 +29,7 @@ class EngineProvider /** * @var \Magento\Framework\App\Config\ScopeConfigInterface - * @deprecated since it is not used anymore + * @deprecated 101.0.0 since it is not used anymore */ protected $scopeConfig; diff --git a/app/code/Magento/CatalogSearch/Model/ResourceModel/Fulltext.php b/app/code/Magento/CatalogSearch/Model/ResourceModel/Fulltext.php index 0835fb66f876a..3614cd9dbf3a9 100644 --- a/app/code/Magento/CatalogSearch/Model/ResourceModel/Fulltext.php +++ b/app/code/Magento/CatalogSearch/Model/ResourceModel/Fulltext.php @@ -62,7 +62,7 @@ protected function _construct() * Reset search results * * @return $this - * @deprecated Not used anymore + * @deprecated 101.0.0 Not used anymore * @see Fulltext::resetSearchResultsByStore */ public function resetSearchResults() @@ -78,6 +78,7 @@ public function resetSearchResults() * * @param int $storeId * @return $this + * @since 101.0.0 */ public function resetSearchResultsByStore($storeId) { diff --git a/app/code/Magento/CatalogSearch/Model/ResourceModel/Fulltext/Collection.php b/app/code/Magento/CatalogSearch/Model/ResourceModel/Fulltext/Collection.php index a596354a0c8cd..8e2954488680c 100644 --- a/app/code/Magento/CatalogSearch/Model/ResourceModel/Fulltext/Collection.php +++ b/app/code/Magento/CatalogSearch/Model/ResourceModel/Fulltext/Collection.php @@ -27,6 +27,7 @@ use Magento\Framework\Exception\LocalizedException; use Magento\Framework\App\ObjectManager; use Magento\Catalog\Model\ResourceModel\Product\Collection\ProductLimitationFactory; +use Magento\Search\Model\EngineResolver; /** * Fulltext Collection @@ -41,6 +42,11 @@ */ class Collection extends \Magento\Catalog\Model\ResourceModel\Product\Collection { + /** + * Config search engine path. + */ + private const SEARCH_ENGINE_VALUE_PATH = 'catalog/search/engine'; + /** * @var QueryResponse * @deprecated 100.1.0 @@ -79,7 +85,7 @@ class Collection extends \Magento\Catalog\Model\ResourceModel\Product\Collection /** * @var \Magento\Framework\Search\Adapter\Mysql\TemporaryStorageFactory - * @deprecated There must be no dependencies on specific adapter in generic search implementation + * @deprecated 101.0.0 There must be no dependencies on specific adapter in generic search implementation */ private $temporaryStorageFactory; @@ -375,6 +381,66 @@ public function addFieldToFilter($field, $condition = null) return $this; } + /** + * @inheritDoc + * @since 101.0.3 + */ + public function clear() + { + $this->searchResult = null; + return parent::clear(); + } + + /** + * @inheritDoc + * @since 101.0.3 + */ + protected function _reset() + { + $this->searchResult = null; + return parent::_reset(); + } + + /** + * @inheritdoc + * @since 101.0.3 + */ + public function _loadEntities($printQuery = false, $logQuery = false) + { + $this->getEntity(); + + $currentSearchEngine = $this->_scopeConfig->getValue(self::SEARCH_ENGINE_VALUE_PATH); + if ($this->_pageSize && $currentSearchEngine === EngineResolver::CATALOG_SEARCH_MYSQL_ENGINE) { + $this->getSelect()->limitPage($this->getCurPage(), $this->_pageSize); + } + + $this->printLogQuery($printQuery, $logQuery); + + try { + /** + * Prepare select query + * @var string $query + */ + $query = $this->getSelect(); + $rows = $this->_fetchAll($query); + } catch (\Exception $e) { + $this->printLogQuery(false, true, $query); + throw $e; + } + + foreach ($rows as $value) { + $object = $this->getNewEmptyItem()->setData($value); + $this->addItem($object); + if (isset($this->_itemsById[$object->getId()])) { + $this->_itemsById[$object->getId()][] = $object; + } else { + $this->_itemsById[$object->getId()] = [$object]; + } + } + + return $this; + } + /** * Add search query filter * @@ -406,6 +472,7 @@ public function setOrder($attribute, $dir = Select::SQL_DESC) * @param string $attribute * @param string $dir * @return $this + * @since 101.0.2 */ public function addAttributeToSort($attribute, $dir = self::SORT_ORDER_ASC) { @@ -515,6 +582,7 @@ private function getSearchResultApplier(SearchResultInterface $searchResult): Se /** * @inheritdoc + * @since 100.2.3 */ protected function _beforeLoad() { diff --git a/app/code/Magento/CatalogSearch/Model/ResourceModel/Fulltext/Collection/DefaultFilterStrategyApplyChecker.php b/app/code/Magento/CatalogSearch/Model/ResourceModel/Fulltext/Collection/DefaultFilterStrategyApplyChecker.php index b396437fc66c7..a7e9c237f58c3 100644 --- a/app/code/Magento/CatalogSearch/Model/ResourceModel/Fulltext/Collection/DefaultFilterStrategyApplyChecker.php +++ b/app/code/Magento/CatalogSearch/Model/ResourceModel/Fulltext/Collection/DefaultFilterStrategyApplyChecker.php @@ -8,7 +8,7 @@ /** * This class add in backward compatibility purposes to check if need to apply old strategy for filter prepare process. - * @deprecated + * @deprecated 101.0.2 */ class DefaultFilterStrategyApplyChecker implements DefaultFilterStrategyApplyCheckerInterface { diff --git a/app/code/Magento/CatalogSearch/Model/ResourceModel/Fulltext/Collection/DefaultFilterStrategyApplyCheckerInterface.php b/app/code/Magento/CatalogSearch/Model/ResourceModel/Fulltext/Collection/DefaultFilterStrategyApplyCheckerInterface.php index a067767775393..d9e41af658089 100644 --- a/app/code/Magento/CatalogSearch/Model/ResourceModel/Fulltext/Collection/DefaultFilterStrategyApplyCheckerInterface.php +++ b/app/code/Magento/CatalogSearch/Model/ResourceModel/Fulltext/Collection/DefaultFilterStrategyApplyCheckerInterface.php @@ -8,7 +8,7 @@ /** * Added in backward compatibility purposes to check if need to apply old strategy for filter prepare process. - * @deprecated + * @deprecated 101.0.2 */ interface DefaultFilterStrategyApplyCheckerInterface { diff --git a/app/code/Magento/CatalogSearch/Model/Search/BaseSelectStrategy/BaseSelectStrategyInterface.php b/app/code/Magento/CatalogSearch/Model/Search/BaseSelectStrategy/BaseSelectStrategyInterface.php index 2d8dfb9222497..7c05661d4da7a 100644 --- a/app/code/Magento/CatalogSearch/Model/Search/BaseSelectStrategy/BaseSelectStrategyInterface.php +++ b/app/code/Magento/CatalogSearch/Model/Search/BaseSelectStrategy/BaseSelectStrategyInterface.php @@ -10,7 +10,7 @@ /** * This interface represents strategy that will be used to create base select for search request * - * @deprecated + * @deprecated 101.0.0 * @see \Magento\ElasticSearch */ interface BaseSelectStrategyInterface diff --git a/app/code/Magento/CatalogSearch/Model/Search/BaseSelectStrategy/StrategyMapper.php b/app/code/Magento/CatalogSearch/Model/Search/BaseSelectStrategy/StrategyMapper.php index e554d3c774a31..969ac18ae29bf 100644 --- a/app/code/Magento/CatalogSearch/Model/Search/BaseSelectStrategy/StrategyMapper.php +++ b/app/code/Magento/CatalogSearch/Model/Search/BaseSelectStrategy/StrategyMapper.php @@ -12,7 +12,7 @@ /** * This class is responsible for deciding which BaseSelectStrategyInterface should be used for passed SelectContainer * - * @deprecated + * @deprecated 101.0.0 * @see \Magento\ElasticSearch */ class StrategyMapper diff --git a/app/code/Magento/CatalogSearch/Model/Search/CustomAttributeFilterCheck.php b/app/code/Magento/CatalogSearch/Model/Search/CustomAttributeFilterCheck.php index 657c8540d7c68..89fac39b76680 100644 --- a/app/code/Magento/CatalogSearch/Model/Search/CustomAttributeFilterCheck.php +++ b/app/code/Magento/CatalogSearch/Model/Search/CustomAttributeFilterCheck.php @@ -12,7 +12,7 @@ /** * Checks if FilterInterface is by custom attribute * - * @deprecated + * @deprecated 101.0.0 * @see \Magento\ElasticSearch */ class CustomAttributeFilterCheck diff --git a/app/code/Magento/CatalogSearch/Model/Search/FilterMapper/CustomAttributeFilter.php b/app/code/Magento/CatalogSearch/Model/Search/FilterMapper/CustomAttributeFilter.php index 8c796f8770657..395f2de11971c 100644 --- a/app/code/Magento/CatalogSearch/Model/Search/FilterMapper/CustomAttributeFilter.php +++ b/app/code/Magento/CatalogSearch/Model/Search/FilterMapper/CustomAttributeFilter.php @@ -18,7 +18,7 @@ /** * Applies filters by custom attributes to base select. * - * @deprecated + * @deprecated 101.0.0 * @see \Magento\ElasticSearch */ class CustomAttributeFilter diff --git a/app/code/Magento/CatalogSearch/Model/Search/FilterMapper/DimensionsProcessor.php b/app/code/Magento/CatalogSearch/Model/Search/FilterMapper/DimensionsProcessor.php index 3d2b9eed03761..9bbb0aa2e65e2 100644 --- a/app/code/Magento/CatalogSearch/Model/Search/FilterMapper/DimensionsProcessor.php +++ b/app/code/Magento/CatalogSearch/Model/Search/FilterMapper/DimensionsProcessor.php @@ -17,7 +17,7 @@ * Class DimensionsProcessor * Adds dimension conditions to select query * - * @deprecated + * @deprecated 101.0.0 * @see \Magento\ElasticSearch */ class DimensionsProcessor diff --git a/app/code/Magento/CatalogSearch/Model/Search/FilterMapper/ExclusionStrategy.php b/app/code/Magento/CatalogSearch/Model/Search/FilterMapper/ExclusionStrategy.php index c382569338e29..5af634d41c13d 100644 --- a/app/code/Magento/CatalogSearch/Model/Search/FilterMapper/ExclusionStrategy.php +++ b/app/code/Magento/CatalogSearch/Model/Search/FilterMapper/ExclusionStrategy.php @@ -21,7 +21,7 @@ /** * Strategy which processes exclusions from general rules * - * @deprecated + * @deprecated 101.0.0 * @see \Magento\ElasticSearch * * @SuppressWarnings(PHPMD.CouplingBetweenObjects) diff --git a/app/code/Magento/CatalogSearch/Model/Search/FilterMapper/FilterContext.php b/app/code/Magento/CatalogSearch/Model/Search/FilterMapper/FilterContext.php index 67ed66da2a036..e3c943a11e348 100644 --- a/app/code/Magento/CatalogSearch/Model/Search/FilterMapper/FilterContext.php +++ b/app/code/Magento/CatalogSearch/Model/Search/FilterMapper/FilterContext.php @@ -15,7 +15,7 @@ * Its responsibility is to choose appropriate strategy to apply passed filter to the Select * * @SuppressWarnings(PHPMD.CouplingBetweenObjects) - * @deprecated + * @deprecated 101.0.0 * @see \Magento\ElasticSearch */ class FilterContext implements FilterStrategyInterface diff --git a/app/code/Magento/CatalogSearch/Model/Search/FilterMapper/FilterMapper.php b/app/code/Magento/CatalogSearch/Model/Search/FilterMapper/FilterMapper.php index 7136fad5b19a9..750ef0dc1d8d7 100644 --- a/app/code/Magento/CatalogSearch/Model/Search/FilterMapper/FilterMapper.php +++ b/app/code/Magento/CatalogSearch/Model/Search/FilterMapper/FilterMapper.php @@ -14,7 +14,7 @@ * Class FilterMapper * This class applies filters to Select based on SelectContainer configuration * - * @deprecated + * @deprecated 101.0.0 * @see \Magento\ElasticSearch */ class FilterMapper diff --git a/app/code/Magento/CatalogSearch/Model/Search/FilterMapper/FilterStrategyInterface.php b/app/code/Magento/CatalogSearch/Model/Search/FilterMapper/FilterStrategyInterface.php index a61c691c0d5cd..32bee9cc78951 100644 --- a/app/code/Magento/CatalogSearch/Model/Search/FilterMapper/FilterStrategyInterface.php +++ b/app/code/Magento/CatalogSearch/Model/Search/FilterMapper/FilterStrategyInterface.php @@ -10,7 +10,7 @@ * FilterStrategyInterface provides the interface to work with strategies * @api * @since 100.1.6 - * @deprecated + * @deprecated 101.0.0 * @see \Magento\ElasticSearch */ interface FilterStrategyInterface diff --git a/app/code/Magento/CatalogSearch/Model/Search/FilterMapper/StaticAttributeStrategy.php b/app/code/Magento/CatalogSearch/Model/Search/FilterMapper/StaticAttributeStrategy.php index 3986cc617f06d..7ebf29e6c10cf 100644 --- a/app/code/Magento/CatalogSearch/Model/Search/FilterMapper/StaticAttributeStrategy.php +++ b/app/code/Magento/CatalogSearch/Model/Search/FilterMapper/StaticAttributeStrategy.php @@ -13,7 +13,7 @@ /** * This strategy handles static attributes * - * @deprecated + * @deprecated 101.0.0 * @see \Magento\ElasticSearch */ class StaticAttributeStrategy implements FilterStrategyInterface diff --git a/app/code/Magento/CatalogSearch/Model/Search/FilterMapper/StockStatusFilter.php b/app/code/Magento/CatalogSearch/Model/Search/FilterMapper/StockStatusFilter.php index 0e3ba0d4e669f..defba97358052 100644 --- a/app/code/Magento/CatalogSearch/Model/Search/FilterMapper/StockStatusFilter.php +++ b/app/code/Magento/CatalogSearch/Model/Search/FilterMapper/StockStatusFilter.php @@ -16,7 +16,7 @@ * Class StockStatusFilter * Adds filter by stock status to base select * - * @deprecated + * @deprecated 101.0.0 * @see \Magento\ElasticSearch */ class StockStatusFilter diff --git a/app/code/Magento/CatalogSearch/Model/Search/FilterMapper/TermDropdownStrategy.php b/app/code/Magento/CatalogSearch/Model/Search/FilterMapper/TermDropdownStrategy.php index 9d7e31ee3b6d1..9b2e59d56d64d 100644 --- a/app/code/Magento/CatalogSearch/Model/Search/FilterMapper/TermDropdownStrategy.php +++ b/app/code/Magento/CatalogSearch/Model/Search/FilterMapper/TermDropdownStrategy.php @@ -16,7 +16,7 @@ * - The filter for dropdown or multi-select attribute * - The filter is Term filter * - * @deprecated + * @deprecated 101.0.0 * @see \Magento\ElasticSearch */ class TermDropdownStrategy implements FilterStrategyInterface diff --git a/app/code/Magento/CatalogSearch/Model/Search/FilterMapper/TermDropdownStrategy/ApplyStockConditionToSelect.php b/app/code/Magento/CatalogSearch/Model/Search/FilterMapper/TermDropdownStrategy/ApplyStockConditionToSelect.php index c28bc3485cf49..9a3ea660ecb24 100644 --- a/app/code/Magento/CatalogSearch/Model/Search/FilterMapper/TermDropdownStrategy/ApplyStockConditionToSelect.php +++ b/app/code/Magento/CatalogSearch/Model/Search/FilterMapper/TermDropdownStrategy/ApplyStockConditionToSelect.php @@ -14,7 +14,7 @@ /** * Apply stock condition to select. * - * @deprecated + * @deprecated 101.0.0 * @see \Magento\ElasticSearch */ class ApplyStockConditionToSelect diff --git a/app/code/Magento/CatalogSearch/Model/Search/FilterMapper/TermDropdownStrategy/SelectBuilder.php b/app/code/Magento/CatalogSearch/Model/Search/FilterMapper/TermDropdownStrategy/SelectBuilder.php index 007647db39b32..9720c555ff94a 100644 --- a/app/code/Magento/CatalogSearch/Model/Search/FilterMapper/TermDropdownStrategy/SelectBuilder.php +++ b/app/code/Magento/CatalogSearch/Model/Search/FilterMapper/TermDropdownStrategy/SelectBuilder.php @@ -17,7 +17,7 @@ /** * Add joins to select. * - * @deprecated + * @deprecated 101.0.0 * @see \Magento\ElasticSearch */ class SelectBuilder diff --git a/app/code/Magento/CatalogSearch/Model/Search/FilterMapper/VisibilityFilter.php b/app/code/Magento/CatalogSearch/Model/Search/FilterMapper/VisibilityFilter.php index 690ef9115edfe..d5a16e8fb0ef9 100644 --- a/app/code/Magento/CatalogSearch/Model/Search/FilterMapper/VisibilityFilter.php +++ b/app/code/Magento/CatalogSearch/Model/Search/FilterMapper/VisibilityFilter.php @@ -17,7 +17,7 @@ * Class VisibilityFilter * Applies filter by visibility to base select * - * @deprecated + * @deprecated 101.0.0 * @see \Magento\ElasticSearch */ class VisibilityFilter diff --git a/app/code/Magento/CatalogSearch/Model/Search/FiltersExtractor.php b/app/code/Magento/CatalogSearch/Model/Search/FiltersExtractor.php index 55c8582979912..3b05b3ff7c40d 100644 --- a/app/code/Magento/CatalogSearch/Model/Search/FiltersExtractor.php +++ b/app/code/Magento/CatalogSearch/Model/Search/FiltersExtractor.php @@ -13,7 +13,7 @@ * Class FiltersExtractor * Extracts filters from QueryInterface * - * @deprecated + * @deprecated 101.0.0 * @see \Magento\ElasticSearch */ class FiltersExtractor diff --git a/app/code/Magento/CatalogSearch/Model/Search/IndexBuilder.php b/app/code/Magento/CatalogSearch/Model/Search/IndexBuilder.php index 906220db28dc1..109b4c2029207 100644 --- a/app/code/Magento/CatalogSearch/Model/Search/IndexBuilder.php +++ b/app/code/Magento/CatalogSearch/Model/Search/IndexBuilder.php @@ -26,7 +26,7 @@ /** * Build base Query for Index * @SuppressWarnings(PHPMD.CouplingBetweenObjects) - * @deprecated + * @deprecated 101.0.0 * @see \Magento\ElasticSearch */ class IndexBuilder implements IndexBuilderInterface diff --git a/app/code/Magento/CatalogSearch/Model/Search/QueryChecker/FullTextSearchCheck.php b/app/code/Magento/CatalogSearch/Model/Search/QueryChecker/FullTextSearchCheck.php index a47ea54375205..6564d0dc11a32 100644 --- a/app/code/Magento/CatalogSearch/Model/Search/QueryChecker/FullTextSearchCheck.php +++ b/app/code/Magento/CatalogSearch/Model/Search/QueryChecker/FullTextSearchCheck.php @@ -13,7 +13,7 @@ /** * Class is responsible for checking if fulltext search is required for search query * - * @deprecated + * @deprecated 101.0.0 * @see \Magento\ElasticSearch */ class FullTextSearchCheck diff --git a/app/code/Magento/CatalogSearch/Model/Search/ReaderPlugin.php b/app/code/Magento/CatalogSearch/Model/Search/ReaderPlugin.php index 916e03f471493..2f6a402b20406 100644 --- a/app/code/Magento/CatalogSearch/Model/Search/ReaderPlugin.php +++ b/app/code/Magento/CatalogSearch/Model/Search/ReaderPlugin.php @@ -6,7 +6,7 @@ namespace Magento\CatalogSearch\Model\Search; /** - * @deprecated + * @deprecated 101.0.0 * @see \Magento\ElasticSearch */ class ReaderPlugin diff --git a/app/code/Magento/CatalogSearch/Model/Search/RequestGenerator/GeneratorResolver.php b/app/code/Magento/CatalogSearch/Model/Search/RequestGenerator/GeneratorResolver.php index 68ca546b81919..aa3bd1f149c16 100644 --- a/app/code/Magento/CatalogSearch/Model/Search/RequestGenerator/GeneratorResolver.php +++ b/app/code/Magento/CatalogSearch/Model/Search/RequestGenerator/GeneratorResolver.php @@ -9,7 +9,7 @@ /** * @api * @since 100.1.6 - * @deprecated + * @deprecated 101.0.0 * @see \Magento\ElasticSearch */ class GeneratorResolver diff --git a/app/code/Magento/CatalogSearch/Model/Search/SelectContainer/SelectContainer.php b/app/code/Magento/CatalogSearch/Model/Search/SelectContainer/SelectContainer.php index f0eade4bfbcf5..13a12278b14f3 100644 --- a/app/code/Magento/CatalogSearch/Model/Search/SelectContainer/SelectContainer.php +++ b/app/code/Magento/CatalogSearch/Model/Search/SelectContainer/SelectContainer.php @@ -12,7 +12,7 @@ /** * This class is a container for all data that is required for creating select query by search request * - * @deprecated + * @deprecated 101.0.0 * @see \Magento\ElasticSearch */ class SelectContainer diff --git a/app/code/Magento/CatalogSearch/Model/Search/SelectContainer/SelectContainerBuilder.php b/app/code/Magento/CatalogSearch/Model/Search/SelectContainer/SelectContainerBuilder.php index d5b7be8bf0106..78008f066f72b 100644 --- a/app/code/Magento/CatalogSearch/Model/Search/SelectContainer/SelectContainerBuilder.php +++ b/app/code/Magento/CatalogSearch/Model/Search/SelectContainer/SelectContainerBuilder.php @@ -18,7 +18,7 @@ * Class SelectContainerBuilder * Class is responsible for SelectContainer creation and filling it with all required data * @SuppressWarnings(PHPMD.CouplingBetweenObjects) - * @deprecated + * @deprecated 101.0.0 * @see \Magento\ElasticSearch */ class SelectContainerBuilder diff --git a/app/code/Magento/CatalogSearch/Model/Search/TableMapper.php b/app/code/Magento/CatalogSearch/Model/Search/TableMapper.php index 6b18c4307f515..5bea06ab261d0 100644 --- a/app/code/Magento/CatalogSearch/Model/Search/TableMapper.php +++ b/app/code/Magento/CatalogSearch/Model/Search/TableMapper.php @@ -25,7 +25,7 @@ * @SuppressWarnings(PHPMD.CouplingBetweenObjects) * @api * @since 100.0.2 - * @deprecated + * @deprecated 101.0.0 * @see \Magento\ElasticSearch */ class TableMapper diff --git a/app/code/Magento/CatalogSearch/Plugin/EnableEavIndexer.php b/app/code/Magento/CatalogSearch/Plugin/EnableEavIndexer.php index 956a1b2360f89..5e4747c735e64 100644 --- a/app/code/Magento/CatalogSearch/Plugin/EnableEavIndexer.php +++ b/app/code/Magento/CatalogSearch/Plugin/EnableEavIndexer.php @@ -10,7 +10,7 @@ /** * Enable Product EAV indexer in configuration for MySQL search engine * - * @deprecated + * @deprecated 101.0.0 * @see \Magento\ElasticSearch */ class EnableEavIndexer diff --git a/app/code/Magento/CatalogSearch/Setup/Patch/Data/MySQLSearchDeprecationNotification.php b/app/code/Magento/CatalogSearch/Setup/Patch/Data/MySQLSearchDeprecationNotification.php index 8fa9f56d78474..86d66ed2a847c 100644 --- a/app/code/Magento/CatalogSearch/Setup/Patch/Data/MySQLSearchDeprecationNotification.php +++ b/app/code/Magento/CatalogSearch/Setup/Patch/Data/MySQLSearchDeprecationNotification.php @@ -10,7 +10,7 @@ /** * Implementation of the notification about MySQL search being deprecated. * - * @deprecated + * @deprecated 101.0.0 * @see \Magento\ElasticSearch */ class MySQLSearchDeprecationNotification implements \Magento\Framework\Setup\Patch\DataPatchInterface diff --git a/app/code/Magento/CatalogSearch/Setup/Patch/Data/SetInitialSearchWeightForAttributes.php b/app/code/Magento/CatalogSearch/Setup/Patch/Data/SetInitialSearchWeightForAttributes.php index 7f6dbe033e3a5..6752140812e4b 100644 --- a/app/code/Magento/CatalogSearch/Setup/Patch/Data/SetInitialSearchWeightForAttributes.php +++ b/app/code/Magento/CatalogSearch/Setup/Patch/Data/SetInitialSearchWeightForAttributes.php @@ -13,7 +13,7 @@ use Magento\Catalog\Api\ProductAttributeRepositoryInterface; /** - * @deprecated + * @deprecated 101.0.0 * @see \Magento\ElasticSearch */ class SetInitialSearchWeightForAttributes implements DataPatchInterface, PatchVersionInterface diff --git a/app/code/Magento/CatalogSearch/composer.json b/app/code/Magento/CatalogSearch/composer.json index 5bc04e0420c3a..a3b3102f67804 100644 --- a/app/code/Magento/CatalogSearch/composer.json +++ b/app/code/Magento/CatalogSearch/composer.json @@ -6,21 +6,21 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-backend": "*", - "magento/module-catalog": "*", - "magento/module-indexer": "*", - "magento/module-catalog-inventory": "*", - "magento/module-customer": "*", - "magento/module-directory": "*", - "magento/module-eav": "*", - "magento/module-search": "*", - "magento/module-store": "*", - "magento/module-theme": "*", - "magento/module-ui": "*" + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-indexer": "100.3.*", + "magento/module-catalog-inventory": "100.3.*", + "magento/module-customer": "102.0.*", + "magento/module-directory": "100.3.*", + "magento/module-eav": "102.0.*", + "magento/module-search": "101.0.*", + "magento/module-store": "101.0.*", + "magento/module-theme": "101.0.*", + "magento/module-ui": "101.1.*" }, "suggest": { - "magento/module-config": "*" + "magento/module-config": "101.1.*" }, "type": "magento2-module", "license": [ @@ -34,5 +34,6 @@ "psr-4": { "Magento\\CatalogSearch\\": "" } - } + }, + "version": "101.0.3-p1" } diff --git a/app/code/Magento/CatalogUrlRewrite/Model/Category/CurrentUrlRewritesRegenerator.php b/app/code/Magento/CatalogUrlRewrite/Model/Category/CurrentUrlRewritesRegenerator.php index f8d9ddf0c4ad9..5a339670bbb81 100644 --- a/app/code/Magento/CatalogUrlRewrite/Model/Category/CurrentUrlRewritesRegenerator.php +++ b/app/code/Magento/CatalogUrlRewrite/Model/Category/CurrentUrlRewritesRegenerator.php @@ -27,13 +27,13 @@ class CurrentUrlRewritesRegenerator /** * @var \Magento\Catalog\Model\Category - * @deprecated 100.1.4 + * @deprecated 100.1.0 */ protected $category; /** * @var \Magento\UrlRewrite\Model\UrlFinderInterface - * @deprecated 100.1.4 + * @deprecated 100.1.0 */ protected $urlFinder; diff --git a/app/code/Magento/CatalogUrlRewrite/Model/CategoryUrlRewriteGenerator.php b/app/code/Magento/CatalogUrlRewrite/Model/CategoryUrlRewriteGenerator.php index a86604672e2b4..d48bcd446fcfd 100644 --- a/app/code/Magento/CatalogUrlRewrite/Model/CategoryUrlRewriteGenerator.php +++ b/app/code/Magento/CatalogUrlRewrite/Model/CategoryUrlRewriteGenerator.php @@ -30,7 +30,7 @@ class CategoryUrlRewriteGenerator /** * @var \Magento\Catalog\Model\Category - * @deprecated 100.1.4 + * @deprecated 100.1.0 */ protected $category; diff --git a/app/code/Magento/CatalogUrlRewrite/Model/Product/CurrentUrlRewritesRegenerator.php b/app/code/Magento/CatalogUrlRewrite/Model/Product/CurrentUrlRewritesRegenerator.php index 42d3fd9cb40e1..628615803f6e8 100644 --- a/app/code/Magento/CatalogUrlRewrite/Model/Product/CurrentUrlRewritesRegenerator.php +++ b/app/code/Magento/CatalogUrlRewrite/Model/Product/CurrentUrlRewritesRegenerator.php @@ -26,19 +26,19 @@ class CurrentUrlRewritesRegenerator { /** * @var Product - * @deprecated 100.1.4 + * @deprecated 100.1.0 */ protected $product; /** * @var ObjectRegistry - * @deprecated 100.1.4 + * @deprecated 100.1.0 */ protected $productCategories; /** * @var UrlFinderInterface - * @deprecated 100.1.4 + * @deprecated 100.1.0 */ protected $urlFinder; diff --git a/app/code/Magento/CatalogUrlRewrite/Model/ProductUrlRewriteGenerator.php b/app/code/Magento/CatalogUrlRewrite/Model/ProductUrlRewriteGenerator.php index 868c417b5ff52..f5e6ae9a6d615 100644 --- a/app/code/Magento/CatalogUrlRewrite/Model/ProductUrlRewriteGenerator.php +++ b/app/code/Magento/CatalogUrlRewrite/Model/ProductUrlRewriteGenerator.php @@ -26,49 +26,49 @@ class ProductUrlRewriteGenerator const ENTITY_TYPE = 'product'; /** - * @deprecated 100.1.4 + * @deprecated 100.1.0 * @var \Magento\CatalogUrlRewrite\Service\V1\StoreViewService */ protected $storeViewService; /** * @var \Magento\Catalog\Model\Product - * @deprecated 100.1.4 + * @deprecated 100.1.0 */ protected $product; /** - * @deprecated 100.1.4 + * @deprecated 100.1.0 * @var \Magento\CatalogUrlRewrite\Model\Product\CurrentUrlRewritesRegenerator */ protected $currentUrlRewritesRegenerator; /** - * @deprecated 100.1.4 + * @deprecated 100.1.0 * @var \Magento\CatalogUrlRewrite\Model\Product\CategoriesUrlRewriteGenerator */ protected $categoriesUrlRewriteGenerator; /** - * @deprecated 100.1.4 + * @deprecated 100.1.0 * @var \Magento\CatalogUrlRewrite\Model\Product\CanonicalUrlRewriteGenerator */ protected $canonicalUrlRewriteGenerator; /** - * @deprecated 100.1.4 + * @deprecated 100.1.0 * @var \Magento\CatalogUrlRewrite\Model\ObjectRegistryFactory */ protected $objectRegistryFactory; /** - * @deprecated 100.1.4 + * @deprecated 100.1.0 * @var \Magento\CatalogUrlRewrite\Model\ObjectRegistry */ protected $productCategories; /** - * @deprecated 100.1.4 + * @deprecated 100.1.0 * @var \Magento\Store\Model\StoreManagerInterface */ protected $storeManager; diff --git a/app/code/Magento/CatalogUrlRewrite/composer.json b/app/code/Magento/CatalogUrlRewrite/composer.json index 0245449384c4c..fedcf144b8c0d 100644 --- a/app/code/Magento/CatalogUrlRewrite/composer.json +++ b/app/code/Magento/CatalogUrlRewrite/composer.json @@ -6,18 +6,18 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-backend": "*", - "magento/module-catalog": "*", - "magento/module-catalog-import-export": "*", - "magento/module-eav": "*", - "magento/module-import-export": "*", - "magento/module-store": "*", - "magento/module-ui": "*", - "magento/module-url-rewrite": "*" + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-import-export": "101.0.*", + "magento/module-eav": "102.0.*", + "magento/module-import-export": "100.3.*", + "magento/module-store": "101.0.*", + "magento/module-ui": "101.1.*", + "magento/module-url-rewrite": "101.1.*" }, "suggest": { - "magento/module-webapi": "*" + "magento/module-webapi": "100.3.*" }, "type": "magento2-module", "license": [ @@ -31,5 +31,6 @@ "psr-4": { "Magento\\CatalogUrlRewrite\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/CatalogUrlRewriteGraphQl/composer.json b/app/code/Magento/CatalogUrlRewriteGraphQl/composer.json index e276da0cc6fd8..8a59be452dcc3 100644 --- a/app/code/Magento/CatalogUrlRewriteGraphQl/composer.json +++ b/app/code/Magento/CatalogUrlRewriteGraphQl/composer.json @@ -4,13 +4,13 @@ "type": "magento2-module", "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/module-catalog": "*", - "magento/framework": "*" + "magento/module-catalog": "103.0.*", + "magento/framework": "102.0.*" }, "suggest": { - "magento/module-catalog-url-rewrite": "*", - "magento/module-catalog-graph-ql": "*", - "magento/module-url-rewrite-graph-ql": "*" + "magento/module-catalog-url-rewrite": "100.3.*", + "magento/module-catalog-graph-ql": "100.3.*", + "magento/module-url-rewrite-graph-ql": "100.3.*" }, "license": [ "OSL-3.0", @@ -23,5 +23,6 @@ "psr-4": { "Magento\\CatalogUrlRewriteGraphQl\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/CatalogWidget/composer.json b/app/code/Magento/CatalogWidget/composer.json index 6722d0df93752..5c99520deb28e 100644 --- a/app/code/Magento/CatalogWidget/composer.json +++ b/app/code/Magento/CatalogWidget/composer.json @@ -6,15 +6,15 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-backend": "*", - "magento/module-catalog": "*", - "magento/module-customer": "*", - "magento/module-eav": "*", - "magento/module-rule": "*", - "magento/module-store": "*", - "magento/module-widget": "*", - "magento/module-wishlist": "*" + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-customer": "102.0.*", + "magento/module-eav": "102.0.*", + "magento/module-rule": "100.3.*", + "magento/module-store": "101.0.*", + "magento/module-widget": "101.1.*", + "magento/module-wishlist": "101.1.*" }, "type": "magento2-module", "license": [ @@ -28,5 +28,6 @@ "psr-4": { "Magento\\CatalogWidget\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/Checkout/Api/AgreementsValidatorInterface.php b/app/code/Magento/Checkout/Api/AgreementsValidatorInterface.php index d97492f31a79d..22d4fdf502f7c 100644 --- a/app/code/Magento/Checkout/Api/AgreementsValidatorInterface.php +++ b/app/code/Magento/Checkout/Api/AgreementsValidatorInterface.php @@ -8,6 +8,7 @@ /** * Interface AgreementsValidatorInterface * @api + * @since 100.0.2 */ interface AgreementsValidatorInterface { diff --git a/app/code/Magento/Checkout/Api/Data/PaymentDetailsInterface.php b/app/code/Magento/Checkout/Api/Data/PaymentDetailsInterface.php index cad1c100c7e5b..361c50cdcfe86 100644 --- a/app/code/Magento/Checkout/Api/Data/PaymentDetailsInterface.php +++ b/app/code/Magento/Checkout/Api/Data/PaymentDetailsInterface.php @@ -8,6 +8,7 @@ /** * Interface PaymentDetailsInterface * @api + * @since 100.0.2 */ interface PaymentDetailsInterface extends \Magento\Framework\Api\ExtensibleDataInterface { diff --git a/app/code/Magento/Checkout/Api/Data/ShippingInformationInterface.php b/app/code/Magento/Checkout/Api/Data/ShippingInformationInterface.php index e4032066a6f10..188d2987e5daf 100644 --- a/app/code/Magento/Checkout/Api/Data/ShippingInformationInterface.php +++ b/app/code/Magento/Checkout/Api/Data/ShippingInformationInterface.php @@ -8,6 +8,7 @@ /** * Interface ShippingInformationInterface * @api + * @since 100.0.2 */ interface ShippingInformationInterface extends \Magento\Framework\Api\CustomAttributesDataInterface { diff --git a/app/code/Magento/Checkout/Api/Data/TotalsInformationInterface.php b/app/code/Magento/Checkout/Api/Data/TotalsInformationInterface.php index a9dd05856b72f..c8234bb560cba 100644 --- a/app/code/Magento/Checkout/Api/Data/TotalsInformationInterface.php +++ b/app/code/Magento/Checkout/Api/Data/TotalsInformationInterface.php @@ -8,6 +8,7 @@ /** * Interface TotalsInformationInterface * @api + * @since 100.0.2 */ interface TotalsInformationInterface extends \Magento\Framework\Api\CustomAttributesDataInterface { diff --git a/app/code/Magento/Checkout/Api/GuestPaymentInformationManagementInterface.php b/app/code/Magento/Checkout/Api/GuestPaymentInformationManagementInterface.php index 63296081ab97c..80c2bb7752b73 100644 --- a/app/code/Magento/Checkout/Api/GuestPaymentInformationManagementInterface.php +++ b/app/code/Magento/Checkout/Api/GuestPaymentInformationManagementInterface.php @@ -8,6 +8,7 @@ /** * Interface for managing guest payment information * @api + * @since 100.0.2 */ interface GuestPaymentInformationManagementInterface { diff --git a/app/code/Magento/Checkout/Api/GuestShippingInformationManagementInterface.php b/app/code/Magento/Checkout/Api/GuestShippingInformationManagementInterface.php index def7442ad4672..6ac5ec9442b6f 100644 --- a/app/code/Magento/Checkout/Api/GuestShippingInformationManagementInterface.php +++ b/app/code/Magento/Checkout/Api/GuestShippingInformationManagementInterface.php @@ -8,6 +8,7 @@ /** * Interface for managing guest shipping address information * @api + * @since 100.0.2 */ interface GuestShippingInformationManagementInterface { diff --git a/app/code/Magento/Checkout/Api/GuestTotalsInformationManagementInterface.php b/app/code/Magento/Checkout/Api/GuestTotalsInformationManagementInterface.php index d2d7dfad609cb..c98d193534d36 100644 --- a/app/code/Magento/Checkout/Api/GuestTotalsInformationManagementInterface.php +++ b/app/code/Magento/Checkout/Api/GuestTotalsInformationManagementInterface.php @@ -8,6 +8,7 @@ /** * Interface for guest quote totals calculation * @api + * @since 100.0.2 */ interface GuestTotalsInformationManagementInterface { diff --git a/app/code/Magento/Checkout/Api/PaymentInformationManagementInterface.php b/app/code/Magento/Checkout/Api/PaymentInformationManagementInterface.php index f80deca1acc5a..b025dc4c7c4a4 100644 --- a/app/code/Magento/Checkout/Api/PaymentInformationManagementInterface.php +++ b/app/code/Magento/Checkout/Api/PaymentInformationManagementInterface.php @@ -8,6 +8,7 @@ /** * Interface for managing quote payment information * @api + * @since 100.0.2 */ interface PaymentInformationManagementInterface { diff --git a/app/code/Magento/Checkout/Api/ShippingInformationManagementInterface.php b/app/code/Magento/Checkout/Api/ShippingInformationManagementInterface.php index 0d22e1485c099..ee8fb42a581c0 100644 --- a/app/code/Magento/Checkout/Api/ShippingInformationManagementInterface.php +++ b/app/code/Magento/Checkout/Api/ShippingInformationManagementInterface.php @@ -8,6 +8,7 @@ /** * Interface for managing customer shipping address information * @api + * @since 100.0.2 */ interface ShippingInformationManagementInterface { diff --git a/app/code/Magento/Checkout/Api/TotalsInformationManagementInterface.php b/app/code/Magento/Checkout/Api/TotalsInformationManagementInterface.php index 60fd254eb199e..f3ecf957f3e06 100644 --- a/app/code/Magento/Checkout/Api/TotalsInformationManagementInterface.php +++ b/app/code/Magento/Checkout/Api/TotalsInformationManagementInterface.php @@ -8,6 +8,7 @@ /** * Interface for quote totals calculation * @api + * @since 100.0.2 */ interface TotalsInformationManagementInterface { diff --git a/app/code/Magento/Checkout/Block/Cart.php b/app/code/Magento/Checkout/Block/Cart.php index 7940c37917624..76bf917f02d8b 100644 --- a/app/code/Magento/Checkout/Block/Cart.php +++ b/app/code/Magento/Checkout/Block/Cart.php @@ -11,6 +11,7 @@ * Shopping cart block * * @api + * @since 100.0.2 */ class Cart extends \Magento\Checkout\Block\Cart\AbstractCart { @@ -239,7 +240,7 @@ public function getItemsCount() * Render pagination HTML * * @return string - * @since 100.2.0 + * @since 100.1.7 */ public function getPagerHtml() { diff --git a/app/code/Magento/Checkout/Block/Cart/Additional/Info.php b/app/code/Magento/Checkout/Block/Cart/Additional/Info.php index 196992cbaf9c8..9bf8c8c8e9b51 100644 --- a/app/code/Magento/Checkout/Block/Cart/Additional/Info.php +++ b/app/code/Magento/Checkout/Block/Cart/Additional/Info.php @@ -8,6 +8,7 @@ /** * @api + * @since 100.0.2 */ class Info extends \Magento\Framework\View\Element\Template { diff --git a/app/code/Magento/Checkout/Block/Cart/Coupon.php b/app/code/Magento/Checkout/Block/Cart/Coupon.php index acf3c0922f3c9..98707e7e7c694 100644 --- a/app/code/Magento/Checkout/Block/Cart/Coupon.php +++ b/app/code/Magento/Checkout/Block/Cart/Coupon.php @@ -11,6 +11,7 @@ * Block with apply-coupon form. * * @api + * @since 100.0.2 */ class Coupon extends \Magento\Checkout\Block\Cart\AbstractCart { @@ -44,6 +45,7 @@ public function getCouponCode() /** * @inheritDoc + * @since 100.3.2 */ protected function _prepareLayout() { diff --git a/app/code/Magento/Checkout/Block/Cart/Crosssell.php b/app/code/Magento/Checkout/Block/Cart/Crosssell.php index 06be50d05aefc..5e129a958b535 100644 --- a/app/code/Magento/Checkout/Block/Cart/Crosssell.php +++ b/app/code/Magento/Checkout/Block/Cart/Crosssell.php @@ -12,6 +12,7 @@ * * @api * @author Magento Core Team + * @since 100.0.2 */ class Crosssell extends \Magento\Catalog\Block\Product\AbstractProduct { diff --git a/app/code/Magento/Checkout/Block/Cart/Grid.php b/app/code/Magento/Checkout/Block/Cart/Grid.php index bfe4b6ceed9d0..db5d90ecddc16 100644 --- a/app/code/Magento/Checkout/Block/Cart/Grid.php +++ b/app/code/Magento/Checkout/Block/Cart/Grid.php @@ -13,7 +13,7 @@ * custom_items weren't set to cart block * * @api - * @since 100.2.0 + * @since 100.1.7 */ class Grid extends \Magento\Checkout\Block\Cart { @@ -56,7 +56,6 @@ class Grid extends \Magento\Checkout\Block\Cart * @param \Magento\Quote\Model\ResourceModel\Quote\Item\CollectionFactory $itemCollectionFactory * @param \Magento\Framework\Api\ExtensionAttribute\JoinProcessorInterface $joinProcessor * @param array $data - * @since 100.2.0 */ public function __construct( \Magento\Framework\View\Element\Template\Context $context, @@ -89,7 +88,7 @@ public function __construct( * Configuration path is Store->Configuration->Sales->Checkout->Shopping Cart->Number of items to display pager * * @return void - * @since 100.2.0 + * @since 100.1.7 */ protected function _construct() { @@ -103,7 +102,7 @@ protected function _construct() /** * {@inheritdoc} - * @since 100.2.0 + * @since 100.1.7 */ protected function _prepareLayout() { @@ -128,7 +127,7 @@ protected function _prepareLayout() * Prepare quote items collection for pager * * @return \Magento\Quote\Model\ResourceModel\Quote\Item\Collection - * @since 100.2.0 + * @since 100.1.7 */ public function getItemsForGrid() { @@ -147,7 +146,7 @@ public function getItemsForGrid() /** * {@inheritdoc} - * @since 100.2.0 + * @since 100.1.7 */ public function getItems() { diff --git a/app/code/Magento/Checkout/Block/Cart/Item/Configure.php b/app/code/Magento/Checkout/Block/Cart/Item/Configure.php index 086518a312f71..c5c3af1d3c8c9 100644 --- a/app/code/Magento/Checkout/Block/Cart/Item/Configure.php +++ b/app/code/Magento/Checkout/Block/Cart/Item/Configure.php @@ -11,6 +11,7 @@ * * @api * @module Checkout + * @since 100.0.2 */ class Configure extends \Magento\Framework\View\Element\Template { diff --git a/app/code/Magento/Checkout/Block/Cart/Item/Renderer.php b/app/code/Magento/Checkout/Block/Cart/Item/Renderer.php index c99c9041941b1..830191bd13c40 100644 --- a/app/code/Magento/Checkout/Block/Cart/Item/Renderer.php +++ b/app/code/Magento/Checkout/Block/Cart/Item/Renderer.php @@ -24,6 +24,7 @@ * @method \Magento\Checkout\Block\Cart\Item\Renderer setDeleteUrl(string) * @SuppressWarnings(PHPMD.CouplingBetweenObjects) * @SuppressWarnings(PHPMD.ExcessiveClassComplexity) + * @since 100.0.2 */ class Renderer extends \Magento\Framework\View\Element\Template implements \Magento\Framework\DataObject\IdentityInterface diff --git a/app/code/Magento/Checkout/Block/Cart/Item/Renderer/Actions.php b/app/code/Magento/Checkout/Block/Cart/Item/Renderer/Actions.php index 3be4f76d8d67e..b2d4ef28347a5 100644 --- a/app/code/Magento/Checkout/Block/Cart/Item/Renderer/Actions.php +++ b/app/code/Magento/Checkout/Block/Cart/Item/Renderer/Actions.php @@ -11,6 +11,7 @@ /** * @api + * @since 100.0.2 */ class Actions extends Text { diff --git a/app/code/Magento/Checkout/Block/Cart/Item/Renderer/Actions/Edit.php b/app/code/Magento/Checkout/Block/Cart/Item/Renderer/Actions/Edit.php index 4542f19c4670a..fd34cdc4314f5 100644 --- a/app/code/Magento/Checkout/Block/Cart/Item/Renderer/Actions/Edit.php +++ b/app/code/Magento/Checkout/Block/Cart/Item/Renderer/Actions/Edit.php @@ -7,6 +7,7 @@ /** * @api + * @since 100.0.2 */ class Edit extends Generic { diff --git a/app/code/Magento/Checkout/Block/Cart/Item/Renderer/Actions/Remove.php b/app/code/Magento/Checkout/Block/Cart/Item/Renderer/Actions/Remove.php index d50eeb1b0a263..b52c7dc4c2131 100644 --- a/app/code/Magento/Checkout/Block/Cart/Item/Renderer/Actions/Remove.php +++ b/app/code/Magento/Checkout/Block/Cart/Item/Renderer/Actions/Remove.php @@ -10,6 +10,7 @@ /** * @api + * @since 100.0.2 */ class Remove extends Generic { diff --git a/app/code/Magento/Checkout/Block/Cart/Shipping.php b/app/code/Magento/Checkout/Block/Cart/Shipping.php index c52b7fe18814f..d920d2b62e275 100644 --- a/app/code/Magento/Checkout/Block/Cart/Shipping.php +++ b/app/code/Magento/Checkout/Block/Cart/Shipping.php @@ -8,6 +8,7 @@ /** * @api * @SuppressWarnings(PHPMD.CouplingBetweenObjects) + * @since 100.0.2 */ class Shipping extends \Magento\Checkout\Block\Cart\AbstractCart { diff --git a/app/code/Magento/Checkout/Block/Cart/Sidebar.php b/app/code/Magento/Checkout/Block/Cart/Sidebar.php index c5e309df3cad6..de4c95c9ad36f 100644 --- a/app/code/Magento/Checkout/Block/Cart/Sidebar.php +++ b/app/code/Magento/Checkout/Block/Cart/Sidebar.php @@ -11,6 +11,7 @@ * Cart sidebar block * * @api + * @since 100.0.2 */ class Sidebar extends AbstractCart { diff --git a/app/code/Magento/Checkout/Block/Cart/Totals.php b/app/code/Magento/Checkout/Block/Cart/Totals.php index 131e5b157c77a..a0ca67f52d73f 100644 --- a/app/code/Magento/Checkout/Block/Cart/Totals.php +++ b/app/code/Magento/Checkout/Block/Cart/Totals.php @@ -14,6 +14,7 @@ * Totals cart block. * * @api + * @since 100.0.2 */ class Totals extends \Magento\Checkout\Block\Cart\AbstractCart { diff --git a/app/code/Magento/Checkout/Block/Cart/ValidationMessages.php b/app/code/Magento/Checkout/Block/Cart/ValidationMessages.php index 0ec2982b83c01..1429eeb04995d 100644 --- a/app/code/Magento/Checkout/Block/Cart/ValidationMessages.php +++ b/app/code/Magento/Checkout/Block/Cart/ValidationMessages.php @@ -12,6 +12,7 @@ * Shopping cart validation messages block * * @api + * @since 100.0.2 */ class ValidationMessages extends \Magento\Framework\View\Element\Messages { diff --git a/app/code/Magento/Checkout/Block/Checkout/AttributeMerger.php b/app/code/Magento/Checkout/Block/Checkout/AttributeMerger.php index 5dedf2c7e7eba..c819e7f5a530f 100644 --- a/app/code/Magento/Checkout/Block/Checkout/AttributeMerger.php +++ b/app/code/Magento/Checkout/Block/Checkout/AttributeMerger.php @@ -396,7 +396,7 @@ protected function getFieldOptions($attributeCode, array $attributeConfig) * * @param array $countryOptions * @return array - * @deprecated 100.2.0 + * @deprecated 100.1.7 */ protected function orderCountryOptions(array $countryOptions) { diff --git a/app/code/Magento/Checkout/Block/Checkout/LayoutProcessorInterface.php b/app/code/Magento/Checkout/Block/Checkout/LayoutProcessorInterface.php index ad14f2a45426d..31a744c7d4d48 100644 --- a/app/code/Magento/Checkout/Block/Checkout/LayoutProcessorInterface.php +++ b/app/code/Magento/Checkout/Block/Checkout/LayoutProcessorInterface.php @@ -13,6 +13,7 @@ * @see \Magento\Checkout\Block\Onepage * * @api + * @since 100.0.2 */ interface LayoutProcessorInterface { diff --git a/app/code/Magento/Checkout/Block/Item/Price/Renderer.php b/app/code/Magento/Checkout/Block/Item/Price/Renderer.php index 2210b1cd9243e..b0f5a6b51a158 100644 --- a/app/code/Magento/Checkout/Block/Item/Price/Renderer.php +++ b/app/code/Magento/Checkout/Block/Item/Price/Renderer.php @@ -12,6 +12,7 @@ * * @api * @author Magento Core Team + * @since 100.0.2 */ class Renderer extends \Magento\Framework\View\Element\Template { diff --git a/app/code/Magento/Checkout/Block/Onepage.php b/app/code/Magento/Checkout/Block/Onepage.php index e01d5835b4cf0..c335b3909d5fd 100644 --- a/app/code/Magento/Checkout/Block/Onepage.php +++ b/app/code/Magento/Checkout/Block/Onepage.php @@ -9,6 +9,7 @@ * Onepage checkout block * @api * @SuppressWarnings(PHPMD.CouplingBetweenObjects) + * @since 100.0.2 */ class Onepage extends \Magento\Framework\View\Element\Template { diff --git a/app/code/Magento/Checkout/Block/Onepage/Failure.php b/app/code/Magento/Checkout/Block/Onepage/Failure.php index 46e56d24a7fa0..70f445173567a 100644 --- a/app/code/Magento/Checkout/Block/Onepage/Failure.php +++ b/app/code/Magento/Checkout/Block/Onepage/Failure.php @@ -7,6 +7,7 @@ /** * @api + * @since 100.0.2 */ class Failure extends \Magento\Framework\View\Element\Template { diff --git a/app/code/Magento/Checkout/Block/Onepage/Link.php b/app/code/Magento/Checkout/Block/Onepage/Link.php index b8f3926baa58a..de26fe68287de 100644 --- a/app/code/Magento/Checkout/Block/Onepage/Link.php +++ b/app/code/Magento/Checkout/Block/Onepage/Link.php @@ -10,6 +10,7 @@ * * @api * @author Magento Core Team + * @since 100.0.2 */ class Link extends \Magento\Framework\View\Element\Template { diff --git a/app/code/Magento/Checkout/Block/Onepage/Success.php b/app/code/Magento/Checkout/Block/Onepage/Success.php index e7cfaf68cc789..f8e286ca14bc8 100644 --- a/app/code/Magento/Checkout/Block/Onepage/Success.php +++ b/app/code/Magento/Checkout/Block/Onepage/Success.php @@ -12,6 +12,7 @@ * One page checkout success page * * @api + * @since 100.0.2 */ class Success extends \Magento\Framework\View\Element\Template { diff --git a/app/code/Magento/Checkout/Block/QuoteShortcutButtons.php b/app/code/Magento/Checkout/Block/QuoteShortcutButtons.php index 3b2f1604fae44..27910277617dd 100644 --- a/app/code/Magento/Checkout/Block/QuoteShortcutButtons.php +++ b/app/code/Magento/Checkout/Block/QuoteShortcutButtons.php @@ -11,6 +11,7 @@ * Displays buttons on shopping cart page * * @api + * @since 100.0.2 */ class QuoteShortcutButtons extends \Magento\Catalog\Block\ShortcutButtons { diff --git a/app/code/Magento/Checkout/Block/Registration.php b/app/code/Magento/Checkout/Block/Registration.php index e880230f50a74..75bc3fa467ad6 100644 --- a/app/code/Magento/Checkout/Block/Registration.php +++ b/app/code/Magento/Checkout/Block/Registration.php @@ -9,6 +9,7 @@ /** * @api + * @since 100.0.2 */ class Registration extends \Magento\Framework\View\Element\Template { diff --git a/app/code/Magento/Checkout/Controller/Account/Create.php b/app/code/Magento/Checkout/Controller/Account/Create.php index dae0bb98be453..21706186d803d 100644 --- a/app/code/Magento/Checkout/Controller/Account/Create.php +++ b/app/code/Magento/Checkout/Controller/Account/Create.php @@ -10,7 +10,7 @@ use Magento\Framework\Exception\NoSuchEntityException; /** - * @deprecated + * @deprecated 100.2.5 * @see DelegateCreate */ class Create extends \Magento\Framework\App\Action\Action diff --git a/app/code/Magento/Checkout/CustomerData/AbstractItem.php b/app/code/Magento/Checkout/CustomerData/AbstractItem.php index 9c2e3a32ef901..e5ed511924a7b 100644 --- a/app/code/Magento/Checkout/CustomerData/AbstractItem.php +++ b/app/code/Magento/Checkout/CustomerData/AbstractItem.php @@ -12,6 +12,7 @@ * Abstract item * * @api + * @since 100.0.2 */ abstract class AbstractItem implements ItemInterface { diff --git a/app/code/Magento/Checkout/CustomerData/ItemInterface.php b/app/code/Magento/Checkout/CustomerData/ItemInterface.php index fb8bd831f1ccd..fc8d954387b89 100644 --- a/app/code/Magento/Checkout/CustomerData/ItemInterface.php +++ b/app/code/Magento/Checkout/CustomerData/ItemInterface.php @@ -12,6 +12,7 @@ * Item interface * * @api + * @since 100.0.2 */ interface ItemInterface { diff --git a/app/code/Magento/Checkout/Exception.php b/app/code/Magento/Checkout/Exception.php index 4957e6be9b5da..6297041e065aa 100644 --- a/app/code/Magento/Checkout/Exception.php +++ b/app/code/Magento/Checkout/Exception.php @@ -7,6 +7,7 @@ /** * @api + * @since 100.0.2 */ class Exception extends \Magento\Framework\Exception\LocalizedException { diff --git a/app/code/Magento/Checkout/Model/Cart.php b/app/code/Magento/Checkout/Model/Cart.php index cec99909dc999..b8bfb47f2c97a 100644 --- a/app/code/Magento/Checkout/Model/Cart.php +++ b/app/code/Magento/Checkout/Model/Cart.php @@ -20,6 +20,7 @@ * @SuppressWarnings(PHPMD.CouplingBetweenObjects) * @deprecated 100.1.0 Use \Magento\Quote\Model\Quote instead * @see \Magento\Quote\Api\Data\CartInterface + * @since 100.0.2 */ class Cart extends DataObject implements CartInterface { diff --git a/app/code/Magento/Checkout/Model/Cart/CartInterface.php b/app/code/Magento/Checkout/Model/Cart/CartInterface.php index 40aff1980e787..d8264e5535497 100644 --- a/app/code/Magento/Checkout/Model/Cart/CartInterface.php +++ b/app/code/Magento/Checkout/Model/Cart/CartInterface.php @@ -14,6 +14,7 @@ * @author Magento Core Team * @deprecated 100.1.0 Use \Magento\Quote\Api\Data\CartInterface instead * @see \Magento\Quote\Api\Data\CartInterface + * @since 100.0.2 */ interface CartInterface { diff --git a/app/code/Magento/Checkout/Model/Cart/ImageProvider.php b/app/code/Magento/Checkout/Model/Cart/ImageProvider.php index cdadf3573c8ec..bc409357bf409 100644 --- a/app/code/Magento/Checkout/Model/Cart/ImageProvider.php +++ b/app/code/Magento/Checkout/Model/Cart/ImageProvider.php @@ -10,6 +10,7 @@ /** * @api + * @since 100.0.2 */ class ImageProvider { @@ -20,12 +21,15 @@ class ImageProvider /** * @var \Magento\Checkout\CustomerData\ItemPoolInterface - * @deprecated No need for the pool as images are resolved in the default item implementation + * @deprecated 100.2.7 No need for the pool as images are resolved in the default item implementation * @see \Magento\Checkout\CustomerData\DefaultItem::getProductForThumbnail */ protected $itemPool; - /** @var \Magento\Checkout\CustomerData\DefaultItem */ + /** + * @var \Magento\Checkout\CustomerData\DefaultItem + * @since 100.2.7 + */ protected $customerDataItem; /** diff --git a/app/code/Magento/Checkout/Model/Cart/RequestInfoFilterComposite.php b/app/code/Magento/Checkout/Model/Cart/RequestInfoFilterComposite.php index f38e15dd628fd..ee68ef9d275b1 100644 --- a/app/code/Magento/Checkout/Model/Cart/RequestInfoFilterComposite.php +++ b/app/code/Magento/Checkout/Model/Cart/RequestInfoFilterComposite.php @@ -20,7 +20,6 @@ class RequestInfoFilterComposite implements RequestInfoFilterInterface /** * @param RequestInfoFilter[] $filters - * @since 100.1.2 */ public function __construct( $filters = [] diff --git a/app/code/Magento/Checkout/Model/CompositeConfigProvider.php b/app/code/Magento/Checkout/Model/CompositeConfigProvider.php index 3577b1a145403..7c6d04f2947a0 100644 --- a/app/code/Magento/Checkout/Model/CompositeConfigProvider.php +++ b/app/code/Magento/Checkout/Model/CompositeConfigProvider.php @@ -10,6 +10,7 @@ * * @see \Magento\Checkout\Model\ConfigProviderInterface * @api + * @since 100.0.2 */ class CompositeConfigProvider implements ConfigProviderInterface { diff --git a/app/code/Magento/Checkout/Model/ConfigProviderInterface.php b/app/code/Magento/Checkout/Model/ConfigProviderInterface.php index 9e15027e26927..58bbc02485642 100644 --- a/app/code/Magento/Checkout/Model/ConfigProviderInterface.php +++ b/app/code/Magento/Checkout/Model/ConfigProviderInterface.php @@ -8,6 +8,7 @@ /** * Interface ConfigProviderInterface * @api + * @since 100.0.2 */ interface ConfigProviderInterface { diff --git a/app/code/Magento/Checkout/Model/GuestPaymentInformationManagement.php b/app/code/Magento/Checkout/Model/GuestPaymentInformationManagement.php index da29482f0123f..592e87b5c4c42 100644 --- a/app/code/Magento/Checkout/Model/GuestPaymentInformationManagement.php +++ b/app/code/Magento/Checkout/Model/GuestPaymentInformationManagement.php @@ -170,7 +170,7 @@ public function getPaymentInformation($cartId) * Get logger instance * * @return \Psr\Log\LoggerInterface - * @deprecated 100.2.0 + * @deprecated 100.1.8 */ private function getLogger() { diff --git a/app/code/Magento/Checkout/Model/Layout/AbstractTotalsProcessor.php b/app/code/Magento/Checkout/Model/Layout/AbstractTotalsProcessor.php index ca577ed714a6e..a670482cb98d6 100644 --- a/app/code/Magento/Checkout/Model/Layout/AbstractTotalsProcessor.php +++ b/app/code/Magento/Checkout/Model/Layout/AbstractTotalsProcessor.php @@ -17,6 +17,7 @@ * * phpcs:disable Magento2.Classes.AbstractApi * @api + * @since 100.0.2 */ abstract class AbstractTotalsProcessor { diff --git a/app/code/Magento/Checkout/Model/PaymentInformationManagement.php b/app/code/Magento/Checkout/Model/PaymentInformationManagement.php index 2eced5c642261..bcc25bbbbf3cc 100644 --- a/app/code/Magento/Checkout/Model/PaymentInformationManagement.php +++ b/app/code/Magento/Checkout/Model/PaymentInformationManagement.php @@ -17,7 +17,7 @@ class PaymentInformationManagement implements \Magento\Checkout\Api\PaymentInfor { /** * @var \Magento\Quote\Api\BillingAddressManagementInterface - * @deprecated 100.2.0 This call was substituted to eliminate extra quote::save call + * @deprecated 100.1.0 This call was substituted to eliminate extra quote::save call */ protected $billingAddressManagement; @@ -149,7 +149,7 @@ public function getPaymentInformation($cartId) * Get logger instance * * @return \Psr\Log\LoggerInterface - * @deprecated 100.2.0 + * @deprecated 100.1.8 */ private function getLogger() { diff --git a/app/code/Magento/Checkout/Model/Session.php b/app/code/Magento/Checkout/Model/Session.php index 6dfdefb8601aa..332ce08556194 100644 --- a/app/code/Magento/Checkout/Model/Session.php +++ b/app/code/Magento/Checkout/Model/Session.php @@ -17,6 +17,7 @@ * @api * @SuppressWarnings(PHPMD.CouplingBetweenObjects) * @SuppressWarnings(PHPMD.CookieAndSessionMisuse) + * @since 100.0.2 */ class Session extends \Magento\Framework\Session\SessionManager { diff --git a/app/code/Magento/Checkout/Model/Session/SuccessValidator.php b/app/code/Magento/Checkout/Model/Session/SuccessValidator.php index 5858dcba8b902..6bfab606445fb 100644 --- a/app/code/Magento/Checkout/Model/Session/SuccessValidator.php +++ b/app/code/Magento/Checkout/Model/Session/SuccessValidator.php @@ -9,6 +9,7 @@ * Test if checkout session valid for success action * * @api + * @since 100.0.2 */ class SuccessValidator { diff --git a/app/code/Magento/Checkout/composer.json b/app/code/Magento/Checkout/composer.json index cce1dd466de9a..8dbc734ade16a 100644 --- a/app/code/Magento/Checkout/composer.json +++ b/app/code/Magento/Checkout/composer.json @@ -6,28 +6,28 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-catalog": "*", - "magento/module-catalog-inventory": "*", - "magento/module-config": "*", - "magento/module-customer": "*", - "magento/module-directory": "*", - "magento/module-eav": "*", - "magento/module-msrp": "*", - "magento/module-page-cache": "*", - "magento/module-payment": "*", - "magento/module-quote": "*", - "magento/module-sales": "*", - "magento/module-sales-rule": "*", - "magento/module-shipping": "*", - "magento/module-store": "*", - "magento/module-tax": "*", - "magento/module-theme": "*", - "magento/module-ui": "*", - "magento/module-captcha": "*" + "magento/framework": "102.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-inventory": "100.3.*", + "magento/module-config": "101.1.*", + "magento/module-customer": "102.0.*", + "magento/module-directory": "100.3.*", + "magento/module-eav": "102.0.*", + "magento/module-msrp": "100.3.*", + "magento/module-page-cache": "100.3.*", + "magento/module-payment": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-sales": "102.0.*", + "magento/module-sales-rule": "101.1.*", + "magento/module-shipping": "100.3.*", + "magento/module-store": "101.0.*", + "magento/module-tax": "100.3.*", + "magento/module-theme": "101.0.*", + "magento/module-ui": "101.1.*", + "magento/module-captcha": "100.3.*" }, "suggest": { - "magento/module-cookie": "*" + "magento/module-cookie": "100.3.*" }, "type": "magento2-module", "license": [ @@ -41,5 +41,6 @@ "psr-4": { "Magento\\Checkout\\": "" } - } + }, + "version": "100.3.3-p1" } diff --git a/app/code/Magento/Checkout/view/adminhtml/email/failed_payment.html b/app/code/Magento/Checkout/view/adminhtml/email/failed_payment.html index 03ad7d9e8d848..6d2b27fd0e293 100644 --- a/app/code/Magento/Checkout/view/adminhtml/email/failed_payment.html +++ b/app/code/Magento/Checkout/view/adminhtml/email/failed_payment.html @@ -6,13 +6,13 @@ --> - + @@ -14,7 +16,7 @@ {{template config_path="design/email/header_template"}}

{{trans "%name," name=$customer.name}}

-

{{trans "Welcome to %store_name." store_name=$store.getFrontendName()}}

+

{{trans "Welcome to %store_name." store_name=$store.frontend_name}}

{{trans 'To sign in to our site, use these credentials during checkout or on the My Account page:' diff --git a/app/code/Magento/Customer/view/frontend/email/account_new_confirmation.html b/app/code/Magento/Customer/view/frontend/email/account_new_confirmation.html index 010087ace2d42..364fde0f5150c 100644 --- a/app/code/Magento/Customer/view/frontend/email/account_new_confirmation.html +++ b/app/code/Magento/Customer/view/frontend/email/account_new_confirmation.html @@ -4,9 +4,10 @@ * See COPYING.txt for license details. */ --> - + - + {{template config_path="design/email/header_template"}}

{{trans "%name," name=$customer.name}}

-

{{trans "Thank you for confirming your %store_name account." store_name=$store.getFrontendName()}}

+

{{trans "Thank you for confirming your %store_name account." store_name=$store.frontend_name}}

{{trans 'To sign in to our site, use these credentials during checkout or on the My Account page:' diff --git a/app/code/Magento/Customer/view/frontend/email/account_new_no_password.html b/app/code/Magento/Customer/view/frontend/email/account_new_no_password.html index 26e417d7da5a7..6d7d89067d8a2 100644 --- a/app/code/Magento/Customer/view/frontend/email/account_new_no_password.html +++ b/app/code/Magento/Customer/view/frontend/email/account_new_no_password.html @@ -4,16 +4,18 @@ * See COPYING.txt for license details. */ --> - - + {{template config_path="design/email/header_template"}}

{{trans "%name," name=$customer.name}}

-

{{trans "Welcome to %store_name." store_name=$store.getFrontendName()}}

+

{{trans "Welcome to %store_name." store_name=$store.frontend_name}}

{{trans 'To sign in to our site and set a password, click on the link:' diff --git a/app/code/Magento/Customer/view/frontend/email/change_email.html b/app/code/Magento/Customer/view/frontend/email/change_email.html index f343433fe35e2..4853adf638066 100644 --- a/app/code/Magento/Customer/view/frontend/email/change_email.html +++ b/app/code/Magento/Customer/view/frontend/email/change_email.html @@ -4,19 +4,23 @@ * See COPYING.txt for license details. */ --> - - + + {{template config_path="design/email/header_template"}}

{{trans "Hello,"}}


- {{trans "We have received a request to change the following information associated with your account at %store_name: email." store_name=$store.getFrontendName()}} + {{trans "We have received a request to change the following information associated with your account at %store_name: email." store_name=$store.frontend_name}} {{trans 'If you have not authorized this action, please contact us immediately at %store_email' store_email=$store_email |raw}}{{depend store_phone}} {{trans 'or call us at %store_phone' store_phone=$store_phone |raw}}{{/depend}}.


-

{{trans "Thanks,
%store_name" store_name=$store.getFrontendName() |raw}}

+

{{trans "Thanks,
%store_name" store_name=$store.frontend_name |raw}}

{{template config_path="design/email/footer_template"}} diff --git a/app/code/Magento/Customer/view/frontend/email/change_email_and_password.html b/app/code/Magento/Customer/view/frontend/email/change_email_and_password.html index 0876e75beacad..49867bdedc9e0 100644 --- a/app/code/Magento/Customer/view/frontend/email/change_email_and_password.html +++ b/app/code/Magento/Customer/view/frontend/email/change_email_and_password.html @@ -4,19 +4,23 @@ * See COPYING.txt for license details. */ --> - - + + {{template config_path="design/email/header_template"}}

{{trans "Hello,"}}


- {{trans "We have received a request to change the following information associated with your account at %store_name: email, password." store_name=$store.getFrontendName()}} + {{trans "We have received a request to change the following information associated with your account at %store_name: email, password." store_name=$store.frontend_name}} {{trans 'If you have not authorized this action, please contact us immediately at %store_email' store_email=$store_email |raw}}{{depend store_phone}} {{trans 'or call us at %store_phone' store_phone=$store_phone |raw}}{{/depend}}.


-

{{trans "Thanks,
%store_name" store_name=$store.getFrontendName() |raw}}

+

{{trans "Thanks,
%store_name" store_name=$store.frontend_name |raw}}

{{template config_path="design/email/footer_template"}} diff --git a/app/code/Magento/Customer/view/frontend/email/password_new.html b/app/code/Magento/Customer/view/frontend/email/password_new.html index 1d2468374c6f3..975c8f7254976 100644 --- a/app/code/Magento/Customer/view/frontend/email/password_new.html +++ b/app/code/Magento/Customer/view/frontend/email/password_new.html @@ -4,9 +4,11 @@ * See COPYING.txt for license details. */ --> - + {{template config_path="design/email/header_template"}} diff --git a/app/code/Magento/Customer/view/frontend/email/password_reset.html b/app/code/Magento/Customer/view/frontend/email/password_reset.html index bfa5330cbf5b0..79015117c2280 100644 --- a/app/code/Magento/Customer/view/frontend/email/password_reset.html +++ b/app/code/Magento/Customer/view/frontend/email/password_reset.html @@ -4,9 +4,12 @@ * See COPYING.txt for license details. */ --> - + {{template config_path="design/email/header_template"}} @@ -14,11 +17,11 @@

- {{trans "We have received a request to change the following information associated with your account at %store_name: password." store_name=$store.getFrontendName()}} + {{trans "We have received a request to change the following information associated with your account at %store_name: password." store_name=$store.frontend_name}} {{trans 'If you have not authorized this action, please contact us immediately at %store_email' store_email=$store_email |raw}}{{depend store_phone}} {{trans 'or call us at %store_phone' store_phone=$store_phone |raw}}{{/depend}}.


-

{{trans "Thanks,
%store_name" store_name=$store.getFrontendName() |raw}}

+

{{trans "Thanks,
%store_name" store_name=$store.frontend_name |raw}}

{{template config_path="design/email/footer_template"}} diff --git a/app/code/Magento/Customer/view/frontend/email/password_reset_confirmation.html b/app/code/Magento/Customer/view/frontend/email/password_reset_confirmation.html index 59e7f16adfd51..5dc0e2dfafee9 100644 --- a/app/code/Magento/Customer/view/frontend/email/password_reset_confirmation.html +++ b/app/code/Magento/Customer/view/frontend/email/password_reset_confirmation.html @@ -4,10 +4,11 @@ * See COPYING.txt for license details. */ --> - + {{template config_path="design/email/header_template"}} diff --git a/app/code/Magento/CustomerAnalytics/composer.json b/app/code/Magento/CustomerAnalytics/composer.json index 8feeeb74a432a..97aec8e9a6f95 100644 --- a/app/code/Magento/CustomerAnalytics/composer.json +++ b/app/code/Magento/CustomerAnalytics/composer.json @@ -3,9 +3,9 @@ "description": "N/A", "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-customer": "*", - "magento/module-analytics": "*" + "magento/framework": "102.0.*", + "magento/module-customer": "102.0.*", + "magento/module-analytics": "100.3.*" }, "type": "magento2-module", "license": [ @@ -19,5 +19,6 @@ "psr-4": { "Magento\\CustomerAnalytics\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/CustomerGraphQl/composer.json b/app/code/Magento/CustomerGraphQl/composer.json index 911624da8fe57..797bbf326f974 100644 --- a/app/code/Magento/CustomerGraphQl/composer.json +++ b/app/code/Magento/CustomerGraphQl/composer.json @@ -1,29 +1,29 @@ { - "name": "magento/module-customer-graph-ql", - "description": "N/A", - "type": "magento2-module", - "require": { - "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/module-customer": "*", - "magento/module-authorization": "*", - "magento/module-customer": "*", - "magento/module-eav": "*", - "magento/module-graph-ql": "*", - "magento/module-newsletter": "*", - "magento/module-integration": "*", - "magento/module-store": "*", - "magento/framework": "*" - }, - "license": [ - "OSL-3.0", - "AFL-3.0" - ], - "autoload": { - "files": [ - "registration.php" + "name": "magento/module-customer-graph-ql", + "description": "N/A", + "type": "magento2-module", + "require": { + "php": "~7.1.3||~7.2.0||~7.3.0", + "magento/module-customer": "102.0.*", + "magento/module-authorization": "100.3.*", + "magento/module-eav": "102.0.*", + "magento/module-graph-ql": "100.3.*", + "magento/module-newsletter": "100.3.*", + "magento/module-integration": "100.3.*", + "magento/module-store": "101.0.*", + "magento/framework": "102.0.*" + }, + "license": [ + "OSL-3.0", + "AFL-3.0" ], - "psr-4": { - "Magento\\CustomerGraphQl\\": "" - } - } + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\CustomerGraphQl\\": "" + } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/CustomerImportExport/Model/Export/Customer.php b/app/code/Magento/CustomerImportExport/Model/Export/Customer.php index 9ea9e1e5bd93d..666db44846d54 100644 --- a/app/code/Magento/CustomerImportExport/Model/Export/Customer.php +++ b/app/code/Magento/CustomerImportExport/Model/Export/Customer.php @@ -27,8 +27,9 @@ class Customer extends \Magento\ImportExport\Model\Export\Entity\AbstractEav const COLUMN_STORE = '_store'; - /** - * Attribute collection name + /** Attribute collection name. + * + * Used to resolve entity attribute collection. */ const ATTRIBUTE_COLLECTION_NAME = \Magento\Customer\Model\ResourceModel\Attribute\Collection::class; @@ -139,12 +140,12 @@ protected function _getEntityCollection() } /** - * {@inheritdoc} + * @inheritdoc */ protected function _getHeaderColumns() { $validAttributeCodes = $this->_getExportAttributeCodes(); - return array_merge($this->_permanentAttributes, $validAttributeCodes, ['password']); + return array_merge($this->_permanentAttributes, $validAttributeCodes); } /** diff --git a/app/code/Magento/CustomerImportExport/Model/Import/Customer.php b/app/code/Magento/CustomerImportExport/Model/Import/Customer.php index 14759bd130f2b..7ca50d281f387 100644 --- a/app/code/Magento/CustomerImportExport/Model/Import/Customer.php +++ b/app/code/Magento/CustomerImportExport/Model/Import/Customer.php @@ -355,6 +355,7 @@ protected function _getNextEntityId() * @param array|AbstractSource $rows * * @return void + * @since 100.2.3 */ public function prepareCustomerData($rows): void { @@ -375,6 +376,7 @@ public function prepareCustomerData($rows): void /** * @inheritDoc + * @since 100.2.3 */ public function validateData() { diff --git a/app/code/Magento/CustomerImportExport/Model/ResourceModel/Import/Customer/Storage.php b/app/code/Magento/CustomerImportExport/Model/ResourceModel/Import/Customer/Storage.php index 43623019c005e..74293e6a32542 100644 --- a/app/code/Magento/CustomerImportExport/Model/ResourceModel/Import/Customer/Storage.php +++ b/app/code/Magento/CustomerImportExport/Model/ResourceModel/Import/Customer/Storage.php @@ -139,7 +139,7 @@ public function addCustomerByArray(array $customer): Storage /** * Add customer to array * - * @deprecated @see addCustomerByArray + * @deprecated 100.3.0 @see addCustomerByArray * @param DataObject $customer * @return $this */ diff --git a/app/code/Magento/CustomerImportExport/composer.json b/app/code/Magento/CustomerImportExport/composer.json index cb22cc2bc2839..5025bc721d4d8 100644 --- a/app/code/Magento/CustomerImportExport/composer.json +++ b/app/code/Magento/CustomerImportExport/composer.json @@ -6,13 +6,13 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-backend": "*", - "magento/module-customer": "*", - "magento/module-directory": "*", - "magento/module-eav": "*", - "magento/module-import-export": "*", - "magento/module-store": "*" + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-customer": "102.0.*", + "magento/module-directory": "100.3.*", + "magento/module-eav": "102.0.*", + "magento/module-import-export": "100.3.*", + "magento/module-store": "101.0.*" }, "type": "magento2-module", "license": [ @@ -26,5 +26,6 @@ "psr-4": { "Magento\\CustomerImportExport\\": "" } - } + }, + "version": "100.3.3-p1" } diff --git a/app/code/Magento/Deploy/composer.json b/app/code/Magento/Deploy/composer.json index 5949b10535a23..eb5d49c4e80e6 100644 --- a/app/code/Magento/Deploy/composer.json +++ b/app/code/Magento/Deploy/composer.json @@ -6,11 +6,11 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-config": "*", - "magento/module-require-js": "*", - "magento/module-store": "*", - "magento/module-user": "*" + "magento/framework": "102.0.*", + "magento/module-config": "101.1.*", + "magento/module-require-js": "100.3.*", + "magento/module-store": "101.0.*", + "magento/module-user": "101.1.*" }, "type": "magento2-module", "license": [ @@ -25,5 +25,6 @@ "psr-4": { "Magento\\Deploy\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/Developer/composer.json b/app/code/Magento/Developer/composer.json index b4094bf0b4832..50f3d949b6e8d 100644 --- a/app/code/Magento/Developer/composer.json +++ b/app/code/Magento/Developer/composer.json @@ -6,9 +6,9 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-config": "*", - "magento/module-store": "*" + "magento/framework": "102.0.*", + "magento/module-config": "101.1.*", + "magento/module-store": "101.0.*" }, "type": "magento2-module", "license": [ @@ -22,5 +22,6 @@ "psr-4": { "Magento\\Developer\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/Dhl/Model/Carrier.php b/app/code/Magento/Dhl/Model/Carrier.php index 0890466e8a40f..6953ec438d3f2 100644 --- a/app/code/Magento/Dhl/Model/Carrier.php +++ b/app/code/Magento/Dhl/Model/Carrier.php @@ -1084,7 +1084,7 @@ function () use ($deferredResponses, $responseBodies) { * * @param string $request * @return string - * @deprecated Use asynchronous client. + * @deprecated 100.3.3 Use asynchronous client. * @see _getQuotes() */ protected function _getQuotesFromServer($request) @@ -1396,7 +1396,7 @@ protected function _doShipmentRequest(\Magento\Framework\DataObject $request) * * @param \Magento\Framework\DataObject $request * @return $this|\Magento\Framework\DataObject|boolean - * @deprecated + * @deprecated 100.2.3 */ public function proccessAdditionalValidation(\Magento\Framework\DataObject $request) { diff --git a/app/code/Magento/Dhl/composer.json b/app/code/Magento/Dhl/composer.json index 341bcc0f56474..58ff91798f11c 100644 --- a/app/code/Magento/Dhl/composer.json +++ b/app/code/Magento/Dhl/composer.json @@ -7,19 +7,19 @@ "require": { "php": "~7.1.3||~7.2.0||~7.3.0", "lib-libxml": "*", - "magento/framework": "*", - "magento/module-backend": "*", - "magento/module-catalog": "*", - "magento/module-catalog-inventory": "*", - "magento/module-config": "*", - "magento/module-directory": "*", - "magento/module-quote": "*", - "magento/module-sales": "*", - "magento/module-shipping": "*", - "magento/module-store": "*" + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-inventory": "100.3.*", + "magento/module-config": "101.1.*", + "magento/module-directory": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-sales": "102.0.*", + "magento/module-shipping": "100.3.*", + "magento/module-store": "101.0.*" }, "suggest": { - "magento/module-checkout": "*" + "magento/module-checkout": "100.3.*" }, "type": "magento2-module", "license": [ @@ -33,5 +33,6 @@ "psr-4": { "Magento\\Dhl\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/Directory/Block/Data.php b/app/code/Magento/Directory/Block/Data.php index 66c962d6656a6..3b806f32bd393 100644 --- a/app/code/Magento/Directory/Block/Data.php +++ b/app/code/Magento/Directory/Block/Data.php @@ -175,7 +175,7 @@ public function getRegionCollection() * Returns region html select * * @return string - * @deprecated + * @deprecated 100.3.3 * @see getRegionSelect() method for more configurations */ public function getRegionHtmlSelect() diff --git a/app/code/Magento/Directory/Model/ResourceModel/Currency.php b/app/code/Magento/Directory/Model/ResourceModel/Currency.php index 5339b0c9eb5bd..0c74e81d59bfc 100644 --- a/app/code/Magento/Directory/Model/ResourceModel/Currency.php +++ b/app/code/Magento/Directory/Model/ResourceModel/Currency.php @@ -165,7 +165,7 @@ public function saveRates($rates) * @param string $path * @return array * @SuppressWarnings(PHPMD.UnusedFormalParameter) - * @deprecated because doesn't take into consideration scopes and system config values. + * @deprecated 100.2.3 because doesn't take into consideration scopes and system config values. * @see \Magento\Directory\Model\CurrencyConfig::getConfigCurrencies() */ public function getConfigCurrencies($model, $path) diff --git a/app/code/Magento/Directory/composer.json b/app/code/Magento/Directory/composer.json index 8878c84fdad3b..80d56b12f0116 100644 --- a/app/code/Magento/Directory/composer.json +++ b/app/code/Magento/Directory/composer.json @@ -7,10 +7,10 @@ "require": { "php": "~7.1.3||~7.2.0||~7.3.0", "lib-libxml": "*", - "magento/framework": "*", - "magento/module-backend": "*", - "magento/module-config": "*", - "magento/module-store": "*" + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-config": "101.1.*", + "magento/module-store": "101.0.*" }, "type": "magento2-module", "license": [ @@ -24,5 +24,6 @@ "psr-4": { "Magento\\Directory\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/DirectoryGraphQl/composer.json b/app/code/Magento/DirectoryGraphQl/composer.json index 28cdd7293ef21..1f2ccfa276224 100644 --- a/app/code/Magento/DirectoryGraphQl/composer.json +++ b/app/code/Magento/DirectoryGraphQl/composer.json @@ -1,24 +1,25 @@ { - "name": "magento/module-directory-graph-ql", - "description": "N/A", - "type": "magento2-module", - "require": { - "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/module-directory": "*", - "magento/module-store": "*", - "magento/module-graph-ql": "*", - "magento/framework": "*" - }, - "license": [ - "OSL-3.0", - "AFL-3.0" - ], - "autoload": { - "files": [ - "registration.php" + "name": "magento/module-directory-graph-ql", + "description": "N/A", + "type": "magento2-module", + "require": { + "php": "~7.1.3||~7.2.0||~7.3.0", + "magento/module-directory": "100.3.*", + "magento/module-store": "101.0.*", + "magento/module-graph-ql": "100.3.*", + "magento/framework": "102.0.*" + }, + "license": [ + "OSL-3.0", + "AFL-3.0" ], - "psr-4": { - "Magento\\DirectoryGraphQl\\": "" - } - } + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\DirectoryGraphQl\\": "" + } + }, + "version": "100.3.2" } diff --git a/app/code/Magento/Downloadable/Block/Adminhtml/Catalog/Product/Composite/Fieldset/Downloadable.php b/app/code/Magento/Downloadable/Block/Adminhtml/Catalog/Product/Composite/Fieldset/Downloadable.php index 973d52e865dc9..b3c906c1bb9ad 100644 --- a/app/code/Magento/Downloadable/Block/Adminhtml/Catalog/Product/Composite/Fieldset/Downloadable.php +++ b/app/code/Magento/Downloadable/Block/Adminhtml/Catalog/Product/Composite/Fieldset/Downloadable.php @@ -11,7 +11,7 @@ * * @api * @since 100.0.2 - * @deprecated + * @deprecated 100.3.1 * @see \Magento\Downloadable\Ui\DataProvider\Product\Form\Modifier\Composite */ class Downloadable extends \Magento\Downloadable\Block\Catalog\Product\Links diff --git a/app/code/Magento/Downloadable/Block/Adminhtml/Catalog/Product/Edit/Tab/Downloadable.php b/app/code/Magento/Downloadable/Block/Adminhtml/Catalog/Product/Edit/Tab/Downloadable.php index 8fdf1d395308e..707e9788141c4 100644 --- a/app/code/Magento/Downloadable/Block/Adminhtml/Catalog/Product/Edit/Tab/Downloadable.php +++ b/app/code/Magento/Downloadable/Block/Adminhtml/Catalog/Product/Edit/Tab/Downloadable.php @@ -15,7 +15,7 @@ * Adminhtml catalog product downloadable items tab and form * * @author Magento Core Team - * @deprecated + * @deprecated 100.3.1 * @see \Magento\Downloadable\Ui\DataProvider\Product\Form\Modifier\Composite */ class Downloadable extends Widget implements TabInterface diff --git a/app/code/Magento/Downloadable/Block/Adminhtml/Catalog/Product/Edit/Tab/Downloadable/Links.php b/app/code/Magento/Downloadable/Block/Adminhtml/Catalog/Product/Edit/Tab/Downloadable/Links.php index 47c66c98fc8fb..068868b6dbedb 100644 --- a/app/code/Magento/Downloadable/Block/Adminhtml/Catalog/Product/Edit/Tab/Downloadable/Links.php +++ b/app/code/Magento/Downloadable/Block/Adminhtml/Catalog/Product/Edit/Tab/Downloadable/Links.php @@ -11,7 +11,7 @@ * @author Magento Core Team * @SuppressWarnings(PHPMD.CouplingBetweenObjects) * - * @deprecated + * @deprecated 100.3.1 * @see \Magento\Downloadable\Ui\DataProvider\Product\Form\Modifier\Links */ class Links extends \Magento\Backend\Block\Template diff --git a/app/code/Magento/Downloadable/Block/Adminhtml/Catalog/Product/Edit/Tab/Downloadable/Samples.php b/app/code/Magento/Downloadable/Block/Adminhtml/Catalog/Product/Edit/Tab/Downloadable/Samples.php index f245aeeeead67..d7e157e917cc5 100644 --- a/app/code/Magento/Downloadable/Block/Adminhtml/Catalog/Product/Edit/Tab/Downloadable/Samples.php +++ b/app/code/Magento/Downloadable/Block/Adminhtml/Catalog/Product/Edit/Tab/Downloadable/Samples.php @@ -10,7 +10,7 @@ * * @author Magento Core Team * - * @deprecated + * @deprecated 100.3.1 * @see \Magento\Downloadable\Ui\DataProvider\Product\Form\Modifier\Samples */ class Samples extends \Magento\Backend\Block\Widget diff --git a/app/code/Magento/Downloadable/Controller/Adminhtml/Downloadable/Product/Edit/Form.php b/app/code/Magento/Downloadable/Controller/Adminhtml/Downloadable/Product/Edit/Form.php index fe430566d63ce..dbd236d5e8827 100644 --- a/app/code/Magento/Downloadable/Controller/Adminhtml/Downloadable/Product/Edit/Form.php +++ b/app/code/Magento/Downloadable/Controller/Adminhtml/Downloadable/Product/Edit/Form.php @@ -9,7 +9,7 @@ /** * Class Form * - * @deprecated since downloadable information rendering moved to UI components. + * @deprecated 100.3.1 since downloadable information rendering moved to UI components. * @see \Magento\Downloadable\Ui\DataProvider\Product\Form\Modifier\Composite * @package Magento\Downloadable\Controller\Adminhtml\Downloadable\Product\Edit */ diff --git a/app/code/Magento/Downloadable/Model/Sample/Builder.php b/app/code/Magento/Downloadable/Model/Sample/Builder.php index 7cc7cb640ae74..4a068e1de5a9a 100644 --- a/app/code/Magento/Downloadable/Model/Sample/Builder.php +++ b/app/code/Magento/Downloadable/Model/Sample/Builder.php @@ -74,6 +74,7 @@ public function __construct( * @param array $data * @return $this; * @since 100.1.0 + * @since 100.1.0 */ public function setData(array $data) { diff --git a/app/code/Magento/Downloadable/composer.json b/app/code/Magento/Downloadable/composer.json index ac7960f243402..3e3bbfba436c3 100644 --- a/app/code/Magento/Downloadable/composer.json +++ b/app/code/Magento/Downloadable/composer.json @@ -6,26 +6,26 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-backend": "*", - "magento/module-catalog": "*", - "magento/module-catalog-inventory": "*", - "magento/module-checkout": "*", - "magento/module-config": "*", - "magento/module-customer": "*", - "magento/module-directory": "*", - "magento/module-eav": "*", - "magento/module-gift-message": "*", - "magento/module-media-storage": "*", - "magento/module-quote": "*", - "magento/module-sales": "*", - "magento/module-store": "*", - "magento/module-tax": "*", - "magento/module-theme": "*", - "magento/module-ui": "*" + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-inventory": "100.3.*", + "magento/module-checkout": "100.3.*", + "magento/module-config": "101.1.*", + "magento/module-customer": "102.0.*", + "magento/module-directory": "100.3.*", + "magento/module-eav": "102.0.*", + "magento/module-gift-message": "100.3.*", + "magento/module-media-storage": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-sales": "102.0.*", + "magento/module-store": "101.0.*", + "magento/module-tax": "100.3.*", + "magento/module-theme": "101.0.*", + "magento/module-ui": "101.1.*" }, "suggest": { - "magento/module-downloadable-sample-data": "*" + "magento/module-downloadable-sample-data": "Sample Data version: 100.3.*" }, "type": "magento2-module", "license": [ @@ -39,5 +39,6 @@ "psr-4": { "Magento\\Downloadable\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/DownloadableGraphQl/composer.json b/app/code/Magento/DownloadableGraphQl/composer.json index a1251f4d54ab5..f200839d41412 100644 --- a/app/code/Magento/DownloadableGraphQl/composer.json +++ b/app/code/Magento/DownloadableGraphQl/composer.json @@ -4,13 +4,13 @@ "type": "magento2-module", "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/module-catalog": "*", - "magento/module-downloadable": "*", - "magento/module-graph-ql": "*", - "magento/framework": "*" + "magento/module-catalog": "103.0.*", + "magento/module-downloadable": "100.3.*", + "magento/module-graph-ql": "100.3.*", + "magento/framework": "102.0.*" }, "suggest": { - "magento/module-catalog-graph-ql": "*" + "magento/module-catalog-graph-ql": "100.3.*" }, "license": [ "OSL-3.0", @@ -23,5 +23,6 @@ "psr-4": { "Magento\\DownloadableGraphQl\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/DownloadableImportExport/composer.json b/app/code/Magento/DownloadableImportExport/composer.json index 50f039688149e..4a7b486e93781 100644 --- a/app/code/Magento/DownloadableImportExport/composer.json +++ b/app/code/Magento/DownloadableImportExport/composer.json @@ -6,13 +6,13 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-catalog": "*", - "magento/module-catalog-import-export": "*", - "magento/module-downloadable": "*", - "magento/module-eav": "*", - "magento/module-import-export": "*", - "magento/module-store": "*" + "magento/framework": "102.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-import-export": "101.0.*", + "magento/module-downloadable": "100.3.*", + "magento/module-eav": "102.0.*", + "magento/module-import-export": "100.3.*", + "magento/module-store": "101.0.*" }, "type": "magento2-module", "license": [ @@ -26,5 +26,6 @@ "psr-4": { "Magento\\DownloadableImportExport\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/Eav/Api/Data/AttributeDefaultValueInterface.php b/app/code/Magento/Eav/Api/Data/AttributeDefaultValueInterface.php index 56ae16c53402c..45022e25c5c31 100644 --- a/app/code/Magento/Eav/Api/Data/AttributeDefaultValueInterface.php +++ b/app/code/Magento/Eav/Api/Data/AttributeDefaultValueInterface.php @@ -11,7 +11,7 @@ * Allows to manage attribute default value through interface * @api * @package Magento\Eav\Api\Data - * @since 100.2.0 + * @since 101.0.0 */ interface AttributeDefaultValueInterface { @@ -20,13 +20,13 @@ interface AttributeDefaultValueInterface /** * @param string $defaultValue * @return \Magento\Framework\Api\MetadataObjectInterface - * @since 100.2.0 + * @since 101.0.0 */ public function setDefaultValue($defaultValue); /** * @return string - * @since 100.2.0 + * @since 101.0.0 */ public function getDefaultValue(); } diff --git a/app/code/Magento/Eav/Api/Data/AttributeInterface.php b/app/code/Magento/Eav/Api/Data/AttributeInterface.php index 55d6e58b64b71..d96c2329ec594 100644 --- a/app/code/Magento/Eav/Api/Data/AttributeInterface.php +++ b/app/code/Magento/Eav/Api/Data/AttributeInterface.php @@ -316,6 +316,7 @@ public function getExtensionAttributes(); * * @param \Magento\Eav\Api\Data\AttributeExtensionInterface $extensionAttributes * @return $this + * @since 102.0.0 */ public function setExtensionAttributes( \Magento\Eav\Api\Data\AttributeExtensionInterface $extensionAttributes diff --git a/app/code/Magento/Eav/Block/Adminhtml/Attribute/Edit/Js.php b/app/code/Magento/Eav/Block/Adminhtml/Attribute/Edit/Js.php index 7dd6b0a19ec02..577dac5b0c28b 100644 --- a/app/code/Magento/Eav/Block/Adminhtml/Attribute/Edit/Js.php +++ b/app/code/Magento/Eav/Block/Adminhtml/Attribute/Edit/Js.php @@ -38,7 +38,7 @@ public function __construct( } /** - * @deprecated Misspelled method + * @deprecated 102.0.0 Misspelled method * @see getCompatibleInputTypes */ public function getComaptibleInputTypes() diff --git a/app/code/Magento/Eav/Block/Adminhtml/Attribute/Edit/Options/AbstractOptions.php b/app/code/Magento/Eav/Block/Adminhtml/Attribute/Edit/Options/AbstractOptions.php index 9b44b2c7395ac..70fd5b2914600 100644 --- a/app/code/Magento/Eav/Block/Adminhtml/Attribute/Edit/Options/AbstractOptions.php +++ b/app/code/Magento/Eav/Block/Adminhtml/Attribute/Edit/Options/AbstractOptions.php @@ -9,7 +9,7 @@ * Attribute add/edit form options tab * * @api - * @deprecated 100.2.0 + * @deprecated 101.0.0 * @since 100.0.2 */ abstract class AbstractOptions extends \Magento\Framework\View\Element\AbstractBlock diff --git a/app/code/Magento/Eav/Block/Adminhtml/Attribute/Grid/AbstractGrid.php b/app/code/Magento/Eav/Block/Adminhtml/Attribute/Grid/AbstractGrid.php index 55c0583191492..839ee7584cf03 100644 --- a/app/code/Magento/Eav/Block/Adminhtml/Attribute/Grid/AbstractGrid.php +++ b/app/code/Magento/Eav/Block/Adminhtml/Attribute/Grid/AbstractGrid.php @@ -10,7 +10,7 @@ * * @api * @SuppressWarnings(PHPMD.DepthOfInheritance) - * @deprecated 100.2.0 + * @deprecated 101.0.0 * @since 100.0.2 */ abstract class AbstractGrid extends \Magento\Backend\Block\Widget\Grid\Extended diff --git a/app/code/Magento/Eav/Model/Attribute/GroupRepository.php b/app/code/Magento/Eav/Model/Attribute/GroupRepository.php index 07ca71d95eba5..f717a01a4384f 100644 --- a/app/code/Magento/Eav/Model/Attribute/GroupRepository.php +++ b/app/code/Magento/Eav/Model/Attribute/GroupRepository.php @@ -181,7 +181,7 @@ public function deleteById($groupId) /** * @param \Magento\Framework\Api\SearchCriteriaInterface $searchCriteria * @return null|string - * @deprecated + * @deprecated 101.0.3 */ protected function retrieveAttributeSetIdFromSearchCriteria( \Magento\Framework\Api\SearchCriteriaInterface $searchCriteria @@ -199,7 +199,7 @@ protected function retrieveAttributeSetIdFromSearchCriteria( /** * Retrieve collection processor * - * @deprecated 100.2.0 + * @deprecated 101.0.0 * @return CollectionProcessorInterface */ private function getCollectionProcessor() diff --git a/app/code/Magento/Eav/Model/AttributeRepository.php b/app/code/Magento/Eav/Model/AttributeRepository.php index 337ae7334486e..bb307d5581121 100644 --- a/app/code/Magento/Eav/Model/AttributeRepository.php +++ b/app/code/Magento/Eav/Model/AttributeRepository.php @@ -208,7 +208,7 @@ public function deleteById($attributeId) /** * Retrieve collection processor * - * @deprecated 100.2.0 + * @deprecated 101.0.0 * @return CollectionProcessorInterface */ private function getCollectionProcessor() diff --git a/app/code/Magento/Eav/Model/AttributeSetRepository.php b/app/code/Magento/Eav/Model/AttributeSetRepository.php index caab82da3910d..73e8749952812 100644 --- a/app/code/Magento/Eav/Model/AttributeSetRepository.php +++ b/app/code/Magento/Eav/Model/AttributeSetRepository.php @@ -126,7 +126,7 @@ public function getList(\Magento\Framework\Api\SearchCriteriaInterface $searchCr /** * Retrieve entity type code from search criteria * - * @deprecated 100.2.0 + * @deprecated 101.0.0 * @param \Magento\Framework\Api\SearchCriteriaInterface $searchCriteria * @return null|string */ @@ -188,7 +188,7 @@ public function deleteById($attributeSetId) /** * Retrieve collection processor * - * @deprecated 100.2.0 + * @deprecated 101.0.0 * @return CollectionProcessorInterface */ private function getCollectionProcessor() diff --git a/app/code/Magento/Eav/Model/Config.php b/app/code/Magento/Eav/Model/Config.php index 0eecca21b0d54..2261fd3098faf 100644 --- a/app/code/Magento/Eav/Model/Config.php +++ b/app/code/Magento/Eav/Model/Config.php @@ -469,12 +469,12 @@ protected function _initAttributes($entityType) /** * Get attributes by entity type * - * @deprecated 100.2.0 + * @deprecated 101.0.0 * @see \Magento\Eav\Model\Config::getEntityAttributes * * @param string $entityType * @return AbstractAttribute[] - * @since 100.2.0 + * @since 101.0.0 */ public function getAttributes($entityType) { @@ -540,7 +540,7 @@ private function createAttribute($model) /** * Get codes of all entity type attributes * - * @deprecated 100.2.0 + * @deprecated 101.0.0 * @see \Magento\Eav\Model\Config::getEntityAttributes * * @param mixed $entityType @@ -561,7 +561,7 @@ public function getEntityAttributeCodes($entityType, $object = null) * * @SuppressWarnings(PHPMD.CyclomaticComplexity) * @SuppressWarnings(PHPMD.NPathComplexity) - * @since 100.2.0 + * @since 101.0.0 */ public function getEntityAttributes($entityType, $object = null) { diff --git a/app/code/Magento/Eav/Model/Entity/AbstractEntity.php b/app/code/Magento/Eav/Model/Entity/AbstractEntity.php index 1fd71e446e6bb..267ff82879b4a 100644 --- a/app/code/Magento/Eav/Model/Entity/AbstractEntity.php +++ b/app/code/Magento/Eav/Model/Entity/AbstractEntity.php @@ -1026,7 +1026,7 @@ public function load($object, $entityId, $attributes = []) /** * Loads attributes metadata. * - * @deprecated 100.2.0 Use self::loadAttributesForObject instead + * @deprecated 101.0.0 Use self::loadAttributesForObject instead * @param array|null $attributes * @return $this * @since 100.1.0 @@ -1989,7 +1989,7 @@ public function afterDelete(DataObject $object) * @param array $attributes * @param AbstractEntity|null $object * @return void - * @since 100.2.0 + * @since 101.0.0 */ protected function loadAttributesForObject($attributes, $object = null) { diff --git a/app/code/Magento/Eav/Model/Entity/Attribute/AbstractAttribute.php b/app/code/Magento/Eav/Model/Entity/Attribute/AbstractAttribute.php index 3857118ae67ca..6b35737b09ab9 100644 --- a/app/code/Magento/Eav/Model/Entity/Attribute/AbstractAttribute.php +++ b/app/code/Magento/Eav/Model/Entity/Attribute/AbstractAttribute.php @@ -130,7 +130,7 @@ abstract class AbstractAttribute extends \Magento\Framework\Model\AbstractExtens * Serializer Instance. * * @var Json - * @since 100.2.0 + * @since 101.0.0 */ protected $serializer; @@ -219,10 +219,10 @@ public function __construct( /** * Get Serializer instance. * - * @deprecated 100.2.0 + * @deprecated 101.0.0 * * @return Json - * @since 100.2.0 + * @since 101.0.0 */ protected function getSerializer() { @@ -929,7 +929,7 @@ public function _getFlatColumnsDdlDefinition() * * Used in database compatible mode * - * @deprecated 100.2.0 + * @deprecated 101.0.0 * @return array * @SuppressWarnings(PHPMD.CyclomaticComplexity) */ diff --git a/app/code/Magento/Eav/Model/Entity/Attribute/AttributeGroupAlreadyExistsException.php b/app/code/Magento/Eav/Model/Entity/Attribute/AttributeGroupAlreadyExistsException.php index fa50aa588b4ed..892018983cd1c 100644 --- a/app/code/Magento/Eav/Model/Entity/Attribute/AttributeGroupAlreadyExistsException.php +++ b/app/code/Magento/Eav/Model/Entity/Attribute/AttributeGroupAlreadyExistsException.php @@ -9,7 +9,7 @@ /** * @api - * @since 100.2.0 + * @since 101.0.0 */ class AttributeGroupAlreadyExistsException extends AlreadyExistsException { diff --git a/app/code/Magento/Eav/Model/Entity/Attribute/Backend/JsonEncoded.php b/app/code/Magento/Eav/Model/Entity/Attribute/Backend/JsonEncoded.php index 156c0326f2b6f..b9fbb876dd6c3 100644 --- a/app/code/Magento/Eav/Model/Entity/Attribute/Backend/JsonEncoded.php +++ b/app/code/Magento/Eav/Model/Entity/Attribute/Backend/JsonEncoded.php @@ -11,7 +11,7 @@ * Backend model for attribute that stores structures in json format * * @api - * @since 100.2.0 + * @since 101.0.0 */ class JsonEncoded extends \Magento\Eav\Model\Entity\Attribute\Backend\AbstractBackend { @@ -35,7 +35,7 @@ public function __construct(Json $jsonSerializer) * * @param \Magento\Framework\DataObject $object * @return $this - * @since 100.2.0 + * @since 101.0.0 */ public function beforeSave($object) { @@ -52,7 +52,7 @@ public function beforeSave($object) * * @param \Magento\Framework\DataObject $object * @return $this - * @since 100.2.0 + * @since 101.0.0 */ public function afterLoad($object) { diff --git a/app/code/Magento/Eav/Model/Entity/Attribute/Set.php b/app/code/Magento/Eav/Model/Entity/Attribute/Set.php index da7d5fac089cb..fce95d7eb9c72 100644 --- a/app/code/Magento/Eav/Model/Entity/Attribute/Set.php +++ b/app/code/Magento/Eav/Model/Entity/Attribute/Set.php @@ -375,7 +375,7 @@ public function getDefaultGroupId($setId = null) * Get resource instance * * @return \Magento\Framework\Model\ResourceModel\Db\AbstractDb - * @deprecated 100.2.0 because resource models should be used directly + * @deprecated 101.0.0 because resource models should be used directly */ protected function _getResource() { diff --git a/app/code/Magento/Eav/Model/Entity/Collection/AbstractCollection.php b/app/code/Magento/Eav/Model/Entity/Collection/AbstractCollection.php index e50abbc11e54a..06a169783557c 100644 --- a/app/code/Magento/Eav/Model/Entity/Collection/AbstractCollection.php +++ b/app/code/Magento/Eav/Model/Entity/Collection/AbstractCollection.php @@ -1604,6 +1604,7 @@ protected function _reset() * * @param string $attributeCode * @return bool + * @since 102.0.0 */ public function isAttributeAdded($attributeCode) : bool { diff --git a/app/code/Magento/Eav/Model/ResourceModel/Entity/Attribute.php b/app/code/Magento/Eav/Model/ResourceModel/Entity/Attribute.php index 364e4d31d4d1d..2a1b8600f838f 100644 --- a/app/code/Magento/Eav/Model/ResourceModel/Entity/Attribute.php +++ b/app/code/Magento/Eav/Model/ResourceModel/Entity/Attribute.php @@ -197,6 +197,7 @@ protected function _beforeSave(AbstractModel $object) * @param AbstractModel $attribute * @return AbstractDb * @throws CouldNotDeleteException + * @since 102.0.3 */ protected function _beforeDelete(AbstractModel $attribute) { diff --git a/app/code/Magento/Eav/Model/ResourceModel/ReadHandler.php b/app/code/Magento/Eav/Model/ResourceModel/ReadHandler.php index 7f6dfa2a5e9ab..ce58ec7955f72 100644 --- a/app/code/Magento/Eav/Model/ResourceModel/ReadHandler.php +++ b/app/code/Magento/Eav/Model/ResourceModel/ReadHandler.php @@ -64,7 +64,7 @@ public function __construct( * @param string $entityType * @return \Magento\Eav\Api\Data\AttributeInterface[] * @throws \Exception if for unknown entity type - * @deprecated Not used anymore + * @deprecated 101.0.5 Not used anymore * @see ReadHandler::getEntityAttributes */ protected function getAttributes($entityType) diff --git a/app/code/Magento/Eav/Model/TypeLocator/ServiceClassLocator.php b/app/code/Magento/Eav/Model/TypeLocator/ServiceClassLocator.php index a4225b550ab10..7ffcf689c4381 100644 --- a/app/code/Magento/Eav/Model/TypeLocator/ServiceClassLocator.php +++ b/app/code/Magento/Eav/Model/TypeLocator/ServiceClassLocator.php @@ -14,7 +14,7 @@ /** * Class to find type based off of ServiceTypeToEntityTypeMap. This locator is introduced for backwards compatibility. - * @deprecated + * @deprecated 102.0.0 */ class ServiceClassLocator implements CustomAttributeTypeLocatorInterface { diff --git a/app/code/Magento/Eav/Setup/EavSetup.php b/app/code/Magento/Eav/Setup/EavSetup.php index de285e81b1d03..1a90ff417c793 100644 --- a/app/code/Magento/Eav/Setup/EavSetup.php +++ b/app/code/Magento/Eav/Setup/EavSetup.php @@ -115,7 +115,7 @@ public function __construct( /** * Gets setup model. * - * @deprecated + * @deprecated 102.0.0 * @return ModuleDataSetupInterface */ public function getSetup() diff --git a/app/code/Magento/Eav/composer.json b/app/code/Magento/Eav/composer.json index 5661748714e88..6a012f9a297a7 100644 --- a/app/code/Magento/Eav/composer.json +++ b/app/code/Magento/Eav/composer.json @@ -6,12 +6,12 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-backend": "*", - "magento/module-catalog": "*", - "magento/module-config": "*", - "magento/module-media-storage": "*", - "magento/module-store": "*" + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-config": "101.1.*", + "magento/module-media-storage": "100.3.*", + "magento/module-store": "101.0.*" }, "type": "magento2-module", "license": [ @@ -25,5 +25,6 @@ "psr-4": { "Magento\\Eav\\": "" } - } + }, + "version": "102.0.3" } diff --git a/app/code/Magento/EavGraphQl/Model/Resolver/Query/Type.php b/app/code/Magento/EavGraphQl/Model/Resolver/Query/Type.php index ef21a26f1f62e..7ee87681dc630 100644 --- a/app/code/Magento/EavGraphQl/Model/Resolver/Query/Type.php +++ b/app/code/Magento/EavGraphQl/Model/Resolver/Query/Type.php @@ -15,6 +15,7 @@ * Translate type names found by the custom type locator to GraphQL type names. * * @api + * @since 100.3.0 */ class Type { @@ -55,6 +56,7 @@ public function __construct( * @param string $entityType * @return string * @throws GraphQlInputException + * @since 100.3.0 */ public function getType(string $attributeCode, string $entityType) : string { diff --git a/app/code/Magento/EavGraphQl/composer.json b/app/code/Magento/EavGraphQl/composer.json index be9cdaaeb7d6e..f0bdb93a2ea66 100644 --- a/app/code/Magento/EavGraphQl/composer.json +++ b/app/code/Magento/EavGraphQl/composer.json @@ -4,11 +4,11 @@ "type": "magento2-module", "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-eav": "*" + "magento/framework": "102.0.*", + "magento/module-eav": "102.0.*" }, "suggest": { - "magento/module-graph-ql": "*" + "magento/module-graph-ql": "100.3.*" }, "license": [ "OSL-3.0", @@ -21,5 +21,6 @@ "psr-4": { "Magento\\EavGraphQl\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/Elasticsearch/Elasticsearch5/Model/Adapter/DataMapper/ProductDataMapper.php b/app/code/Magento/Elasticsearch/Elasticsearch5/Model/Adapter/DataMapper/ProductDataMapper.php index f0b7380397235..936e95bcfa488 100644 --- a/app/code/Magento/Elasticsearch/Elasticsearch5/Model/Adapter/DataMapper/ProductDataMapper.php +++ b/app/code/Magento/Elasticsearch/Elasticsearch5/Model/Adapter/DataMapper/ProductDataMapper.php @@ -22,7 +22,7 @@ /** * Don't use this product data mapper class. * - * @deprecated 100.2.0 + * @deprecated 100.2.2 * @see \Magento\Elasticsearch\Model\Adapter\BatchDataMapperInterface */ class ProductDataMapper implements DataMapperInterface diff --git a/app/code/Magento/Elasticsearch/Elasticsearch5/Model/Adapter/FieldMapper/ProductFieldMapper.php b/app/code/Magento/Elasticsearch/Elasticsearch5/Model/Adapter/FieldMapper/ProductFieldMapper.php index 5aea87e5e6ae1..409fc8048cbdb 100644 --- a/app/code/Magento/Elasticsearch/Elasticsearch5/Model/Adapter/FieldMapper/ProductFieldMapper.php +++ b/app/code/Magento/Elasticsearch/Elasticsearch5/Model/Adapter/FieldMapper/ProductFieldMapper.php @@ -23,31 +23,31 @@ class ProductFieldMapper implements FieldMapperInterface { /** - * @deprecated + * @deprecated 100.3.0 * @var Config */ protected $eavConfig; /** - * @deprecated + * @deprecated 100.3.0 * @var FieldType */ protected $fieldType; /** - * @deprecated + * @deprecated 100.3.0 * @var CustomerSession */ protected $customerSession; /** - * @deprecated + * @deprecated 100.3.0 * @var StoreManager */ protected $storeManager; /** - * @deprecated + * @deprecated 100.3.0 * @var Registry */ protected $coreRegistry; diff --git a/app/code/Magento/Elasticsearch/Elasticsearch5/Model/Adapter/FieldMapper/ProductFieldMapperProxy.php b/app/code/Magento/Elasticsearch/Elasticsearch5/Model/Adapter/FieldMapper/ProductFieldMapperProxy.php index b912446acd63e..840a4e16e8ab2 100644 --- a/app/code/Magento/Elasticsearch/Elasticsearch5/Model/Adapter/FieldMapper/ProductFieldMapperProxy.php +++ b/app/code/Magento/Elasticsearch/Elasticsearch5/Model/Adapter/FieldMapper/ProductFieldMapperProxy.php @@ -50,7 +50,6 @@ private function getProductFieldMapper() * @param string $attributeCode * @param array $context * @return string - * @since 100.1.0 */ public function getFieldName($attributeCode, $context = []) { @@ -62,7 +61,6 @@ public function getFieldName($attributeCode, $context = []) * * @param array $context * @return array - * @since 100.1.0 */ public function getAllAttributesTypes($context = []) { diff --git a/app/code/Magento/Elasticsearch/Elasticsearch5/Model/Adapter/FieldType.php b/app/code/Magento/Elasticsearch/Elasticsearch5/Model/Adapter/FieldType.php index 6891b8c693624..332d61a1037b7 100644 --- a/app/code/Magento/Elasticsearch/Elasticsearch5/Model/Adapter/FieldType.php +++ b/app/code/Magento/Elasticsearch/Elasticsearch5/Model/Adapter/FieldType.php @@ -12,9 +12,9 @@ * Class FieldType * * @api - * @since 100.1.0 + * @since 100.2.2 * - * @deprecated This class provide not full data about field type. Only basic rules apply on this class. + * @deprecated 100.3.0 This class provide not full data about field type. Only basic rules apply on this class. * @see ResolverInterface */ class FieldType @@ -38,12 +38,12 @@ class FieldType /** * Get field type. * - * @deprecated + * @deprecated 100.3.0 * @see ResolverInterface::getFieldType * * @param AbstractAttribute $attribute * @return string - * @since 100.1.0 + * @since 100.2.2 */ public function getFieldType($attribute) { diff --git a/app/code/Magento/Elasticsearch/Elasticsearch5/SearchAdapter/Mapper.php b/app/code/Magento/Elasticsearch/Elasticsearch5/SearchAdapter/Mapper.php index abd27abdac8a7..9db1375f16c71 100644 --- a/app/code/Magento/Elasticsearch/Elasticsearch5/SearchAdapter/Mapper.php +++ b/app/code/Magento/Elasticsearch/Elasticsearch5/SearchAdapter/Mapper.php @@ -17,25 +17,25 @@ /** * Mapper class * @api - * @since 100.1.0 + * @since 100.2.2 */ class Mapper { /** * @var QueryBuilder - * @since 100.1.0 + * @since 100.2.2 */ protected $queryBuilder; /** * @var MatchQueryBuilder - * @since 100.1.0 + * @since 100.2.2 */ protected $matchQueryBuilder; /** * @var FilterBuilder - * @since 100.1.0 + * @since 100.2.2 */ protected $filterBuilder; @@ -59,7 +59,7 @@ public function __construct( * * @param RequestInterface $request * @return array - * @since 100.1.0 + * @since 100.2.2 */ public function buildQuery(RequestInterface $request) { @@ -89,7 +89,7 @@ public function buildQuery(RequestInterface $request) * @param string $conditionType * @return array * @throws \InvalidArgumentException - * @since 100.1.0 + * @since 100.2.2 */ protected function processQuery( RequestQueryInterface $requestQuery, @@ -126,7 +126,7 @@ protected function processQuery( * @param BoolQuery $query * @param array $selectQuery * @return array - * @since 100.1.0 + * @since 100.2.2 */ protected function processBoolQuery( BoolQuery $query, @@ -160,7 +160,7 @@ protected function processBoolQuery( * @param array $selectQuery * @param string $conditionType * @return array - * @since 100.1.0 + * @since 100.2.2 */ protected function processBoolQueryCondition( array $subQueryList, diff --git a/app/code/Magento/Elasticsearch/Elasticsearch5/SearchAdapter/Query/Builder.php b/app/code/Magento/Elasticsearch/Elasticsearch5/SearchAdapter/Query/Builder.php index 75c675663f03f..5337cbec9e1a5 100644 --- a/app/code/Magento/Elasticsearch/Elasticsearch5/SearchAdapter/Query/Builder.php +++ b/app/code/Magento/Elasticsearch/Elasticsearch5/SearchAdapter/Query/Builder.php @@ -18,31 +18,31 @@ * Query builder for search adapter. * * @api - * @since 100.1.0 + * @since 100.2.2 */ class Builder { /** * @var Config - * @since 100.1.0 + * @since 100.2.2 */ protected $clientConfig; /** * @var SearchIndexNameResolver - * @since 100.1.0 + * @since 100.2.2 */ protected $searchIndexNameResolver; /** * @var AggregationBuilder - * @since 100.1.0 + * @since 100.2.2 */ protected $aggregationBuilder; /** * @var ScopeResolverInterface - * @since 100.1.0 + * @since 100.2.2 */ protected $scopeResolver; @@ -74,7 +74,7 @@ public function __construct( * * @param RequestInterface $request * @return array - * @since 100.1.0 + * @since 100.2.2 */ public function initQuery(RequestInterface $request) { @@ -101,7 +101,7 @@ public function initQuery(RequestInterface $request) * @param RequestInterface $request * @param array $searchQuery * @return array - * @since 100.1.0 + * @since 100.2.2 */ public function initAggregations( RequestInterface $request, diff --git a/app/code/Magento/Elasticsearch/Model/Adapter/FieldMapper/Product/FieldProvider/DynamicField.php b/app/code/Magento/Elasticsearch/Model/Adapter/FieldMapper/Product/FieldProvider/DynamicField.php index 76bc7a15e47a7..69ecb709fe4a2 100644 --- a/app/code/Magento/Elasticsearch/Model/Adapter/FieldMapper/Product/FieldProvider/DynamicField.php +++ b/app/code/Magento/Elasticsearch/Model/Adapter/FieldMapper/Product/FieldProvider/DynamicField.php @@ -29,7 +29,7 @@ class DynamicField implements FieldProviderInterface /** * Category list. * - * @deprecated + * @deprecated 100.3.2 * @var CategoryListInterface */ private $categoryList; diff --git a/app/code/Magento/Elasticsearch/Model/Adapter/FieldMapper/Product/FieldProvider/FieldType/ConverterInterface.php b/app/code/Magento/Elasticsearch/Model/Adapter/FieldMapper/Product/FieldProvider/FieldType/ConverterInterface.php index 3e7c3e9b592bd..a1563f75e6607 100644 --- a/app/code/Magento/Elasticsearch/Model/Adapter/FieldMapper/Product/FieldProvider/FieldType/ConverterInterface.php +++ b/app/code/Magento/Elasticsearch/Model/Adapter/FieldMapper/Product/FieldProvider/FieldType/ConverterInterface.php @@ -10,6 +10,7 @@ /** * @api * Field type converter from internal data types to elastic service. + * @since 100.3.0 */ interface ConverterInterface { @@ -28,6 +29,7 @@ interface ConverterInterface * * @param string $internalType * @return string + * @since 100.3.0 */ public function convert(string $internalType): string; } diff --git a/app/code/Magento/Elasticsearch/Model/Adapter/FieldType.php b/app/code/Magento/Elasticsearch/Model/Adapter/FieldType.php index e7d8d0672aaf0..069bf6e2ab33a 100644 --- a/app/code/Magento/Elasticsearch/Model/Adapter/FieldType.php +++ b/app/code/Magento/Elasticsearch/Model/Adapter/FieldType.php @@ -14,7 +14,7 @@ * @api * @since 100.1.0 * - * @deprecated This class provide not full data about field type. Only basic rules apply in this class. + * @deprecated 100.3.0 This class provide not full data about field type. Only basic rules apply in this class. * @see ResolverInterface */ class FieldType @@ -37,11 +37,12 @@ class FieldType /** * Get field type. * - * @deprecated + * @deprecated 100.3.0 * @see ResolverInterface::getFieldType * * @param AbstractAttribute $attribute * @return string + * @since 100.1.0 */ public function getFieldType($attribute) { diff --git a/app/code/Magento/Elasticsearch/Model/ResourceModel/Fulltext/Collection/DefaultFilterStrategyApplyChecker.php b/app/code/Magento/Elasticsearch/Model/ResourceModel/Fulltext/Collection/DefaultFilterStrategyApplyChecker.php index 21ff9a53e4f96..12887207e2c5e 100644 --- a/app/code/Magento/Elasticsearch/Model/ResourceModel/Fulltext/Collection/DefaultFilterStrategyApplyChecker.php +++ b/app/code/Magento/Elasticsearch/Model/ResourceModel/Fulltext/Collection/DefaultFilterStrategyApplyChecker.php @@ -10,7 +10,7 @@ /** * This class add in backward compatibility purposes to check if need to apply old strategy for filter prepare process. - * @deprecated + * @deprecated 100.3.2 */ class DefaultFilterStrategyApplyChecker implements DefaultFilterStrategyApplyCheckerInterface { diff --git a/app/code/Magento/Elasticsearch/SearchAdapter/Query/Builder/Match.php b/app/code/Magento/Elasticsearch/SearchAdapter/Query/Builder/Match.php index afd383c13421f..5cb714cee9ad9 100644 --- a/app/code/Magento/Elasticsearch/SearchAdapter/Query/Builder/Match.php +++ b/app/code/Magento/Elasticsearch/SearchAdapter/Query/Builder/Match.php @@ -30,7 +30,7 @@ class Match implements QueryInterface private $fieldMapper; /** - * @deprecated + * @deprecated 100.3.2 * @see \Magento\Elasticsearch\SearchAdapter\Query\ValueTransformer\TextTransformer * @var PreprocessorInterface[] */ @@ -174,7 +174,7 @@ protected function buildQueries(array $matches, array $queryValue) /** * Escape a value for special query characters such as ':', '(', ')', '*', '?', etc. * - * @deprecated + * @deprecated 100.3.2 * @see \Magento\Elasticsearch\SearchAdapter\Query\ValueTransformer\TextTransformer * @param string $value * @return string diff --git a/app/code/Magento/Elasticsearch/composer.json b/app/code/Magento/Elasticsearch/composer.json index 05d3ce94f02f9..e1ca7a243a5be 100644 --- a/app/code/Magento/Elasticsearch/composer.json +++ b/app/code/Magento/Elasticsearch/composer.json @@ -3,19 +3,19 @@ "description": "N/A", "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/module-advanced-search": "*", - "magento/module-catalog": "*", - "magento/module-catalog-search": "*", - "magento/module-customer": "*", - "magento/module-eav": "*", - "magento/module-search": "*", - "magento/module-store": "*", - "magento/module-catalog-inventory": "*", - "magento/framework": "*", + "magento/module-advanced-search": "100.3.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-search": "101.0.*", + "magento/module-customer": "102.0.*", + "magento/module-eav": "102.0.*", + "magento/module-search": "101.0.*", + "magento/module-store": "101.0.*", + "magento/module-catalog-inventory": "100.3.*", + "magento/framework": "102.0.*", "elasticsearch/elasticsearch": "~2.0|~5.1|~6.1" }, "suggest": { - "magento/module-config": "*" + "magento/module-config": "101.1.*" }, "type": "magento2-module", "license": [ @@ -29,5 +29,6 @@ "psr-4": { "Magento\\Elasticsearch\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/Elasticsearch6/composer.json b/app/code/Magento/Elasticsearch6/composer.json index 9107f5e900415..9b6d7c4d0c307 100644 --- a/app/code/Magento/Elasticsearch6/composer.json +++ b/app/code/Magento/Elasticsearch6/composer.json @@ -3,16 +3,16 @@ "description": "N/A", "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-advanced-search": "*", - "magento/module-catalog-search": "*", - "magento/module-search": "*", - "magento/module-store": "*", - "magento/module-elasticsearch": "*", + "magento/framework": "102.0.*", + "magento/module-advanced-search": "100.3.*", + "magento/module-catalog-search": "101.0.*", + "magento/module-search": "101.0.*", + "magento/module-store": "101.0.*", + "magento/module-elasticsearch": "100.3.*", "elasticsearch/elasticsearch": "~2.0|~5.1|~6.1" }, "suggest": { - "magento/module-config": "*" + "magento/module-config": "101.1.*" }, "type": "magento2-module", "license": [ @@ -26,5 +26,6 @@ "psr-4": { "Magento\\Elasticsearch6\\": "" } - } + }, + "version": "100.3.2" } diff --git a/app/code/Magento/Email/Block/Adminhtml/Template/Edit.php b/app/code/Magento/Email/Block/Adminhtml/Template/Edit.php index 112813c3b096c..7beb266508cc9 100644 --- a/app/code/Magento/Email/Block/Adminhtml/Template/Edit.php +++ b/app/code/Magento/Email/Block/Adminhtml/Template/Edit.php @@ -20,7 +20,7 @@ class Edit extends Widget implements ContainerInterface { /** * @var \Magento\Framework\Registry - * @deprecated since 2.3.0 in favor of stateful global objects elimination. + * @deprecated 101.0.0 since 2.3.0 in favor of stateful global objects elimination. */ protected $_registryManager; diff --git a/app/code/Magento/Email/Block/Adminhtml/Template/Preview.php b/app/code/Magento/Email/Block/Adminhtml/Template/Preview.php index ec5596e2194a1..46dd166423229 100644 --- a/app/code/Magento/Email/Block/Adminhtml/Template/Preview.php +++ b/app/code/Magento/Email/Block/Adminhtml/Template/Preview.php @@ -67,6 +67,8 @@ protected function _toHtml() $template->setTemplateType($request->getParam('type')); $template->setTemplateText($request->getParam('text')); $template->setTemplateStyles($request->getParam('styles')); + // Emulate DB-loaded template to invoke strict mode + $template->setTemplateId(123); } \Magento\Framework\Profiler::start($this->profilerName); diff --git a/app/code/Magento/Email/Controller/Adminhtml/Email/Template.php b/app/code/Magento/Email/Controller/Adminhtml/Email/Template.php index 50153b2bb6520..5af5230b0e33d 100644 --- a/app/code/Magento/Email/Controller/Adminhtml/Email/Template.php +++ b/app/code/Magento/Email/Controller/Adminhtml/Email/Template.php @@ -23,7 +23,7 @@ abstract class Template extends \Magento\Backend\App\Action * Core registry * * @var \Magento\Framework\Registry - * @deprecated since 2.3.0 in favor of stateful global objects elimination. + * @deprecated 101.0.0 since 2.3.0 in favor of stateful global objects elimination. */ protected $_coreRegistry = null; diff --git a/app/code/Magento/Email/Model/AbstractTemplate.php b/app/code/Magento/Email/Model/AbstractTemplate.php index 5eae1d1462184..8acb0a9fddb75 100644 --- a/app/code/Magento/Email/Model/AbstractTemplate.php +++ b/app/code/Magento/Email/Model/AbstractTemplate.php @@ -362,12 +362,19 @@ public function getProcessedTemplate(array $variables = []) $variables = $this->addEmailVariables($variables, $storeId); $processor->setVariables($variables); + $previousStrictMode = $processor->setStrictMode( + !$this->getData('is_legacy') && is_numeric($this->getTemplateId()) + ); + try { $result = $processor->filter($this->getTemplateText()); } catch (\Exception $e) { $this->cancelDesignConfig(); throw new \LogicException(__($e->getMessage()), $e->getCode(), $e); + } finally { + $processor->setStrictMode($previousStrictMode); } + if ($isDesignApplied) { $this->cancelDesignConfig(); } @@ -455,6 +462,9 @@ protected function addEmailVariables($variables, $storeId) if (!isset($variables['store'])) { $variables['store'] = $store; } + if (!isset($variables['store']['frontend_name'])) { + $variables['store']['frontend_name'] = $store->getFrontendName(); + } if (!isset($variables['logo_url'])) { $variables['logo_url'] = $this->getLogoUrl($storeId); } diff --git a/app/code/Magento/Email/Model/Template.php b/app/code/Magento/Email/Model/Template.php index 7306db1222872..ca962b31e63af 100644 --- a/app/code/Magento/Email/Model/Template.php +++ b/app/code/Magento/Email/Model/Template.php @@ -246,12 +246,20 @@ public function getProcessedTemplateSubject(array $variables) $this->applyDesignConfig(); $storeId = $this->getDesignConfig()->getStore(); + + $previousStrictMode = $processor->setStrictMode( + !$this->getData('is_legacy') && is_numeric($this->getTemplateId()) + ); + try { $processedResult = $processor->setStoreId($storeId)->filter(__($this->getTemplateSubject())); } catch (\Exception $e) { $this->cancelDesignConfig(); throw new \Magento\Framework\Exception\MailException(__($e->getMessage()), $e); + } finally { + $processor->setStrictMode($previousStrictMode); } + $this->cancelDesignConfig(); return $processedResult; } diff --git a/app/code/Magento/Email/Model/Template/Filter.php b/app/code/Magento/Email/Model/Template/Filter.php index 0e27b2d4c418b..4765b4443457a 100644 --- a/app/code/Magento/Email/Model/Template/Filter.php +++ b/app/code/Magento/Email/Model/Template/Filter.php @@ -8,6 +8,7 @@ use Magento\Framework\App\ObjectManager; use Magento\Framework\Filesystem; use Magento\Framework\Filesystem\Directory\ReadInterface; +use Magento\Framework\Filter\VariableResolverInterface; use Magento\Framework\View\Asset\ContentProcessorException; use Magento\Framework\View\Asset\ContentProcessorInterface; @@ -50,6 +51,7 @@ class Filter extends \Magento\Framework\Filter\Template * Modifier Callbacks * * @var array + * @deprecated 101.0.3 Use the new Directive Processor interfaces */ protected $_modifiers = ['nl2br' => '']; @@ -191,6 +193,8 @@ class Filter extends \Magento\Framework\Filter\Template * @param array $variables * @param \Magento\Framework\Css\PreProcessor\Adapter\CssInliner|null $cssInliner * + * @param array $directiveProcessors + * @param VariableResolverInterface|null $variableResolver * @SuppressWarnings(PHPMD.ExcessiveParameterList) */ public function __construct( @@ -208,7 +212,9 @@ public function __construct( \Pelago\Emogrifier $emogrifier, \Magento\Variable\Model\Source\Variables $configVariables, $variables = [], - \Magento\Framework\Css\PreProcessor\Adapter\CssInliner $cssInliner = null + \Magento\Framework\Css\PreProcessor\Adapter\CssInliner $cssInliner = null, + array $directiveProcessors = [], + VariableResolverInterface $variableResolver = null ) { $this->_escaper = $escaper; $this->_assetRepo = $assetRepo; @@ -225,7 +231,7 @@ public function __construct( $this->cssInliner = $cssInliner ?: \Magento\Framework\App\ObjectManager::getInstance() ->get(\Magento\Framework\Css\PreProcessor\Adapter\CssInliner::class); $this->configVariables = $configVariables; - parent::__construct($string, $variables); + parent::__construct($string, $variables, $directiveProcessors, $variableResolver); } /** @@ -639,7 +645,10 @@ public function varDirective($construction) return $construction[0]; } - list($directive, $modifiers) = $this->explodeModifiers($construction[2], 'escape'); + list($directive, $modifiers) = $this->explodeModifiers( + $construction[2] . ($construction['filters'] ?? ''), + 'escape' + ); return $this->applyModifiers($this->getVariable($directive, ''), $modifiers); } @@ -656,6 +665,7 @@ public function varDirective($construction) * @param string $value * @param string $default assumed modifier if none present * @return array + * @deprecated 101.0.3 Use the new FilterApplier or Directive Processor interfaces */ protected function explodeModifiers($value, $default = null) { @@ -674,6 +684,7 @@ protected function explodeModifiers($value, $default = null) * @param string $value * @param string $modifiers * @return string + * @deprecated 101.0.3 Use the new FilterApplier or Directive Processor interfaces */ protected function applyModifiers($value, $modifiers) { @@ -701,6 +712,7 @@ protected function applyModifiers($value, $modifiers) * @param string $value * @param string $type * @return string + * @deprecated 101.0.3 Use the new FilterApplier or Directive Processor interfaces */ public function modifierEscape($value, $type = 'html') { diff --git a/app/code/Magento/Email/Model/Transport.php b/app/code/Magento/Email/Model/Transport.php index cbce1682cb5fa..79ceb56a8834d 100644 --- a/app/code/Magento/Email/Model/Transport.php +++ b/app/code/Magento/Email/Model/Transport.php @@ -9,7 +9,6 @@ use Magento\Framework\App\Config\ScopeConfigInterface; use Magento\Framework\Exception\MailException; -use Magento\Framework\Mail\EmailMessageInterface; use Magento\Framework\Mail\MessageInterface; use Magento\Framework\Mail\TransportInterface; use Magento\Framework\Phrase; @@ -62,12 +61,12 @@ class Transport implements TransportInterface private $message; /** - * @param EmailMessageInterface $message Email message object + * @param MessageInterface $message Email message object * @param ScopeConfigInterface $scopeConfig Core store config * @param null|string|array|\Traversable $parameters Config options for sendmail parameters */ public function __construct( - EmailMessageInterface $message, + MessageInterface $message, ScopeConfigInterface $scopeConfig, $parameters = null ) { diff --git a/app/code/Magento/Email/Setup/Patch/Data/FlagLegacyTemplates.php b/app/code/Magento/Email/Setup/Patch/Data/FlagLegacyTemplates.php new file mode 100644 index 0000000000000..6a97f38239bd6 --- /dev/null +++ b/app/code/Magento/Email/Setup/Patch/Data/FlagLegacyTemplates.php @@ -0,0 +1,57 @@ +moduleDataSetup = $moduleDataSetup; + } + + /** + * @inheritDoc + */ + public function apply() + { + $this->moduleDataSetup + ->getConnection() + ->update($this->moduleDataSetup->getTable('email_template'), ['is_legacy' => '1']); + } + + /** + * @inheritDoc + */ + public static function getDependencies() + { + return []; + } + + /** + * @inheritDoc + */ + public function getAliases() + { + return []; + } +} diff --git a/app/code/Magento/Email/Test/Mftf/ActionGroup/EmailTemplateActionGroup.xml b/app/code/Magento/Email/Test/Mftf/ActionGroup/EmailTemplateActionGroup.xml index 4285f6dbdbb08..95c15ad481e6d 100644 --- a/app/code/Magento/Email/Test/Mftf/ActionGroup/EmailTemplateActionGroup.xml +++ b/app/code/Magento/Email/Test/Mftf/ActionGroup/EmailTemplateActionGroup.xml @@ -38,6 +38,17 @@ + + + + + + + + + + + diff --git a/app/code/Magento/Email/Test/Mftf/Data/EmailTemplateData.xml b/app/code/Magento/Email/Test/Mftf/Data/EmailTemplateData.xml index 7f28e2241761b..3224ed82d9dc4 100644 --- a/app/code/Magento/Email/Test/Mftf/Data/EmailTemplateData.xml +++ b/app/code/Magento/Email/Test/Mftf/Data/EmailTemplateData.xml @@ -13,4 +13,10 @@ Template Subject_ Template Text_ + + Template + Template Subject_ + Template {{var this.template_id}}:{{var this.getData(template_id)}} Text + Template 123: Text + diff --git a/app/code/Magento/Email/Test/Mftf/Test/AdminEmailTemplatePreviewTest.xml b/app/code/Magento/Email/Test/Mftf/Test/AdminEmailTemplatePreviewTest.xml index 459e3c0f9290f..730d9a0a6ef8b 100644 --- a/app/code/Magento/Email/Test/Mftf/Test/AdminEmailTemplatePreviewTest.xml +++ b/app/code/Magento/Email/Test/Mftf/Test/AdminEmailTemplatePreviewTest.xml @@ -18,6 +18,7 @@ + @@ -37,4 +38,75 @@ + + + + + + + <description value="Check if email template preview works correctly with directives"/> + <severity value="CRITICAL"/> + <useCaseId value="MC-23058"/> + <group value="email"/> + <group value="WYSIWYGDisabled"/> + <stories value="Email Template Preview"/> + </annotations> + + <before> + <!--Login to Admin Area--> + <actionGroup ref="LoginAsAdmin" stepKey="loginToAdminArea"/> + </before> + + <after> + <!--Delete created Template--> + <actionGroup ref="DeleteEmailTemplate" stepKey="deleteTemplate"/> + <click selector="{{AdminDataGridHeaderSection.clearFilters}}" stepKey="clearFilters"/> + <!--Logout from Admin Area--> + <actionGroup ref="logout" stepKey="logoutOfAdmin"/> + </after> + + <actionGroup ref="CreateCustomTemplate" stepKey="createTemplate"> + <argument name="template" value="EmailTemplateWithDirectives"/> + </actionGroup> + <actionGroup ref="PreviewEmailTemplate" stepKey="previewTemplate"/> + <actionGroup ref="AssertEmailTemplateContent" stepKey="assertContent"> + <argument name="expectedContent" value="{{EmailTemplateWithDirectives.expectedTemplate}}"/> + </actionGroup> + </test> + <test name="AdminEmailTemplatePreviewAsDraftWithDirectivesTest"> + <annotations> + <features value="Email"/> + <stories value="Create email template with directives and preview as draft"/> + <title value="Check email template preview with directives and preview as draft"/> + <description value="Check if email template preview works correctly with directives in draft mode"/> + <severity value="CRITICAL"/> + <useCaseId value="MC-23058"/> + <group value="email"/> + <group value="WYSIWYGDisabled"/> + <stories value="Email Template Preview"/> + </annotations> + + <before> + <actionGroup ref="LoginAsAdmin" stepKey="loginToAdminArea"/> + </before> + + <after> + <actionGroup ref="logout" stepKey="logoutOfAdmin"/> + </after> + + <actionGroup ref="PrepareDraftCustomTemplate" stepKey="createDraftTemplate"> + <argument name="template" value="EmailTemplateWithDirectives"/> + </actionGroup> + + <click selector="{{AdminEmailTemplateEditSection.previewTemplateButton}}" stepKey="clickPreviewTemplate"/> + <switchToNextTab stepKey="switchToPreviewTab"/> + <seeInCurrentUrl url="{{AdminEmailTemplatePreviewPage.url}}" stepKey="seePreviewInUrl"/> + <seeElement selector="{{AdminEmailTemplatePreviewSection.iframe}}" stepKey="seeIframeOnPage"/> + <switchToIFrame userInput="preview_iframe" stepKey="switchToIframe"/> + <waitForPageLoad stepKey="waitForPreviewLoaded"/> + + <actionGroup ref="AssertEmailTemplateContent" stepKey="assertContent"> + <argument name="expectedContent" value="{{EmailTemplateWithDirectives.expectedTemplate}}"/> + </actionGroup> + </test> </tests> diff --git a/app/code/Magento/Email/Test/Unit/Model/AbstractTemplateTest.php b/app/code/Magento/Email/Test/Unit/Model/AbstractTemplateTest.php index 0a0e9f780351d..036ab1b273fb0 100644 --- a/app/code/Magento/Email/Test/Unit/Model/AbstractTemplateTest.php +++ b/app/code/Magento/Email/Test/Unit/Model/AbstractTemplateTest.php @@ -117,8 +117,8 @@ protected function setUp() /** * Return the model under test with additional methods mocked. * - * @param array $mockedMethods - * @param array $data + * @param array $mockedMethods + * @param array $data * @return \Magento\Email\Model\Template|\PHPUnit_Framework_MockObject_MockObject */ protected function getModelMock(array $mockedMethods = [], array $data = []) @@ -150,17 +150,18 @@ protected function getModelMock(array $mockedMethods = [], array $data = []) } /** - * @param $variables array - * @param $templateType string - * @param $storeId int - * @param $expectedVariables array - * @param $expectedResult string + * @param $variables array + * @param $templateType string + * @param $storeId int + * @param $expectedVariables array + * @param $expectedResult string * @dataProvider getProcessedTemplateProvider */ public function testGetProcessedTemplate($variables, $templateType, $storeId, $expectedVariables, $expectedResult) { $filterTemplate = $this->getMockBuilder(\Magento\Email\Model\Template\Filter::class) - ->setMethods([ + ->setMethods( + [ 'setUseSessionInUrl', 'setPlainTemplateMode', 'setIsChildTemplate', @@ -170,7 +171,9 @@ public function testGetProcessedTemplate($variables, $templateType, $storeId, $e 'filter', 'getStoreId', 'getInlineCssFiles', - ]) + 'setStrictMode', + ] + ) ->disableOriginalConstructor() ->getMock(); @@ -194,20 +197,27 @@ public function testGetProcessedTemplate($variables, $templateType, $storeId, $e $filterTemplate->expects($this->any()) ->method('getStoreId') ->will($this->returnValue($storeId)); + $filterTemplate->expects($this->exactly(2)) + ->method('setStrictMode') + ->withConsecutive([$this->equalTo(true)], [$this->equalTo(false)]) + ->willReturnOnConsecutiveCalls(false, true); $expectedVariables['store'] = $this->store; - $model = $this->getModelMock([ + $model = $this->getModelMock( + [ 'getDesignParams', 'applyDesignConfig', 'getTemplateText', 'isPlain', - ]); + ] + ); $filterTemplate->expects($this->any()) ->method('setVariables') ->with(array_merge(['this' => $model], $expectedVariables)); $model->setTemplateFilter($filterTemplate); $model->setTemplateType($templateType); + $model->setTemplateId('123'); $designParams = [ 'area' => \Magento\Framework\App\Area::AREA_FRONTEND, @@ -241,7 +251,8 @@ public function testGetProcessedTemplate($variables, $templateType, $storeId, $e public function testGetProcessedTemplateException() { $filterTemplate = $this->getMockBuilder(\Magento\Email\Model\Template\Filter::class) - ->setMethods([ + ->setMethods( + [ 'setUseSessionInUrl', 'setPlainTemplateMode', 'setIsChildTemplate', @@ -251,7 +262,9 @@ public function testGetProcessedTemplateException() 'filter', 'getStoreId', 'getInlineCssFiles', - ]) + 'setStrictMode', + ] + ) ->disableOriginalConstructor() ->getMock(); $filterTemplate->expects($this->once()) @@ -272,13 +285,19 @@ public function testGetProcessedTemplateException() $filterTemplate->expects($this->any()) ->method('getStoreId') ->will($this->returnValue(1)); + $filterTemplate->expects($this->exactly(2)) + ->method('setStrictMode') + ->withConsecutive([$this->equalTo(false)], [$this->equalTo(true)]) + ->willReturnOnConsecutiveCalls(true, false); - $model = $this->getModelMock([ + $model = $this->getModelMock( + [ 'getDesignParams', 'applyDesignConfig', 'getTemplateText', 'isPlain', - ]); + ] + ); $designParams = [ 'area' => \Magento\Framework\App\Area::AREA_FRONTEND, @@ -290,6 +309,7 @@ public function testGetProcessedTemplateException() ->will($this->returnValue($designParams)); $model->setTemplateFilter($filterTemplate); $model->setTemplateType(\Magento\Framework\App\TemplateTypesInterface::TYPE_TEXT); + $model->setTemplateId('abc'); $filterTemplate->expects($this->once()) ->method('filter') @@ -361,9 +381,9 @@ public function testGetDefaultEmailLogo() } /** - * @param array $config + * @param array $config * @expectedException \Magento\Framework\Exception\LocalizedException - * @dataProvider invalidInputParametersDataProvider + * @dataProvider invalidInputParametersDataProvider */ public function testSetDesignConfigWithInvalidInputParametersThrowsException($config) { diff --git a/app/code/Magento/Email/Test/Unit/Model/Template/FilterTest.php b/app/code/Magento/Email/Test/Unit/Model/Template/FilterTest.php index 2c9fdae111fd8..bc46d2460f0b0 100644 --- a/app/code/Magento/Email/Test/Unit/Model/Template/FilterTest.php +++ b/app/code/Magento/Email/Test/Unit/Model/Template/FilterTest.php @@ -179,83 +179,6 @@ protected function getModel($mockedMethods = null) ->getMock(); } - /** - * Tests proper parsing of the {{trans ...}} directive used in email templates - * - * @dataProvider transDirectiveDataProvider - * @param $value - * @param $expected - * @param array $variables - */ - public function testTransDirective($value, $expected, array $variables = []) - { - $filter = $this->getModel()->setVariables($variables); - $this->assertEquals($expected, $filter->filter($value)); - } - - /** - * Data provider for various possible {{trans ...}} usages - * - * @return array - */ - public function transDirectiveDataProvider() - { - return [ - 'empty directive' => [ - '{{trans}}', - '', - ], - - 'empty string' => [ - '{{trans ""}}', - '', - ], - - 'no padding' => [ - '{{trans"Hello cruel coder..."}}', - 'Hello cruel coder...', - ], - - 'multi-line padding' => [ - "{{trans \t\n\r'Hello cruel coder...' \t\n\r}}", - 'Hello cruel coder...', - ], - - 'capture escaped double-quotes inside text' => [ - '{{trans "Hello \"tested\" world!"}}', - 'Hello "tested" world!', - ], - - 'capture escaped single-quotes inside text' => [ - "{{trans 'Hello \\'tested\\' world!'|escape}}", - "Hello 'tested' world!", - ], - - 'basic var' => [ - '{{trans "Hello %adjective world!" adjective="tested"}}', - 'Hello tested world!', - ], - - 'auto-escaped output' => [ - '{{trans "Hello %adjective <strong>world</strong>!" adjective="<em>bad</em>"}}', - 'Hello <em>bad</em> <strong>world</strong>!', - ], - - 'unescaped modifier' => [ - '{{trans "Hello %adjective <strong>world</strong>!" adjective="<em>bad</em>"|raw}}', - 'Hello <em>bad</em> <strong>world</strong>!', - ], - - 'variable replacement' => [ - '{{trans "Hello %adjective world!" adjective="$mood"}}', - 'Hello happy world!', - [ - 'mood' => 'happy' - ], - ], - ]; - } - /** * Test basic usages of applyInlineCss * diff --git a/app/code/Magento/Email/Test/Unit/Model/TemplateTest.php b/app/code/Magento/Email/Test/Unit/Model/TemplateTest.php index 12b970f623e2d..cda3a4f4a1934 100644 --- a/app/code/Magento/Email/Test/Unit/Model/TemplateTest.php +++ b/app/code/Magento/Email/Test/Unit/Model/TemplateTest.php @@ -514,14 +514,20 @@ public function testGetProcessedTemplateSubject() $templateSubject = 'templateSubject'; $model->setTemplateSubject($templateSubject); + $model->setTemplateId('123'); + class_exists(Template::class, true); $filterTemplate = $this->getMockBuilder(\Magento\Framework\Filter\Template::class) - ->setMethods(['setVariables', 'setStoreId', 'filter']) + ->setMethods(['setVariables', 'setStoreId', 'filter', 'setStrictMode']) ->disableOriginalConstructor() ->getMock(); $model->expects($this->once()) ->method('getTemplateFilter') ->willReturn($filterTemplate); + $filterTemplate->expects($this->exactly(2)) + ->method('setStrictMode') + ->withConsecutive([$this->equalTo(true)], [$this->equalTo(false)]) + ->willReturnOnConsecutiveCalls(false, true); $model->expects($this->once()) ->method('applyDesignConfig'); diff --git a/app/code/Magento/Email/composer.json b/app/code/Magento/Email/composer.json index 548d9a422c132..0e4ee77d5fa8c 100644 --- a/app/code/Magento/Email/composer.json +++ b/app/code/Magento/Email/composer.json @@ -6,17 +6,17 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-backend": "*", - "magento/module-cms": "*", - "magento/module-config": "*", - "magento/module-store": "*", - "magento/module-theme": "*", - "magento/module-media-storage": "*", - "magento/module-variable": "*" + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-cms": "103.0.*", + "magento/module-config": "101.1.*", + "magento/module-store": "101.0.*", + "magento/module-theme": "101.0.*", + "magento/module-media-storage": "100.3.*", + "magento/module-variable": "100.3.*" }, "suggest": { - "magento/module-theme": "*" + "magento/module-theme": "101.0.*" }, "type": "magento2-module", "license": [ @@ -30,5 +30,6 @@ "psr-4": { "Magento\\Email\\": "" } - } + }, + "version": "101.0.3-p1" } diff --git a/app/code/Magento/Email/etc/db_schema.xml b/app/code/Magento/Email/etc/db_schema.xml index dbb8855e9e57e..82c5f18ddb9e9 100644 --- a/app/code/Magento/Email/etc/db_schema.xml +++ b/app/code/Magento/Email/etc/db_schema.xml @@ -27,6 +27,8 @@ <column xsi:type="varchar" name="orig_template_code" nullable="true" length="200" comment="Original Template Code"/> <column xsi:type="text" name="orig_template_variables" nullable="true" comment="Original Template Variables"/> + <column xsi:type="boolean" name="is_legacy" nullable="false" + default="false" comment="Should the template render in legacy mode"/> <constraint xsi:type="primary" referenceId="PRIMARY"> <column name="template_id"/> </constraint> diff --git a/app/code/Magento/Email/etc/di.xml b/app/code/Magento/Email/etc/di.xml index 9ec3e04728a2c..73ba21ed7537b 100644 --- a/app/code/Magento/Email/etc/di.xml +++ b/app/code/Magento/Email/etc/di.xml @@ -72,4 +72,22 @@ </argument> </arguments> </type> + <type name="Magento\Framework\Filter\Template"> + <arguments> + <argument name="directiveProcessors" xsi:type="array"> + <item name="depend" sortOrder="100" xsi:type="object">Magento\Framework\Filter\DirectiveProcessor\DependDirective</item> + <item name="if" sortOrder="200" xsi:type="object">Magento\Framework\Filter\DirectiveProcessor\IfDirective</item> + <item name="template" sortOrder="300" xsi:type="object">Magento\Framework\Filter\DirectiveProcessor\TemplateDirective</item> + <item name="legacy" sortOrder="400" xsi:type="object">Magento\Framework\Filter\DirectiveProcessor\LegacyDirective</item> + </argument> + </arguments> + </type> + <type name="Magento\Framework\Filter\DirectiveProcessor\Filter\FilterPool"> + <arguments> + <argument name="filters" xsi:type="array"> + <item name="nl2br" xsi:type="object">Magento\Framework\Filter\DirectiveProcessor\Filter\NewlineToBreakFilter</item> + <item name="escape" xsi:type="object">Magento\Framework\Filter\DirectiveProcessor\Filter\EscapeFilter</item> + </argument> + </arguments> + </type> </config> diff --git a/app/code/Magento/Email/view/frontend/email/footer.html b/app/code/Magento/Email/view/frontend/email/footer.html index 40e18372252bc..b9db3b8597cad 100644 --- a/app/code/Magento/Email/view/frontend/email/footer.html +++ b/app/code/Magento/Email/view/frontend/email/footer.html @@ -6,7 +6,7 @@ --> <!--@subject {{trans "Footer"}} @--> <!--@vars { -"var store.getFrontendName()":"Store Name" +"var store.frontend_name":"Store Name" } @--> <!-- End Content --> @@ -14,7 +14,7 @@ </tr> <tr> <td class="footer"> - <p class="closing">{{trans "Thank you, %store_name" store_name=$store.getFrontendName()}}!</p> + <p class="closing">{{trans "Thank you, %store_name" store_name=$store.frontend_name}}!</p> </td> </tr> </table> diff --git a/app/code/Magento/Email/view/frontend/email/header.html b/app/code/Magento/Email/view/frontend/email/header.html index c4f49698dc69b..45e299cb51d17 100644 --- a/app/code/Magento/Email/view/frontend/email/header.html +++ b/app/code/Magento/Email/view/frontend/email/header.html @@ -6,6 +6,8 @@ --> <!--@subject {{trans "Header"}} @--> <!--@vars { +"var logo_url":"Email Logo Image URL", +"var logo_alt":"Email Logo Alt Text", "var logo_height":"Email Logo Image Height", "var logo_width":"Email Logo Image Width", "var template_styles|raw":"Template CSS" diff --git a/app/code/Magento/EncryptionKey/composer.json b/app/code/Magento/EncryptionKey/composer.json index b154151487200..787fd4771506e 100644 --- a/app/code/Magento/EncryptionKey/composer.json +++ b/app/code/Magento/EncryptionKey/composer.json @@ -6,9 +6,9 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-backend": "*", - "magento/module-config": "*" + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-config": "101.1.*" }, "type": "magento2-module", "license": [ @@ -22,5 +22,6 @@ "psr-4": { "Magento\\EncryptionKey\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/Fedex/composer.json b/app/code/Magento/Fedex/composer.json index 20a2d31f3f02f..a79385a87f252 100644 --- a/app/code/Magento/Fedex/composer.json +++ b/app/code/Magento/Fedex/composer.json @@ -7,15 +7,15 @@ "require": { "php": "~7.1.3||~7.2.0||~7.3.0", "lib-libxml": "*", - "magento/framework": "*", - "magento/module-catalog": "*", - "magento/module-catalog-inventory": "*", - "magento/module-config": "*", - "magento/module-directory": "*", - "magento/module-quote": "*", - "magento/module-sales": "*", - "magento/module-shipping": "*", - "magento/module-store": "*" + "magento/framework": "102.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-inventory": "100.3.*", + "magento/module-config": "101.1.*", + "magento/module-directory": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-sales": "102.0.*", + "magento/module-shipping": "100.3.*", + "magento/module-store": "101.0.*" }, "type": "magento2-module", "license": [ @@ -29,5 +29,6 @@ "psr-4": { "Magento\\Fedex\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/GiftMessage/Block/Message/Inline.php b/app/code/Magento/GiftMessage/Block/Message/Inline.php index 4a9311c1b4ba2..475f1c2b717ae 100644 --- a/app/code/Magento/GiftMessage/Block/Message/Inline.php +++ b/app/code/Magento/GiftMessage/Block/Message/Inline.php @@ -280,7 +280,7 @@ public function countItems() /** * Call method getItemsHasMessages * - * @deprecated Misspelled method + * @deprecated 100.2.4 Misspelled method * @see getItemsHasMessages */ public function getItemsHasMesssages() diff --git a/app/code/Magento/GiftMessage/composer.json b/app/code/Magento/GiftMessage/composer.json index 1aaad24837719..a207e0f617a02 100644 --- a/app/code/Magento/GiftMessage/composer.json +++ b/app/code/Magento/GiftMessage/composer.json @@ -6,18 +6,18 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-backend": "*", - "magento/module-catalog": "*", - "magento/module-checkout": "*", - "magento/module-customer": "*", - "magento/module-quote": "*", - "magento/module-sales": "*", - "magento/module-store": "*", - "magento/module-ui": "*" + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-checkout": "100.3.*", + "magento/module-customer": "102.0.*", + "magento/module-quote": "101.1.*", + "magento/module-sales": "102.0.*", + "magento/module-store": "101.0.*", + "magento/module-ui": "101.1.*" }, "suggest": { - "magento/module-multishipping": "*" + "magento/module-multishipping": "100.3.*" }, "type": "magento2-module", "license": [ @@ -31,5 +31,6 @@ "psr-4": { "Magento\\GiftMessage\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/GoogleAdwords/Helper/Data.php b/app/code/Magento/GoogleAdwords/Helper/Data.php index 0e95859193d42..e3b85822059d8 100644 --- a/app/code/Magento/GoogleAdwords/Helper/Data.php +++ b/app/code/Magento/GoogleAdwords/Helper/Data.php @@ -280,6 +280,7 @@ public function getConversionValue() * Get send order currency to Google Adwords * * @return boolean + * @since 100.3.0 */ public function hasSendConversionValueCurrency() { @@ -293,6 +294,7 @@ public function hasSendConversionValueCurrency() * Get Google AdWords conversion value currency * * @return string|false + * @since 100.3.0 */ public function getConversionValueCurrency() { diff --git a/app/code/Magento/GoogleAdwords/composer.json b/app/code/Magento/GoogleAdwords/composer.json index 2d5437c53d84e..1d7c541d7c143 100644 --- a/app/code/Magento/GoogleAdwords/composer.json +++ b/app/code/Magento/GoogleAdwords/composer.json @@ -6,9 +6,9 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-sales": "*", - "magento/module-store": "*" + "magento/framework": "102.0.*", + "magento/module-sales": "102.0.*", + "magento/module-store": "101.0.*" }, "type": "magento2-module", "license": [ @@ -22,5 +22,6 @@ "psr-4": { "Magento\\GoogleAdwords\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/GoogleAnalytics/composer.json b/app/code/Magento/GoogleAnalytics/composer.json index 8ab8ba5cce8e8..544e9b7b62562 100644 --- a/app/code/Magento/GoogleAnalytics/composer.json +++ b/app/code/Magento/GoogleAnalytics/composer.json @@ -6,13 +6,13 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-cookie": "*", - "magento/module-sales": "*", - "magento/module-store": "*" + "magento/framework": "102.0.*", + "magento/module-cookie": "100.3.*", + "magento/module-sales": "102.0.*", + "magento/module-store": "101.0.*" }, "suggest": { - "magento/module-config": "*" + "magento/module-config": "101.1.*" }, "type": "magento2-module", "license": [ @@ -26,5 +26,6 @@ "psr-4": { "Magento\\GoogleAnalytics\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/GoogleOptimizer/composer.json b/app/code/Magento/GoogleOptimizer/composer.json index 7cd776dcfbf4b..e2bcc270ee942 100644 --- a/app/code/Magento/GoogleOptimizer/composer.json +++ b/app/code/Magento/GoogleOptimizer/composer.json @@ -6,13 +6,13 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-backend": "*", - "magento/module-catalog": "*", - "magento/module-cms": "*", - "magento/module-google-analytics": "*", - "magento/module-store": "*", - "magento/module-ui": "*" + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-cms": "103.0.*", + "magento/module-google-analytics": "100.3.*", + "magento/module-store": "101.0.*", + "magento/module-ui": "101.1.*" }, "type": "magento2-module", "license": [ @@ -26,5 +26,6 @@ "psr-4": { "Magento\\GoogleOptimizer\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/GraphQl/Controller/GraphQl.php b/app/code/Magento/GraphQl/Controller/GraphQl.php index 2d72fde91b031..34dbeaa2ed0a2 100644 --- a/app/code/Magento/GraphQl/Controller/GraphQl.php +++ b/app/code/Magento/GraphQl/Controller/GraphQl.php @@ -28,12 +28,13 @@ * * @api * @SuppressWarnings(PHPMD.CouplingBetweenObjects) + * @since 100.3.0 */ class GraphQl implements FrontControllerInterface { /** * @var \Magento\Framework\Webapi\Response - * @deprecated + * @deprecated 100.3.2 */ private $response; @@ -59,7 +60,7 @@ class GraphQl implements FrontControllerInterface /** * @var ContextInterface - * @deprecated $contextFactory is used for creating Context object + * @deprecated 100.3.3 $contextFactory is used for creating Context object */ private $resolverContext; @@ -133,6 +134,7 @@ public function __construct( * * @param RequestInterface $request * @return ResponseInterface + * @since 100.3.0 */ public function dispatch(RequestInterface $request) : ResponseInterface { diff --git a/app/code/Magento/GraphQl/Model/Query/Resolver/Context.php b/app/code/Magento/GraphQl/Model/Query/Resolver/Context.php index 2b8e3fabd6863..9403ccaf07099 100644 --- a/app/code/Magento/GraphQl/Model/Query/Resolver/Context.php +++ b/app/code/Magento/GraphQl/Model/Query/Resolver/Context.php @@ -12,7 +12,7 @@ /** * Do not use this class. It was kept for backward compatibility. * - * @deprecated \Magento\GraphQl\Model\Query\Context is used instead of this + * @deprecated 100.3.3 \Magento\GraphQl\Model\Query\Context is used instead of this */ class Context extends \Magento\Framework\Model\AbstractExtensibleModel implements ContextInterface { diff --git a/app/code/Magento/GraphQl/composer.json b/app/code/Magento/GraphQl/composer.json index 166e3f170f2d6..9f0c52df2d5fb 100644 --- a/app/code/Magento/GraphQl/composer.json +++ b/app/code/Magento/GraphQl/composer.json @@ -4,12 +4,12 @@ "type": "magento2-module", "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/module-eav": "*", - "magento/framework": "*" + "magento/module-eav": "102.0.*", + "magento/framework": "102.0.*" }, "suggest": { - "magento/module-webapi": "*", - "magento/module-graph-ql-cache": "*" + "magento/module-webapi": "100.3.*", + "magento/module-graph-ql-cache": "100.3.*" }, "license": [ "OSL-3.0", @@ -22,5 +22,6 @@ "psr-4": { "Magento\\GraphQl\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/GraphQlCache/composer.json b/app/code/Magento/GraphQlCache/composer.json index 7b9f4b1d6dc65..f36b1e825c04f 100644 --- a/app/code/Magento/GraphQlCache/composer.json +++ b/app/code/Magento/GraphQlCache/composer.json @@ -4,9 +4,9 @@ "type": "magento2-module", "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-page-cache": "*", - "magento/module-graph-ql": "*" + "magento/framework": "102.0.*", + "magento/module-page-cache": "100.3.*", + "magento/module-graph-ql": "100.3.*" }, "license": [ "OSL-3.0", @@ -19,5 +19,6 @@ "psr-4": { "Magento\\GraphQlCache\\": "" } - } + }, + "version": "100.3.1" } diff --git a/app/code/Magento/GroupedCatalogInventory/composer.json b/app/code/Magento/GroupedCatalogInventory/composer.json index 09b584de0493a..eec8f7d152824 100644 --- a/app/code/Magento/GroupedCatalogInventory/composer.json +++ b/app/code/Magento/GroupedCatalogInventory/composer.json @@ -6,10 +6,10 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-catalog": "*", - "magento/module-catalog-inventory": "*", - "magento/module-grouped-product": "*" + "magento/framework": "102.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-inventory": "100.3.*", + "magento/module-grouped-product": "100.3.*" }, "type": "magento2-module", "license": [ @@ -23,5 +23,6 @@ "psr-4": { "Magento\\GroupedCatalogInventory\\": "" } - } + }, + "version": "100.3.2" } diff --git a/app/code/Magento/GroupedImportExport/composer.json b/app/code/Magento/GroupedImportExport/composer.json index 0b9a81f61bb93..9bebaa0d08611 100644 --- a/app/code/Magento/GroupedImportExport/composer.json +++ b/app/code/Magento/GroupedImportExport/composer.json @@ -6,12 +6,12 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-catalog": "*", - "magento/module-catalog-import-export": "*", - "magento/module-eav": "*", - "magento/module-grouped-product": "*", - "magento/module-import-export": "*" + "magento/framework": "102.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-import-export": "101.0.*", + "magento/module-eav": "102.0.*", + "magento/module-grouped-product": "100.3.*", + "magento/module-import-export": "100.3.*" }, "type": "magento2-module", "license": [ @@ -25,5 +25,6 @@ "psr-4": { "Magento\\GroupedImportExport\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/GroupedProduct/composer.json b/app/code/Magento/GroupedProduct/composer.json index 68063c05ddf7b..9e560ee3f20bc 100644 --- a/app/code/Magento/GroupedProduct/composer.json +++ b/app/code/Magento/GroupedProduct/composer.json @@ -6,22 +6,22 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-backend": "*", - "magento/module-catalog": "*", - "magento/module-catalog-inventory": "*", - "magento/module-checkout": "*", - "magento/module-customer": "*", - "magento/module-eav": "*", - "magento/module-media-storage": "*", - "magento/module-msrp": "*", - "magento/module-quote": "*", - "magento/module-sales": "*", - "magento/module-store": "*", - "magento/module-ui": "*" + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-inventory": "100.3.*", + "magento/module-checkout": "100.3.*", + "magento/module-customer": "102.0.*", + "magento/module-eav": "102.0.*", + "magento/module-media-storage": "100.3.*", + "magento/module-msrp": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-sales": "102.0.*", + "magento/module-store": "101.0.*", + "magento/module-ui": "101.1.*" }, "suggest": { - "magento/module-grouped-product-sample-data": "*" + "magento/module-grouped-product-sample-data": "Sample Data version: 100.3.*" }, "type": "magento2-module", "license": [ @@ -35,5 +35,6 @@ "psr-4": { "Magento\\GroupedProduct\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/GroupedProductGraphQl/composer.json b/app/code/Magento/GroupedProductGraphQl/composer.json index cd22c6066eb4a..0351bf8334ed0 100644 --- a/app/code/Magento/GroupedProductGraphQl/composer.json +++ b/app/code/Magento/GroupedProductGraphQl/composer.json @@ -4,9 +4,9 @@ "type": "magento2-module", "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/module-grouped-product": "*", - "magento/module-catalog-graph-ql": "*", - "magento/framework": "*" + "magento/module-grouped-product": "100.3.*", + "magento/module-catalog-graph-ql": "100.3.*", + "magento/framework": "102.0.*" }, "license": [ "OSL-3.0", @@ -19,5 +19,6 @@ "psr-4": { "Magento\\GroupedProductGraphQl\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/ImportExport/Api/Data/ExportInfoInterface.php b/app/code/Magento/ImportExport/Api/Data/ExportInfoInterface.php index 01c41e35fc4eb..f670d97626725 100644 --- a/app/code/Magento/ImportExport/Api/Data/ExportInfoInterface.php +++ b/app/code/Magento/ImportExport/Api/Data/ExportInfoInterface.php @@ -10,6 +10,7 @@ /** * Basic interface with data needed for export operation. * @api + * @since 100.3.2 */ interface ExportInfoInterface { @@ -17,6 +18,7 @@ interface ExportInfoInterface * Return filename. * * @return string + * @since 100.3.2 */ public function getFileName(); @@ -25,6 +27,7 @@ public function getFileName(); * * @param string $fileName * @return void + * @since 100.3.2 */ public function setFileName($fileName); @@ -32,6 +35,7 @@ public function setFileName($fileName); * Override standard entity getter. * * @return string + * @since 100.3.2 */ public function getFileFormat(); @@ -40,6 +44,7 @@ public function getFileFormat(); * * @param string $fileFormat * @return void + * @since 100.3.2 */ public function setFileFormat($fileFormat); @@ -47,6 +52,7 @@ public function setFileFormat($fileFormat); * Return content type. * * @return string + * @since 100.3.2 */ public function getContentType(); @@ -55,6 +61,7 @@ public function getContentType(); * * @param string $contentType * @return void + * @since 100.3.2 */ public function setContentType($contentType); @@ -62,6 +69,7 @@ public function setContentType($contentType); * Returns entity. * * @return string + * @since 100.3.2 */ public function getEntity(); @@ -70,6 +78,7 @@ public function getEntity(); * * @param string $entity * @return void + * @since 100.3.2 */ public function setEntity($entity); @@ -77,6 +86,7 @@ public function setEntity($entity); * Returns export filter. * * @return string + * @since 100.3.2 */ public function getExportFilter(); @@ -85,6 +95,7 @@ public function getExportFilter(); * * @param string $exportFilter * @return void + * @since 100.3.2 */ public function setExportFilter($exportFilter); } diff --git a/app/code/Magento/ImportExport/Api/ExportManagementInterface.php b/app/code/Magento/ImportExport/Api/ExportManagementInterface.php index 39bb89b43c838..0383b2a43b45e 100644 --- a/app/code/Magento/ImportExport/Api/ExportManagementInterface.php +++ b/app/code/Magento/ImportExport/Api/ExportManagementInterface.php @@ -12,6 +12,7 @@ /** * Describes how to do export operation with data interface. * @api + * @since 100.3.2 */ interface ExportManagementInterface { @@ -20,6 +21,7 @@ interface ExportManagementInterface * * @param ExportInfoInterface $exportInfo * @return string + * @since 100.3.2 */ public function export(ExportInfoInterface $exportInfo); } diff --git a/app/code/Magento/ImportExport/Controller/Adminhtml/Export/File/Download.php b/app/code/Magento/ImportExport/Controller/Adminhtml/Export/File/Download.php index 0e6bca26d2062..9e08330e1a80a 100644 --- a/app/code/Magento/ImportExport/Controller/Adminhtml/Export/File/Download.php +++ b/app/code/Magento/ImportExport/Controller/Adminhtml/Export/File/Download.php @@ -59,8 +59,9 @@ public function __construct( */ public function execute() { - if (empty($fileName = $this->getRequest()->getParam('filename'))) { - throw new LocalizedException(__('Please provide export file name')); + $fileName = $this->getRequest()->getParam('filename'); + if (empty($fileName) || preg_match('/\.\.(\\\|\/)/', $fileName) !== 0) { + throw new LocalizedException(__('Please provide valid export file name')); } try { $path = 'export/' . $fileName; diff --git a/app/code/Magento/ImportExport/Helper/Report.php b/app/code/Magento/ImportExport/Helper/Report.php index 012aeefd8bf94..952a1855b2493 100644 --- a/app/code/Magento/ImportExport/Helper/Report.php +++ b/app/code/Magento/ImportExport/Helper/Report.php @@ -138,6 +138,7 @@ protected function getFilePath($filename) * Get csv delimiter from request. * * @return string + * @since 100.2.2 */ public function getDelimiter() { diff --git a/app/code/Magento/ImportExport/Model/Export.php b/app/code/Magento/ImportExport/Model/Export.php index 850ded7c8f256..3d7a190919525 100644 --- a/app/code/Magento/ImportExport/Model/Export.php +++ b/app/code/Magento/ImportExport/Model/Export.php @@ -13,7 +13,7 @@ * * @SuppressWarnings(PHPMD.CouplingBetweenObjects) * @since 100.0.2 - * @deprecated + * @deprecated 100.3.2 */ class Export extends \Magento\ImportExport\Model\AbstractModel { diff --git a/app/code/Magento/ImportExport/Model/History.php b/app/code/Magento/ImportExport/Model/History.php index b85bf7da81a35..9a97367ba8453 100644 --- a/app/code/Magento/ImportExport/Model/History.php +++ b/app/code/Magento/ImportExport/Model/History.php @@ -44,6 +44,7 @@ class History extends \Magento\Framework\Model\AbstractModel /** * @var \Magento\Backend\Model\Auth\Session + * @since 100.3.1 */ protected $session; diff --git a/app/code/Magento/ImportExport/Model/Import.php b/app/code/Magento/ImportExport/Model/Import.php index d29bf29dd50af..217477321354e 100644 --- a/app/code/Magento/ImportExport/Model/Import.php +++ b/app/code/Magento/ImportExport/Model/Import.php @@ -614,6 +614,7 @@ public function uploadSource() * * @return Import\AbstractSource * @throws LocalizedException + * @since 100.2.7 */ public function uploadFileAndGetSource() { diff --git a/app/code/Magento/ImportExport/Test/Unit/Controller/Adminhtml/Export/File/DownloadTest.php b/app/code/Magento/ImportExport/Test/Unit/Controller/Adminhtml/Export/File/DownloadTest.php new file mode 100644 index 0000000000000..59f34d23d853b --- /dev/null +++ b/app/code/Magento/ImportExport/Test/Unit/Controller/Adminhtml/Export/File/DownloadTest.php @@ -0,0 +1,162 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ +declare(strict_types=1); + +namespace Magento\ImportExport\Test\Unit\Controller\Adminhtml\Export\File; + +use Magento\Framework\Filesystem; +use Magento\Backend\App\Action\Context; +use Magento\Framework\App\Request\Http; +use Magento\Framework\App\ResponseInterface; +use PHPUnit\Framework\MockObject\MockObject; +use Magento\Framework\Filesystem\Directory\Read; +use Magento\Framework\App\Filesystem\DirectoryList; +use Magento\Framework\App\Response\Http\FileFactory; +use Magento\ImportExport\Controller\Adminhtml\Export\File\Download; +use Magento\Framework\TestFramework\Unit\Helper\ObjectManager as ObjectManagerHelper; + +/** + * Unit tests for \Magento\ImportExport\Controller\Adminhtml\Export\File\Download. + */ +class DownloadTest extends \PHPUnit\Framework\TestCase +{ + /** + * @var Download + */ + private $controller; + + /** + * @var ObjectManagerHelper + */ + private $objectManager; + + /** + * @var Context|MockObject + */ + private $contextMock; + + /** + * @var FileFactory|MockObject + */ + private $fileFactoryMock; + + /** + * @var Filesystem|MockObject + */ + private $fileSystemMock; + + /** + * @var Http|MockObject + */ + private $requestMock; + + /** + * @var Read|MockObject + */ + private $readMock; + + /** + * @inheritdoc + */ + protected function setUp() + { + $this->objectManager = new ObjectManagerHelper($this); + + $this->contextMock = $this->createPartialMock( + Context::class, + ['getRequest', 'getObjectManager', 'getResultRedirectFactory'] + ); + $this->fileFactoryMock = $this->createPartialMock(FileFactory::class, ['create']); + $this->fileSystemMock = $this->createPartialMock(Filesystem::class, ['getDirectoryRead']); + $this->requestMock = $this->createPartialMock(Http::class, ['getParam']); + $this->readMock = $this->createPartialMock(Read::class, ['isFile', 'readFile']); + + $this->contextMock->expects($this->once())->method('getRequest')->willReturn($this->requestMock); + + $this->controller = $this->objectManager->getObject( + Download::class, + [ + 'context' => $this->contextMock, + 'fileFactory' => $this->fileFactoryMock, + 'filesystem' => $this->fileSystemMock, + ] + ); + } + + /** + * Check download controller behavior. + * + * @return void + */ + public function testExecute(): void + { + $fileName = 'customer.csv'; + $path = 'export/' . $fileName; + $fileContent = 'content'; + + $this->processDownloadAction($fileName, $path); + $this->readMock->expects($this->once())->method('readFile')->with($path)->willReturn($fileContent); + $response = $this->createMock(ResponseInterface::class); + $this->fileFactoryMock->expects($this->once()) + ->method('create') + ->with($path, $fileContent, DirectoryList::VAR_DIR) + ->willReturn($response); + + $this->controller->execute(); + } + + /** + * Check behavior with incorrect filename. + * + * @expectedException \Magento\Framework\Exception\LocalizedException + * @expectedExceptionMessage Please provide valid export file name + * @return void + */ + public function testExecuteWithEmptyFileName(): void + { + $this->requestMock->expects($this->once())->method('getParam')->with('filename')->willReturn(''); + + $this->controller->execute(); + } + + /** + * Check behavior when method throw exception. + * + * @expectedException \Magento\Framework\Exception\LocalizedException + * @expectedExceptionMessage There are no export file with such name customer.csv + * @return void + */ + public function testExecuteWithNonExistanceFile(): void + { + $fileName = 'customer.csv'; + $path = 'export/' . $fileName; + + $this->processDownloadAction($fileName, $path); + $this->readMock->expects($this->once()) + ->method('readFile') + ->with($path) + ->willThrowException(new \Exception('Message')); + + $this->controller->execute(); + } + + /** + * Check that parameter valid and file exist. + * + * @param string $fileName + * @param string $path + * @return void + */ + private function processDownloadAction(string $fileName, string $path): void + { + $this->requestMock->expects($this->once())->method('getParam')->with('filename')->willReturn($fileName); + $this->fileSystemMock->expects($this->once()) + ->method('getDirectoryRead') + ->with(DirectoryList::VAR_DIR) + ->willReturn($this->readMock); + $this->readMock->expects($this->once())->method('isFile')->with($path)->willReturn(true); + } +} diff --git a/app/code/Magento/ImportExport/composer.json b/app/code/Magento/ImportExport/composer.json index 13bbac9f961dd..a9a4513fc218c 100644 --- a/app/code/Magento/ImportExport/composer.json +++ b/app/code/Magento/ImportExport/composer.json @@ -7,13 +7,13 @@ "require": { "php": "~7.1.3||~7.2.0||~7.3.0", "ext-ctype": "*", - "magento/framework": "*", - "magento/module-backend": "*", - "magento/module-catalog": "*", - "magento/module-eav": "*", - "magento/module-media-storage": "*", - "magento/module-store": "*", - "magento/module-ui": "*" + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-eav": "102.0.*", + "magento/module-media-storage": "100.3.*", + "magento/module-store": "101.0.*", + "magento/module-ui": "101.1.*" }, "type": "magento2-module", "license": [ @@ -27,5 +27,6 @@ "psr-4": { "Magento\\ImportExport\\": "" } - } + }, + "version": "100.3.3-p1" } diff --git a/app/code/Magento/Indexer/composer.json b/app/code/Magento/Indexer/composer.json index c5ee541d3e133..10d7175b01050 100644 --- a/app/code/Magento/Indexer/composer.json +++ b/app/code/Magento/Indexer/composer.json @@ -6,8 +6,8 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-backend": "*" + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*" }, "type": "magento2-module", "license": [ @@ -21,5 +21,6 @@ "psr-4": { "Magento\\Indexer\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/InstantPurchase/Block/Button.php b/app/code/Magento/InstantPurchase/Block/Button.php index e6ea50073ed48..d4f19918afaf3 100644 --- a/app/code/Magento/InstantPurchase/Block/Button.php +++ b/app/code/Magento/InstantPurchase/Block/Button.php @@ -13,6 +13,7 @@ * Configuration for JavaScript instant purchase button component. * * @api + * @since 100.2.0 */ class Button extends Template { @@ -40,6 +41,7 @@ public function __construct( * Checks if button enabled. * * @return bool + * @since 100.2.0 */ public function isEnabled(): bool { @@ -48,6 +50,7 @@ public function isEnabled(): bool /** * @inheritdoc + * @since 100.2.0 */ public function getJsLayout(): string { diff --git a/app/code/Magento/InstantPurchase/Model/BillingAddressChoose/BillingAddressChooserInterface.php b/app/code/Magento/InstantPurchase/Model/BillingAddressChoose/BillingAddressChooserInterface.php index cfed97cfefd36..91eb91e2cd33c 100644 --- a/app/code/Magento/InstantPurchase/Model/BillingAddressChoose/BillingAddressChooserInterface.php +++ b/app/code/Magento/InstantPurchase/Model/BillingAddressChoose/BillingAddressChooserInterface.php @@ -12,12 +12,14 @@ * Interface to choose billing address for a customer if available. * * @api + * @since 100.2.0 */ interface BillingAddressChooserInterface { /** * @param Customer $customer * @return Address|null + * @since 100.2.0 */ public function choose(Customer $customer); } diff --git a/app/code/Magento/InstantPurchase/Model/InstantPurchaseInterface.php b/app/code/Magento/InstantPurchase/Model/InstantPurchaseInterface.php index b205ccab5067d..24a9569128064 100644 --- a/app/code/Magento/InstantPurchase/Model/InstantPurchaseInterface.php +++ b/app/code/Magento/InstantPurchase/Model/InstantPurchaseInterface.php @@ -12,6 +12,7 @@ * Interface for detecting customer option to make instant purchase in a store. * * @api + * @since 100.2.0 */ interface InstantPurchaseInterface { @@ -21,6 +22,7 @@ interface InstantPurchaseInterface * @param Store $store * @param Customer $customer * @return InstantPurchaseOption + * @since 100.2.0 */ public function getOption( Store $store, diff --git a/app/code/Magento/InstantPurchase/Model/InstantPurchaseOption.php b/app/code/Magento/InstantPurchase/Model/InstantPurchaseOption.php index 0748c5818c857..11ab119d6e5a5 100644 --- a/app/code/Magento/InstantPurchase/Model/InstantPurchaseOption.php +++ b/app/code/Magento/InstantPurchase/Model/InstantPurchaseOption.php @@ -16,6 +16,7 @@ * Option to make instant purchase. * * @api + * @since 100.2.0 */ class InstantPurchaseOption { @@ -82,6 +83,7 @@ public function __construct( * Checks if option available * * @return bool + * @since 100.2.0 */ public function isAvailable(): bool { @@ -98,6 +100,7 @@ public function isAvailable(): bool * * @return PaymentTokenInterface * @throws LocalizedException if payment token is not defined + * @since 100.2.0 */ public function getPaymentToken(): PaymentTokenInterface { @@ -114,6 +117,7 @@ public function getPaymentToken(): PaymentTokenInterface * * @return Address * @throws LocalizedException if shipping address is not defined + * @since 100.2.0 */ public function getShippingAddress(): Address { @@ -128,6 +132,7 @@ public function getShippingAddress(): Address * * @return Address * @throws LocalizedException if billing address is not defined + * @since 100.2.0 */ public function getBillingAddress(): Address { @@ -142,6 +147,7 @@ public function getBillingAddress(): Address * * @return ShippingMethodInterface * @throws LocalizedException if shipping method is not defined + * @since 100.2.0 */ public function getShippingMethod(): ShippingMethodInterface { diff --git a/app/code/Magento/InstantPurchase/Model/InstantPurchaseOptionFactory.php b/app/code/Magento/InstantPurchase/Model/InstantPurchaseOptionFactory.php index bd5811578ab1c..6e9490c9edb69 100644 --- a/app/code/Magento/InstantPurchase/Model/InstantPurchaseOptionFactory.php +++ b/app/code/Magento/InstantPurchase/Model/InstantPurchaseOptionFactory.php @@ -14,6 +14,7 @@ * Create instances of instant purchase option. * * @api + * @since 100.2.0 */ class InstantPurchaseOptionFactory { @@ -39,6 +40,7 @@ public function __construct(ObjectManagerInterface $objectManager) * @param Address|null $billingAddress * @param ShippingMethodInterface|null $shippingMethod * @return InstantPurchaseOption + * @since 100.2.0 */ public function create( PaymentTokenInterface $paymentToken = null, @@ -58,6 +60,7 @@ public function create( * Creates new empty instance (no option available). * * @return InstantPurchaseOption + * @since 100.2.0 */ public function createDisabledOption(): InstantPurchaseOption { diff --git a/app/code/Magento/InstantPurchase/Model/PaymentMethodChoose/PaymentTokenChooserInterface.php b/app/code/Magento/InstantPurchase/Model/PaymentMethodChoose/PaymentTokenChooserInterface.php index 2a4f1adeb4155..b96173081164c 100644 --- a/app/code/Magento/InstantPurchase/Model/PaymentMethodChoose/PaymentTokenChooserInterface.php +++ b/app/code/Magento/InstantPurchase/Model/PaymentMethodChoose/PaymentTokenChooserInterface.php @@ -13,6 +13,7 @@ * Interface to choose one of the stored payment methods for a customer if available. * * @api + * @since 100.2.0 */ interface PaymentTokenChooserInterface { @@ -20,6 +21,7 @@ interface PaymentTokenChooserInterface * @param Store $store * @param Customer $customer * @return PaymentTokenInterface|null + * @since 100.2.0 */ public function choose(Store $store, Customer $customer); } diff --git a/app/code/Magento/InstantPurchase/Model/PlaceOrder.php b/app/code/Magento/InstantPurchase/Model/PlaceOrder.php index 2ad56a8859cf3..bd30d19d6456b 100644 --- a/app/code/Magento/InstantPurchase/Model/PlaceOrder.php +++ b/app/code/Magento/InstantPurchase/Model/PlaceOrder.php @@ -21,6 +21,7 @@ * Place an order using instant purchase option. * * @api + * @since 100.2.0 */ class PlaceOrder { @@ -90,6 +91,7 @@ public function __construct( * @return int order identifier * @throws LocalizedException if order can not be placed. * @throws Throwable if unpredictable error occurred. + * @since 100.2.0 */ public function placeOrder( Store $store, diff --git a/app/code/Magento/InstantPurchase/Model/QuoteManagement/PaymentConfiguration.php b/app/code/Magento/InstantPurchase/Model/QuoteManagement/PaymentConfiguration.php index 9c8c44231e843..d1dfb11851500 100644 --- a/app/code/Magento/InstantPurchase/Model/QuoteManagement/PaymentConfiguration.php +++ b/app/code/Magento/InstantPurchase/Model/QuoteManagement/PaymentConfiguration.php @@ -15,6 +15,7 @@ * Configure payment method for quote. * * @api May be used for pluginization. + * @since 100.2.0 */ class PaymentConfiguration { @@ -42,6 +43,7 @@ public function __construct( * @param PaymentTokenInterface $paymentToken * @return Quote * @throws LocalizedException if payment method can not be configured for a quote. + * @since 100.2.0 */ public function configurePayment( Quote $quote, diff --git a/app/code/Magento/InstantPurchase/Model/QuoteManagement/Purchase.php b/app/code/Magento/InstantPurchase/Model/QuoteManagement/Purchase.php index b8220b4ca87eb..d05a4f2a1621a 100644 --- a/app/code/Magento/InstantPurchase/Model/QuoteManagement/Purchase.php +++ b/app/code/Magento/InstantPurchase/Model/QuoteManagement/Purchase.php @@ -14,6 +14,7 @@ * Purchase products from quote. * * @api May be used for pluginization. + * @since 100.2.0 */ class Purchase { @@ -46,6 +47,7 @@ public function __construct( * @param Quote $quote * @return int Order id * @throws LocalizedException if order can not be placed for a quote. + * @since 100.2.0 */ public function purchase(Quote $quote): int { diff --git a/app/code/Magento/InstantPurchase/Model/QuoteManagement/QuoteCreation.php b/app/code/Magento/InstantPurchase/Model/QuoteManagement/QuoteCreation.php index 993a64a3f0d7d..4db9c86f7184e 100644 --- a/app/code/Magento/InstantPurchase/Model/QuoteManagement/QuoteCreation.php +++ b/app/code/Magento/InstantPurchase/Model/QuoteManagement/QuoteCreation.php @@ -16,6 +16,7 @@ * Create Quote for instance purchase. * * @api May be used for pluginization. + * @since 100.2.0 */ class QuoteCreation { @@ -43,6 +44,7 @@ public function __construct( * @param Address $billingAddress * @return Quote * @throws LocalizedException if quote can not be created. + * @since 100.2.0 */ public function createQuote( Store $store, diff --git a/app/code/Magento/InstantPurchase/Model/QuoteManagement/QuoteFilling.php b/app/code/Magento/InstantPurchase/Model/QuoteManagement/QuoteFilling.php index 4afa964050fcd..727917f9e3406 100644 --- a/app/code/Magento/InstantPurchase/Model/QuoteManagement/QuoteFilling.php +++ b/app/code/Magento/InstantPurchase/Model/QuoteManagement/QuoteFilling.php @@ -14,6 +14,7 @@ * Fill quote with products for instant purchase. * * @api May be used for pluginization. + * @since 100.2.0 */ class QuoteFilling { @@ -25,6 +26,7 @@ class QuoteFilling * @param array $productRequest * @return Quote * @throws LocalizedException if product can not be added to quote. + * @since 100.2.0 */ public function fillQuote( Quote $quote, diff --git a/app/code/Magento/InstantPurchase/Model/QuoteManagement/ShippingConfiguration.php b/app/code/Magento/InstantPurchase/Model/QuoteManagement/ShippingConfiguration.php index 796fb924b31c9..772d6c6a033fa 100644 --- a/app/code/Magento/InstantPurchase/Model/QuoteManagement/ShippingConfiguration.php +++ b/app/code/Magento/InstantPurchase/Model/QuoteManagement/ShippingConfiguration.php @@ -16,6 +16,7 @@ * Configure shipping method for instant purchase * * @api May be used for pluginization. + * @since 100.2.0 */ class ShippingConfiguration { @@ -41,6 +42,7 @@ public function __construct( * @param ShippingMethodInterface $shippingMethod * @return Quote * @throws LocalizedException if shipping can not be configured for a quote. + * @since 100.2.0 */ public function configureShippingMethod( Quote $quote, diff --git a/app/code/Magento/InstantPurchase/Model/ShippingAddressChoose/ShippingAddressChooserInterface.php b/app/code/Magento/InstantPurchase/Model/ShippingAddressChoose/ShippingAddressChooserInterface.php index a65c8036a1e82..06f4358ecfa92 100644 --- a/app/code/Magento/InstantPurchase/Model/ShippingAddressChoose/ShippingAddressChooserInterface.php +++ b/app/code/Magento/InstantPurchase/Model/ShippingAddressChoose/ShippingAddressChooserInterface.php @@ -12,12 +12,14 @@ * Interface to choose shipping address for a customer if available. * * @api + * @since 100.2.0 */ interface ShippingAddressChooserInterface { /** * @param Customer $customer * @return Address|null + * @since 100.2.0 */ public function choose(Customer $customer); } diff --git a/app/code/Magento/InstantPurchase/Model/ShippingMethodChoose/DeferredShippingMethodChooserInterface.php b/app/code/Magento/InstantPurchase/Model/ShippingMethodChoose/DeferredShippingMethodChooserInterface.php index 3339ca34ee29b..0476f2c690d4d 100644 --- a/app/code/Magento/InstantPurchase/Model/ShippingMethodChoose/DeferredShippingMethodChooserInterface.php +++ b/app/code/Magento/InstantPurchase/Model/ShippingMethodChoose/DeferredShippingMethodChooserInterface.php @@ -11,6 +11,7 @@ * Provides mechanism to defer shipping method choose to the moment when quote is defined. * * @api + * @since 100.2.0 */ interface DeferredShippingMethodChooserInterface { @@ -24,6 +25,7 @@ interface DeferredShippingMethodChooserInterface * * @param Address $address * @return string|null Quote shipping method code if available + * @since 100.2.0 */ public function choose(Address $address); } diff --git a/app/code/Magento/InstantPurchase/Model/ShippingMethodChoose/DeferredShippingMethodChooserPool.php b/app/code/Magento/InstantPurchase/Model/ShippingMethodChoose/DeferredShippingMethodChooserPool.php index ca0e9351967ad..6e2e8e562167c 100644 --- a/app/code/Magento/InstantPurchase/Model/ShippingMethodChoose/DeferredShippingMethodChooserPool.php +++ b/app/code/Magento/InstantPurchase/Model/ShippingMethodChoose/DeferredShippingMethodChooserPool.php @@ -10,6 +10,7 @@ * Use deferred shipping method code as a key for a deferred chooser. * * @api + * @since 100.2.0 */ class DeferredShippingMethodChooserPool { @@ -34,6 +35,7 @@ public function __construct(array $choosers) /** * @param string $type * @return DeferredShippingMethodChooserInterface + * @since 100.2.0 */ public function get($type) : DeferredShippingMethodChooserInterface { diff --git a/app/code/Magento/InstantPurchase/Model/ShippingMethodChoose/ShippingMethodChooserInterface.php b/app/code/Magento/InstantPurchase/Model/ShippingMethodChoose/ShippingMethodChooserInterface.php index c227ad793f255..dd3f9d0a6cd52 100644 --- a/app/code/Magento/InstantPurchase/Model/ShippingMethodChoose/ShippingMethodChooserInterface.php +++ b/app/code/Magento/InstantPurchase/Model/ShippingMethodChoose/ShippingMethodChooserInterface.php @@ -20,12 +20,14 @@ * DeferredShippingMethodChooserPool. * * @api + * @since 100.2.0 */ interface ShippingMethodChooserInterface { /** * @param Address $address * @return ShippingMethodInterface|null + * @since 100.2.0 */ public function choose(Address $address); } diff --git a/app/code/Magento/InstantPurchase/Model/Ui/CustomerAddressesFormatter.php b/app/code/Magento/InstantPurchase/Model/Ui/CustomerAddressesFormatter.php index 31c98143385a6..3b886fb03929e 100644 --- a/app/code/Magento/InstantPurchase/Model/Ui/CustomerAddressesFormatter.php +++ b/app/code/Magento/InstantPurchase/Model/Ui/CustomerAddressesFormatter.php @@ -11,6 +11,7 @@ * Address string presentation. * * @api May be used for pluginization. + * @since 100.2.0 */ class CustomerAddressesFormatter { @@ -19,6 +20,7 @@ class CustomerAddressesFormatter * * @param Address $address * @return string + * @since 100.2.0 */ public function format(Address $address): string { diff --git a/app/code/Magento/InstantPurchase/Model/Ui/PaymentTokenFormatter.php b/app/code/Magento/InstantPurchase/Model/Ui/PaymentTokenFormatter.php index 4c2a78e3a6024..16992ff6bf3f1 100644 --- a/app/code/Magento/InstantPurchase/Model/Ui/PaymentTokenFormatter.php +++ b/app/code/Magento/InstantPurchase/Model/Ui/PaymentTokenFormatter.php @@ -12,6 +12,7 @@ * Payment token string presentation. * * @api May be used for pluginization. + * @since 100.2.0 */ class PaymentTokenFormatter { @@ -34,6 +35,7 @@ public function __construct(IntegrationsManager $integrationsManager) * * @param PaymentTokenInterface $paymentToken * @return string + * @since 100.2.0 */ public function format(PaymentTokenInterface $paymentToken): string { diff --git a/app/code/Magento/InstantPurchase/Model/Ui/ShippingMethodFormatter.php b/app/code/Magento/InstantPurchase/Model/Ui/ShippingMethodFormatter.php index ec56b3e3dae02..eaefbe4c5f104 100644 --- a/app/code/Magento/InstantPurchase/Model/Ui/ShippingMethodFormatter.php +++ b/app/code/Magento/InstantPurchase/Model/Ui/ShippingMethodFormatter.php @@ -11,12 +11,14 @@ * Ship[ping method string presentation. * * @api May be used for pluginization. + * @since 100.2.0 */ class ShippingMethodFormatter { /** * @param ShippingMethodInterface $shippingMethod * @return string + * @since 100.2.0 */ public function format(ShippingMethodInterface $shippingMethod) : string { diff --git a/app/code/Magento/InstantPurchase/PaymentMethodIntegration/AvailabilityCheckerInterface.php b/app/code/Magento/InstantPurchase/PaymentMethodIntegration/AvailabilityCheckerInterface.php index 825c6830b3aa6..7fe336b7a6a66 100644 --- a/app/code/Magento/InstantPurchase/PaymentMethodIntegration/AvailabilityCheckerInterface.php +++ b/app/code/Magento/InstantPurchase/PaymentMethodIntegration/AvailabilityCheckerInterface.php @@ -12,6 +12,7 @@ * instant_purchase/available configuration option in vault payment config. * * @api + * @since 100.2.0 */ interface AvailabilityCheckerInterface { @@ -19,6 +20,7 @@ interface AvailabilityCheckerInterface * Checks if payment method may be used for instant purchase. * * @return bool + * @since 100.2.0 */ public function isAvailable(): bool; } diff --git a/app/code/Magento/InstantPurchase/PaymentMethodIntegration/PaymentAdditionalInformationProviderInterface.php b/app/code/Magento/InstantPurchase/PaymentMethodIntegration/PaymentAdditionalInformationProviderInterface.php index 6f1e291a9a83b..9119b54329486 100644 --- a/app/code/Magento/InstantPurchase/PaymentMethodIntegration/PaymentAdditionalInformationProviderInterface.php +++ b/app/code/Magento/InstantPurchase/PaymentMethodIntegration/PaymentAdditionalInformationProviderInterface.php @@ -14,6 +14,7 @@ * instant_purchase/additionalInformation configuration option in vault payment config. * * @api + * @since 100.2.0 */ interface PaymentAdditionalInformationProviderInterface { @@ -22,6 +23,7 @@ interface PaymentAdditionalInformationProviderInterface * * @param PaymentTokenInterface $paymentToken * @return array + * @since 100.2.0 */ public function getAdditionalInformation(PaymentTokenInterface $paymentToken): array; } diff --git a/app/code/Magento/InstantPurchase/PaymentMethodIntegration/PaymentTokenFormatterInterface.php b/app/code/Magento/InstantPurchase/PaymentMethodIntegration/PaymentTokenFormatterInterface.php index 1ee583c45cf40..c6d31a86b622d 100644 --- a/app/code/Magento/InstantPurchase/PaymentMethodIntegration/PaymentTokenFormatterInterface.php +++ b/app/code/Magento/InstantPurchase/PaymentMethodIntegration/PaymentTokenFormatterInterface.php @@ -15,6 +15,7 @@ * instant_purchase/tokenFormat configuration option in vault payment config. * * @api + * @since 100.2.0 */ interface PaymentTokenFormatterInterface { @@ -23,6 +24,7 @@ interface PaymentTokenFormatterInterface * * @param PaymentTokenInterface $paymentToken * @return string + * @since 100.2.0 */ public function formatPaymentToken(PaymentTokenInterface $paymentToken): string; } diff --git a/app/code/Magento/InstantPurchase/PaymentMethodIntegration/StaticAdditionalInformationProvider.php b/app/code/Magento/InstantPurchase/PaymentMethodIntegration/StaticAdditionalInformationProvider.php index 56079823e9e91..0e788079794d6 100644 --- a/app/code/Magento/InstantPurchase/PaymentMethodIntegration/StaticAdditionalInformationProvider.php +++ b/app/code/Magento/InstantPurchase/PaymentMethodIntegration/StaticAdditionalInformationProvider.php @@ -11,6 +11,7 @@ * Payment additional information provider that returns predefined value. * * @api + * @since 100.2.0 */ class StaticAdditionalInformationProvider implements PaymentAdditionalInformationProviderInterface { @@ -30,6 +31,7 @@ public function __construct(array $value = []) /** * @inheritdoc + * @since 100.2.0 */ public function getAdditionalInformation(PaymentTokenInterface $paymentToken): array { diff --git a/app/code/Magento/InstantPurchase/PaymentMethodIntegration/StaticAvailabilityChecker.php b/app/code/Magento/InstantPurchase/PaymentMethodIntegration/StaticAvailabilityChecker.php index 02e24b78f741c..78f421db6aaa8 100644 --- a/app/code/Magento/InstantPurchase/PaymentMethodIntegration/StaticAvailabilityChecker.php +++ b/app/code/Magento/InstantPurchase/PaymentMethodIntegration/StaticAvailabilityChecker.php @@ -9,6 +9,7 @@ * Availability checker with predefined result. * * @api + * @since 100.2.0 */ class StaticAvailabilityChecker implements AvailabilityCheckerInterface { @@ -28,6 +29,7 @@ public function __construct(bool $value = true) /** * @inheritdoc + * @since 100.2.0 */ public function isAvailable(): bool { diff --git a/app/code/Magento/InstantPurchase/composer.json b/app/code/Magento/InstantPurchase/composer.json index 542266d6af5d3..174de0f82b0d8 100644 --- a/app/code/Magento/InstantPurchase/composer.json +++ b/app/code/Magento/InstantPurchase/composer.json @@ -1,28 +1,29 @@ { - "name": "magento/module-instant-purchase", - "description": "N/A", - "type": "magento2-module", - "license": [ - "OSL-3.0", - "AFL-3.0" - ], - "require": { - "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/module-store": "*", - "magento/module-catalog": "*", - "magento/module-customer": "*", - "magento/module-sales": "*", - "magento/module-shipping": "*", - "magento/module-quote": "*", - "magento/module-vault": "*", - "magento/framework": "*" - }, - "autoload": { - "files": [ - "registration.php" + "name": "magento/module-instant-purchase", + "description": "N/A", + "type": "magento2-module", + "license": [ + "OSL-3.0", + "AFL-3.0" ], - "psr-4": { - "Magento\\InstantPurchase\\": "" - } - } + "require": { + "php": "~7.1.3||~7.2.0||~7.3.0", + "magento/module-store": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-customer": "102.0.*", + "magento/module-sales": "102.0.*", + "magento/module-shipping": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-vault": "101.1.*", + "magento/framework": "102.0.*" + }, + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InstantPurchase\\": "" + } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/Integration/composer.json b/app/code/Magento/Integration/composer.json index 5ecd792a5e7bf..625a97654f2bb 100644 --- a/app/code/Magento/Integration/composer.json +++ b/app/code/Magento/Integration/composer.json @@ -6,13 +6,13 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-authorization": "*", - "magento/module-backend": "*", - "magento/module-customer": "*", - "magento/module-security": "*", - "magento/module-store": "*", - "magento/module-user": "*" + "magento/framework": "102.0.*", + "magento/module-authorization": "100.3.*", + "magento/module-backend": "101.0.*", + "magento/module-customer": "102.0.*", + "magento/module-security": "100.3.*", + "magento/module-store": "101.0.*", + "magento/module-user": "101.1.*" }, "type": "magento2-module", "license": [ @@ -26,5 +26,6 @@ "psr-4": { "Magento\\Integration\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/LayeredNavigation/composer.json b/app/code/Magento/LayeredNavigation/composer.json index 67712fac2a239..8c496ec590a3d 100644 --- a/app/code/Magento/LayeredNavigation/composer.json +++ b/app/code/Magento/LayeredNavigation/composer.json @@ -6,9 +6,9 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-catalog": "*", - "magento/module-config": "*" + "magento/framework": "102.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-config": "101.1.*" }, "type": "magento2-module", "license": [ @@ -22,5 +22,6 @@ "psr-4": { "Magento\\LayeredNavigation\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/Marketplace/composer.json b/app/code/Magento/Marketplace/composer.json index 71b7a8156cf60..811abcd50fee7 100644 --- a/app/code/Magento/Marketplace/composer.json +++ b/app/code/Magento/Marketplace/composer.json @@ -6,8 +6,8 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-backend": "*" + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*" }, "type": "magento2-module", "license": [ @@ -21,5 +21,6 @@ "psr-4": { "Magento\\Marketplace\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/MediaStorage/composer.json b/app/code/Magento/MediaStorage/composer.json index 95c48f3fdc581..7c900b496fba2 100644 --- a/app/code/Magento/MediaStorage/composer.json +++ b/app/code/Magento/MediaStorage/composer.json @@ -6,12 +6,12 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-backend": "*", - "magento/module-config": "*", - "magento/module-store": "*", - "magento/module-catalog": "*", - "magento/module-theme": "*" + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-config": "101.1.*", + "magento/module-store": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-theme": "101.0.*" }, "type": "magento2-module", "license": [ @@ -25,5 +25,6 @@ "psr-4": { "Magento\\MediaStorage\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/MessageQueue/composer.json b/app/code/Magento/MessageQueue/composer.json index 92744126900a4..b04a3cc08eb60 100644 --- a/app/code/Magento/MessageQueue/composer.json +++ b/app/code/Magento/MessageQueue/composer.json @@ -5,7 +5,7 @@ "sort-packages": true }, "require": { - "magento/framework": "*", + "magento/framework": "102.0.*", "magento/magento-composer-installer": "*", "php": "~7.1.3||~7.2.0||~7.3.0" }, @@ -21,5 +21,6 @@ "psr-4": { "Magento\\MessageQueue\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/Msrp/composer.json b/app/code/Magento/Msrp/composer.json index 81bb423c00a6d..753b594188b13 100644 --- a/app/code/Magento/Msrp/composer.json +++ b/app/code/Magento/Msrp/composer.json @@ -6,16 +6,16 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-catalog": "*", - "magento/module-downloadable": "*", - "magento/module-eav": "*", - "magento/module-store": "*", - "magento/module-tax": "*" + "magento/framework": "102.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-downloadable": "100.3.*", + "magento/module-eav": "102.0.*", + "magento/module-store": "101.0.*", + "magento/module-tax": "100.3.*" }, "suggest": { - "magento/module-bundle": "*", - "magento/module-msrp-sample-data": "*" + "magento/module-bundle": "100.3.*", + "magento/module-msrp-sample-data": "Sample Data version: 100.3.*" }, "type": "magento2-module", "license": [ @@ -29,5 +29,6 @@ "psr-4": { "Magento\\Msrp\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/MsrpConfigurableProduct/composer.json b/app/code/Magento/MsrpConfigurableProduct/composer.json index e2ef230f3caff..81c10999205c7 100644 --- a/app/code/Magento/MsrpConfigurableProduct/composer.json +++ b/app/code/Magento/MsrpConfigurableProduct/composer.json @@ -6,10 +6,10 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-catalog": "*", - "magento/module-msrp": "*", - "magento/module-configurable-product": "*" + "magento/framework": "102.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-msrp": "100.3.*", + "magento/module-configurable-product": "100.3.*" }, "type": "magento2-module", "license": [ @@ -23,5 +23,6 @@ "psr-4": { "Magento\\MsrpConfigurableProduct\\": "" } - } + }, + "version": "100.3.2" } diff --git a/app/code/Magento/MsrpGroupedProduct/composer.json b/app/code/Magento/MsrpGroupedProduct/composer.json index 76e2db1693551..9044b4c935cb0 100644 --- a/app/code/Magento/MsrpGroupedProduct/composer.json +++ b/app/code/Magento/MsrpGroupedProduct/composer.json @@ -6,10 +6,10 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-catalog": "*", - "magento/module-msrp": "*", - "magento/module-grouped-product": "*" + "magento/framework": "102.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-msrp": "100.3.*", + "magento/module-grouped-product": "100.3.*" }, "type": "magento2-module", "license": [ @@ -23,5 +23,6 @@ "psr-4": { "Magento\\MsrpGroupedProduct\\": "" } - } + }, + "version": "100.3.2" } diff --git a/app/code/Magento/Multishipping/Block/Checkout/Overview.php b/app/code/Magento/Multishipping/Block/Checkout/Overview.php index 5963e62e948f9..5a51953d34e03 100644 --- a/app/code/Magento/Multishipping/Block/Checkout/Overview.php +++ b/app/code/Magento/Multishipping/Block/Checkout/Overview.php @@ -319,7 +319,7 @@ public function getQuote() } /** - * @deprecated + * @deprecated 100.2.3 * typo in method name, see getBillingAddressTotals() * @return mixed */ @@ -330,6 +330,7 @@ public function getBillinAddressTotals() /** * @return mixed + * @since 100.2.3 */ public function getBillingAddressTotals() { diff --git a/app/code/Magento/Multishipping/Block/Checkout/Results.php b/app/code/Magento/Multishipping/Block/Checkout/Results.php index 35c050d5ff8c1..40cbce1990d00 100644 --- a/app/code/Magento/Multishipping/Block/Checkout/Results.php +++ b/app/code/Magento/Multishipping/Block/Checkout/Results.php @@ -21,6 +21,7 @@ * Multi-shipping checkout results information * * @api + * @since 100.2.1 */ class Results extends Success { @@ -66,6 +67,7 @@ public function __construct( * Returns shipping addresses from quote. * * @return array + * @since 100.2.1 */ public function getQuoteShippingAddresses(): array { @@ -76,6 +78,7 @@ public function getQuoteShippingAddresses(): array * Returns all failed addresses from quote. * * @return array + * @since 100.2.1 */ public function getFailedAddresses(): array { @@ -91,6 +94,7 @@ public function getFailedAddresses(): array * * @param int $orderId * @return OrderAddress|null + * @since 100.2.1 */ public function getOrderShippingAddress(int $orderId) { @@ -101,6 +105,7 @@ public function getOrderShippingAddress(int $orderId) * Retrieve quote billing address. * * @return QuoteAddress + * @since 100.2.1 */ public function getQuoteBillingAddress(): QuoteAddress { @@ -112,6 +117,7 @@ public function getQuoteBillingAddress(): QuoteAddress * * @param OrderAddress $address * @return string + * @since 100.2.1 */ public function formatOrderShippingAddress(OrderAddress $address): string { @@ -123,6 +129,7 @@ public function formatOrderShippingAddress(OrderAddress $address): string * * @param QuoteAddress $address * @return string + * @since 100.2.1 */ public function formatQuoteShippingAddress(QuoteAddress $address): string { @@ -134,6 +141,7 @@ public function formatQuoteShippingAddress(QuoteAddress $address): string * * @param QuoteAddress $address * @return bool + * @since 100.2.1 */ public function isShippingAddress(QuoteAddress $address): bool { @@ -158,6 +166,7 @@ private function getAddressOneline(array $address): string * * @param QuoteAddress $address * @return string + * @since 100.2.1 */ public function getAddressError(QuoteAddress $address): string { @@ -171,6 +180,7 @@ public function getAddressError(QuoteAddress $address): string * * @throws LocalizedException * @return Success + * @since 100.2.1 */ protected function _prepareLayout(): Success { diff --git a/app/code/Magento/Multishipping/Model/Checkout/Type/Multishipping/PlaceOrderInterface.php b/app/code/Magento/Multishipping/Model/Checkout/Type/Multishipping/PlaceOrderInterface.php index 5d384a5373d5e..85726a8dab0b5 100644 --- a/app/code/Magento/Multishipping/Model/Checkout/Type/Multishipping/PlaceOrderInterface.php +++ b/app/code/Magento/Multishipping/Model/Checkout/Type/Multishipping/PlaceOrderInterface.php @@ -13,6 +13,7 @@ * Place orders during multishipping checkout flow. * * @api + * @since 100.2.1 */ interface PlaceOrderInterface { @@ -21,6 +22,7 @@ interface PlaceOrderInterface * * @param OrderInterface[] $orderList * @return array + * @since 100.2.1 */ public function place(array $orderList): array; } diff --git a/app/code/Magento/Multishipping/composer.json b/app/code/Magento/Multishipping/composer.json index 61f4aafe567db..71a3281f1c9dd 100644 --- a/app/code/Magento/Multishipping/composer.json +++ b/app/code/Magento/Multishipping/composer.json @@ -6,16 +6,16 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-checkout": "*", - "magento/module-customer": "*", - "magento/module-directory": "*", - "magento/module-payment": "*", - "magento/module-quote": "*", - "magento/module-sales": "*", - "magento/module-store": "*", - "magento/module-tax": "*", - "magento/module-theme": "*" + "magento/framework": "102.0.*", + "magento/module-checkout": "100.3.*", + "magento/module-customer": "102.0.*", + "magento/module-directory": "100.3.*", + "magento/module-payment": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-sales": "102.0.*", + "magento/module-store": "101.0.*", + "magento/module-tax": "100.3.*", + "magento/module-theme": "101.0.*" }, "type": "magento2-module", "license": [ @@ -29,5 +29,6 @@ "psr-4": { "Magento\\Multishipping\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/MysqlMq/composer.json b/app/code/Magento/MysqlMq/composer.json index 413195c6f6d7c..a276bfbb011b6 100644 --- a/app/code/Magento/MysqlMq/composer.json +++ b/app/code/Magento/MysqlMq/composer.json @@ -5,9 +5,9 @@ "sort-packages": true }, "require": { - "magento/framework": "*", + "magento/framework": "102.0.*", "magento/magento-composer-installer": "*", - "magento/module-store": "*", + "magento/module-store": "101.0.*", "php": "~7.1.3||~7.2.0||~7.3.0" }, "type": "magento2-module", @@ -22,5 +22,6 @@ "psr-4": { "Magento\\MysqlMq\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/NewRelicReporting/composer.json b/app/code/Magento/NewRelicReporting/composer.json index f5301ba2b6a39..96d7b5bd13998 100644 --- a/app/code/Magento/NewRelicReporting/composer.json +++ b/app/code/Magento/NewRelicReporting/composer.json @@ -6,14 +6,14 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", + "magento/framework": "102.0.*", "magento/magento-composer-installer": "*", - "magento/module-backend": "*", - "magento/module-catalog": "*", - "magento/module-config": "*", - "magento/module-configurable-product": "*", - "magento/module-customer": "*", - "magento/module-store": "*" + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-config": "101.1.*", + "magento/module-configurable-product": "100.3.*", + "magento/module-customer": "102.0.*", + "magento/module-store": "101.0.*" }, "type": "magento2-module", "license": [ @@ -27,5 +27,6 @@ "psr-4": { "Magento\\NewRelicReporting\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/Newsletter/Block/Adminhtml/Template/Preview.php b/app/code/Magento/Newsletter/Block/Adminhtml/Template/Preview.php index 58a904248e978..864d80ca07b4a 100644 --- a/app/code/Magento/Newsletter/Block/Adminhtml/Template/Preview.php +++ b/app/code/Magento/Newsletter/Block/Adminhtml/Template/Preview.php @@ -65,6 +65,8 @@ protected function _toHtml() $template->setTemplateType($previewData['type']); $template->setTemplateText($previewData['text']); $template->setTemplateStyles($previewData['styles']); + // Emulate DB-loaded template to invoke strict mode + $template->setTemplateId(123); } \Magento\Framework\Profiler::start($this->profilerName); diff --git a/app/code/Magento/Newsletter/Model/Queue/TransportBuilder.php b/app/code/Magento/Newsletter/Model/Queue/TransportBuilder.php index aa3a2bcfe0f59..0f20a8379d04b 100644 --- a/app/code/Magento/Newsletter/Model/Queue/TransportBuilder.php +++ b/app/code/Magento/Newsletter/Model/Queue/TransportBuilder.php @@ -185,7 +185,7 @@ public function setReplyTo($email, $name = null) * @throws MailException * @see setFromByScope() * - * @deprecated This function sets the from address but does not provide + * @deprecated 100.3.3 This function sets the from address but does not provide * a way of setting the correct from addresses based on the scope. */ public function setFrom($from) diff --git a/app/code/Magento/Newsletter/Model/Subscriber.php b/app/code/Magento/Newsletter/Model/Subscriber.php index 117783495406a..d3cdaa2aea7c9 100644 --- a/app/code/Magento/Newsletter/Model/Subscriber.php +++ b/app/code/Magento/Newsletter/Model/Subscriber.php @@ -733,7 +733,13 @@ public function sendConfirmationRequestEmail() 'store' => $this->_storeManager->getStore()->getId(), ] )->setTemplateVars( - ['subscriber' => $this, 'store' => $this->_storeManager->getStore()] + [ + 'subscriber' => $this, + 'store' => $this->_storeManager->getStore(), + 'subscriber_data' => [ + 'confirmation_link' => $this->getConfirmationLink(), + ], + ] )->setFrom( $this->_scopeConfig->getValue( self::XML_PATH_CONFIRM_EMAIL_IDENTITY, @@ -874,6 +880,7 @@ public function getSubscriberFullName() * Set date of last changed status * * @return $this + * @since 100.2.1 */ public function beforeSave() { diff --git a/app/code/Magento/Newsletter/Model/Template.php b/app/code/Magento/Newsletter/Model/Template.php index 4c71014826cf5..58afd45b26f44 100644 --- a/app/code/Magento/Newsletter/Model/Template.php +++ b/app/code/Magento/Newsletter/Model/Template.php @@ -40,7 +40,7 @@ class Template extends \Magento\Email\Model\AbstractTemplate /** * Mail object * - * @deprecated Unused property + * @deprecated 100.3.0 Unused property * */ protected $_mail; @@ -200,9 +200,16 @@ public function getProcessedTemplateSubject(array $variables) { $variables['this'] = $this; - return $this->getTemplateFilter() - ->setVariables($variables) - ->filter($this->getTemplateSubject()); + $filter = $this->getTemplateFilter(); + $filter->setVariables($variables); + + $previousStrictMode = $filter->setStrictMode( + !$this->getData('is_legacy') && is_numeric($this->getTemplateId()) + ); + $result = $filter->filter($this->getTemplateSubject()); + $filter->setStrictMode($previousStrictMode); + + return $result; } /** @@ -227,6 +234,8 @@ public function getTemplateText() } /** + * Return the filter factory + * * @return \Magento\Newsletter\Model\Template\FilterFactory */ protected function getFilterFactory() diff --git a/app/code/Magento/Newsletter/Setup/Patch/Data/FlagLegacyTemplates.php b/app/code/Magento/Newsletter/Setup/Patch/Data/FlagLegacyTemplates.php new file mode 100644 index 0000000000000..13baf7f1dd5d4 --- /dev/null +++ b/app/code/Magento/Newsletter/Setup/Patch/Data/FlagLegacyTemplates.php @@ -0,0 +1,57 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ + +declare(strict_types=1); + +namespace Magento\Newsletter\Setup\Patch\Data; + +use Magento\Framework\Setup\ModuleDataSetupInterface; +use Magento\Framework\Setup\Patch\DataPatchInterface; + +/** + * Flag all existing email templates overrides as legacy + */ +class FlagLegacyTemplates implements DataPatchInterface +{ + /** + * @var ModuleDataSetupInterface + */ + private $moduleDataSetup; + + /** + * @param ModuleDataSetupInterface $moduleDataSetup + */ + public function __construct(ModuleDataSetupInterface $moduleDataSetup) + { + $this->moduleDataSetup = $moduleDataSetup; + } + + /** + * @inheritDoc + */ + public function apply() + { + $this->moduleDataSetup + ->getConnection() + ->update($this->moduleDataSetup->getTable('newsletter_template'), ['is_legacy' => '1']); + } + + /** + * @inheritDoc + */ + public static function getDependencies() + { + return []; + } + + /** + * @inheritDoc + */ + public function getAliases() + { + return []; + } +} diff --git a/app/code/Magento/Newsletter/Test/Unit/Model/TemplateTest.php b/app/code/Magento/Newsletter/Test/Unit/Model/TemplateTest.php index 52bb803dd377f..b53ac39f0e4e2 100644 --- a/app/code/Magento/Newsletter/Test/Unit/Model/TemplateTest.php +++ b/app/code/Magento/Newsletter/Test/Unit/Model/TemplateTest.php @@ -197,20 +197,20 @@ protected function getModelMock(array $mockedMethods = []) public function testGetProcessedTemplateSubject() { - $model = $this->getModelMock([ - 'getTemplateFilter', - 'getDesignConfig', - 'applyDesignConfig', - 'setVariables', - ]); + $model = $this->getModelMock( + [ + 'getTemplateFilter', + 'getDesignConfig', + 'applyDesignConfig', + 'setVariables', + ] + ); $templateSubject = 'templateSubject'; $model->setTemplateSubject($templateSubject); + $model->setTemplateId('foobar'); - $filterTemplate = $this->getMockBuilder(\Magento\Framework\Filter\Template::class) - ->setMethods(['setVariables', 'setStoreId', 'filter']) - ->disableOriginalConstructor() - ->getMock(); + $filterTemplate = $this->createMock(\Magento\Framework\Filter\Template::class); $model->expects($this->once()) ->method('getTemplateFilter') ->will($this->returnValue($filterTemplate)); @@ -221,6 +221,11 @@ public function testGetProcessedTemplateSubject() ->with($templateSubject) ->will($this->returnValue($expectedResult)); + $filterTemplate->expects($this->exactly(2)) + ->method('setStrictMode') + ->withConsecutive([$this->equalTo(false)], [$this->equalTo(true)]) + ->willReturnOnConsecutiveCalls(true, false); + $variables = ['key' => 'value']; $filterTemplate->expects($this->once()) ->method('setVariables') @@ -245,21 +250,24 @@ public function testGetProcessedTemplateSubject() */ public function testGetProcessedTemplate($variables, $templateType, $storeId, $expectedVariables, $expectedResult) { + class_exists(\Magento\Newsletter\Model\Template\Filter::class, true); $filterTemplate = $this->getMockBuilder(\Magento\Newsletter\Model\Template\Filter::class) - ->setMethods([ - 'setUseSessionInUrl', - 'setPlainTemplateMode', - 'setIsChildTemplate', - 'setDesignParams', - 'setVariables', - 'setStoreId', - 'filter', - 'getStoreId', - 'getInlineCssFiles', - ]) + ->setMethods( + [ + 'setUseSessionInUrl', + 'setPlainTemplateMode', + 'setIsChildTemplate', + 'setDesignParams', + 'setVariables', + 'setStoreId', + 'filter', + 'getStoreId', + 'getInlineCssFiles', + 'setStrictMode', + ] + ) ->disableOriginalConstructor() ->getMock(); - $filterTemplate->expects($this->once()) ->method('setUseSessionInUrl') ->with(false) @@ -281,12 +289,15 @@ public function testGetProcessedTemplate($variables, $templateType, $storeId, $e ->method('getStoreId') ->will($this->returnValue($storeId)); + $filterTemplate->expects($this->exactly(2)) + ->method('setStrictMode') + ->withConsecutive([$this->equalTo(true)], [$this->equalTo(false)]) + ->willReturnOnConsecutiveCalls(false, true); + // The following block of code tests to ensure that the store id of the subscriber will be used, if the // 'subscriber' variable is set. $subscriber = $this->getMockBuilder(\Magento\Newsletter\Model\Subscriber::class) - ->setMethods([ - 'getStoreId', - ]) + ->setMethods(['getStoreId']) ->disableOriginalConstructor() ->getMock(); $subscriber->expects($this->once()) @@ -296,18 +307,20 @@ public function testGetProcessedTemplate($variables, $templateType, $storeId, $e $variables['subscriber'] = $subscriber; $expectedVariables['store'] = $this->store; - - $model = $this->getModelMock([ - 'getDesignParams', - 'applyDesignConfig', - 'getTemplateText', - 'isPlain', - ]); + $model = $this->getModelMock( + [ + 'getDesignParams', + 'applyDesignConfig', + 'getTemplateText', + 'isPlain', + ] + ); $filterTemplate->expects($this->any()) ->method('setVariables') ->with(array_merge(['this' => $model], $expectedVariables)); $model->setTemplateFilter($filterTemplate); $model->setTemplateType($templateType); + $model->setTemplateId('123'); $designParams = [ 'area' => \Magento\Framework\App\Area::AREA_FRONTEND, diff --git a/app/code/Magento/Newsletter/composer.json b/app/code/Magento/Newsletter/composer.json index e6f22c4ab339b..64b0a9d38132c 100644 --- a/app/code/Magento/Newsletter/composer.json +++ b/app/code/Magento/Newsletter/composer.json @@ -6,15 +6,15 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-backend": "*", - "magento/module-cms": "*", - "magento/module-customer": "*", - "magento/module-eav": "*", - "magento/module-email": "*", - "magento/module-require-js": "*", - "magento/module-store": "*", - "magento/module-widget": "*" + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-cms": "103.0.*", + "magento/module-customer": "102.0.*", + "magento/module-eav": "102.0.*", + "magento/module-email": "101.0.*", + "magento/module-require-js": "100.3.*", + "magento/module-store": "101.0.*", + "magento/module-widget": "101.1.*" }, "type": "magento2-module", "license": [ @@ -28,5 +28,6 @@ "psr-4": { "Magento\\Newsletter\\": "" } - } + }, + "version": "100.3.3-p1" } diff --git a/app/code/Magento/Newsletter/etc/db_schema.xml b/app/code/Magento/Newsletter/etc/db_schema.xml index 5cb572f41b6be..a05a89c0dc4c2 100644 --- a/app/code/Magento/Newsletter/etc/db_schema.xml +++ b/app/code/Magento/Newsletter/etc/db_schema.xml @@ -54,6 +54,8 @@ default="1" comment="Template Actual"/> <column xsi:type="timestamp" name="added_at" on_update="false" nullable="true" comment="Added At"/> <column xsi:type="timestamp" name="modified_at" on_update="false" nullable="true" comment="Modified At"/> + <column xsi:type="boolean" name="is_legacy" nullable="false" + default="false" comment="Should the template render in legacy mode"/> <constraint xsi:type="primary" referenceId="PRIMARY"> <column name="template_id"/> </constraint> diff --git a/app/code/Magento/Newsletter/view/adminhtml/templates/preview/iframeswitcher.phtml b/app/code/Magento/Newsletter/view/adminhtml/templates/preview/iframeswitcher.phtml index 5175080add914..3f5ac04d67b77 100644 --- a/app/code/Magento/Newsletter/view/adminhtml/templates/preview/iframeswitcher.phtml +++ b/app/code/Magento/Newsletter/view/adminhtml/templates/preview/iframeswitcher.phtml @@ -20,7 +20,7 @@ frameborder="0" title="<?= $block->escapeHtmlAttr(__('Preview')) ?>" width="100%" - sandbox="allow-forms allow-pointer-lock" + sandbox="allow-forms allow-pointer-lock allow-same-origin" > </iframe> diff --git a/app/code/Magento/Newsletter/view/frontend/email/subscr_confirm.html b/app/code/Magento/Newsletter/view/frontend/email/subscr_confirm.html index eaf760c080370..beeda47d9d738 100644 --- a/app/code/Magento/Newsletter/view/frontend/email/subscr_confirm.html +++ b/app/code/Magento/Newsletter/view/frontend/email/subscr_confirm.html @@ -6,14 +6,13 @@ --> <!--@subject {{trans "Newsletter subscription confirmation"}} @--> <!--@vars { -"var customer.name":"Customer Name", -"var subscriber.getConfirmationLink()":"Subscriber Confirmation URL" +"var subscriber_data.confirmation_link":"Subscriber Confirmation URL" } @--> {{template config_path="design/email/header_template"}} <p class="greeting">{{trans "Thank you for subscribing to our newsletter."}}</p> <p>{{trans "To begin receiving the newsletter, you must first confirm your subscription by clicking on the following link:"}}</p> -<p><a href="{{var subscriber.getConfirmationLink()}}">{{var subscriber.getConfirmationLink()}}</a></p> +<p><a href="{{var subscriber_data.confirmation_link}}">{{var subscriber_data.confirmation_link}}</a></p> {{template config_path="design/email/footer_template"}} diff --git a/app/code/Magento/OfflinePayments/Model/Purchaseorder.php b/app/code/Magento/OfflinePayments/Model/Purchaseorder.php index 464142df5b996..fe30570aba50d 100644 --- a/app/code/Magento/OfflinePayments/Model/Purchaseorder.php +++ b/app/code/Magento/OfflinePayments/Model/Purchaseorder.php @@ -62,6 +62,7 @@ public function assignData(\Magento\Framework\DataObject $data) * @return $this * @throws LocalizedException * @api + * @since 100.2.3 */ public function validate() { diff --git a/app/code/Magento/OfflinePayments/composer.json b/app/code/Magento/OfflinePayments/composer.json index 4de112ac72152..cef2e43fff566 100644 --- a/app/code/Magento/OfflinePayments/composer.json +++ b/app/code/Magento/OfflinePayments/composer.json @@ -6,12 +6,12 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-checkout": "*", - "magento/module-payment": "*" + "magento/framework": "102.0.*", + "magento/module-checkout": "100.3.*", + "magento/module-payment": "100.3.*" }, "suggest": { - "magento/module-config": "*" + "magento/module-config": "101.1.*" }, "type": "magento2-module", "license": [ @@ -25,5 +25,6 @@ "psr-4": { "Magento\\OfflinePayments\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/OfflineShipping/Model/ResourceModel/Carrier/Tablerate/LocationDirectory.php b/app/code/Magento/OfflineShipping/Model/ResourceModel/Carrier/Tablerate/LocationDirectory.php index e015f7b54637d..bd75a1ffe698c 100644 --- a/app/code/Magento/OfflineShipping/Model/ResourceModel/Carrier/Tablerate/LocationDirectory.php +++ b/app/code/Magento/OfflineShipping/Model/ResourceModel/Carrier/Tablerate/LocationDirectory.php @@ -155,7 +155,7 @@ protected function loadRegions() * @param int $countryId * @param string $regionCode * @return string - * @deprecated + * @deprecated 100.3.1 */ public function getRegionId($countryId, $regionCode) { diff --git a/app/code/Magento/OfflineShipping/composer.json b/app/code/Magento/OfflineShipping/composer.json index a2d9f0e8f8d50..f842141e45fc2 100644 --- a/app/code/Magento/OfflineShipping/composer.json +++ b/app/code/Magento/OfflineShipping/composer.json @@ -6,20 +6,20 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-backend": "*", - "magento/module-catalog": "*", - "magento/module-config": "*", - "magento/module-directory": "*", - "magento/module-quote": "*", - "magento/module-sales": "*", - "magento/module-sales-rule": "*", - "magento/module-shipping": "*", - "magento/module-store": "*" + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-config": "101.1.*", + "magento/module-directory": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-sales": "102.0.*", + "magento/module-sales-rule": "101.1.*", + "magento/module-shipping": "100.3.*", + "magento/module-store": "101.0.*" }, "suggest": { - "magento/module-checkout": "*", - "magento/module-offline-shipping-sample-data": "*" + "magento/module-checkout": "100.3.*", + "magento/module-offline-shipping-sample-data": "Sample Data version: 100.3.*" }, "type": "magento2-module", "license": [ @@ -33,5 +33,6 @@ "psr-4": { "Magento\\OfflineShipping\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/PageCache/Controller/Block.php b/app/code/Magento/PageCache/Controller/Block.php index e69614496c66d..447431a8aa978 100644 --- a/app/code/Magento/PageCache/Controller/Block.php +++ b/app/code/Magento/PageCache/Controller/Block.php @@ -11,6 +11,9 @@ use Magento\Framework\Serialize\Serializer\Json; use Magento\Framework\View\Layout\LayoutCacheKeyInterface; +/** + * Page cache block controller abstract class + */ abstract class Block extends \Magento\Framework\App\Action\Action { /** @@ -72,13 +75,12 @@ public function __construct( protected function _getBlocks() { $blocks = $this->getRequest()->getParam('blocks', ''); - $handles = $this->getRequest()->getParam('handles', ''); + $handles = $this->getHandles(); if (!$handles || !$blocks) { return []; } $blocks = $this->jsonSerializer->unserialize($blocks); - $handles = $this->base64jsonSerializer->unserialize($handles); $layout = $this->_view->getLayout(); $this->layoutCacheKey->addCacheKeys($this->layoutCacheKeyName); @@ -95,4 +97,22 @@ protected function _getBlocks() return $data; } + + /** + * Get handles + * + * @return array + */ + private function getHandles(): array + { + $handles = $this->getRequest()->getParam('handles', ''); + $handles = !$handles ? [] : $this->base64jsonSerializer->unserialize($handles); + $validHandles = []; + foreach ($handles as $handle) { + if (!preg_match('/[@\'\*\.\\\"]/i', $handle)) { + $validHandles[] = $handle; + } + } + return $validHandles; + } } diff --git a/app/code/Magento/PageCache/Controller/Block/Render.php b/app/code/Magento/PageCache/Controller/Block/Render.php index e9a6e06ecb448..1bb21b60cbdbc 100644 --- a/app/code/Magento/PageCache/Controller/Block/Render.php +++ b/app/code/Magento/PageCache/Controller/Block/Render.php @@ -6,7 +6,14 @@ */ namespace Magento\PageCache\Controller\Block; -class Render extends \Magento\PageCache\Controller\Block +use Magento\Framework\App\Action\HttpGetActionInterface; + +/** + * Page cache render controller + * + * @deprecated 100.3.3 + */ +class Render extends \Magento\PageCache\Controller\Block implements HttpGetActionInterface { /** * Returns block content depends on ajax request diff --git a/app/code/Magento/PageCache/Test/Unit/Controller/Block/RenderTest.php b/app/code/Magento/PageCache/Test/Unit/Controller/Block/RenderTest.php index cd07726c9941a..24796559b4cd1 100644 --- a/app/code/Magento/PageCache/Test/Unit/Controller/Block/RenderTest.php +++ b/app/code/Magento/PageCache/Test/Unit/Controller/Block/RenderTest.php @@ -134,7 +134,7 @@ public function testExecuteNoParams() public function testExecute() { $blocks = ['block1', 'block2']; - $handles = ['handle1', 'handle2']; + $handles = ['handle1', 'handle2', "'handle'", '@hanle', '"hanle', '*hanle', '.hanle']; $originalRequest = '{"route":"route","controller":"controller","action":"action","uri":"uri"}'; $expectedData = ['block1' => 'data1', 'block2' => 'data2']; @@ -177,7 +177,7 @@ public function testExecute() ->method('getParam') ->with($this->equalTo('handles'), $this->equalTo('')) ->will($this->returnValue(base64_encode(json_encode($handles)))); - $this->viewMock->expects($this->once())->method('loadLayout')->with($this->equalTo($handles)); + $this->viewMock->expects($this->once())->method('loadLayout')->with($this->equalTo(['handle1', 'handle2'])); $this->viewMock->expects($this->any())->method('getLayout')->will($this->returnValue($this->layoutMock)); $this->layoutMock->expects($this->never()) ->method('getUpdate'); diff --git a/app/code/Magento/PageCache/composer.json b/app/code/Magento/PageCache/composer.json index ce030d9b7dfaa..ed054a9757321 100644 --- a/app/code/Magento/PageCache/composer.json +++ b/app/code/Magento/PageCache/composer.json @@ -6,10 +6,10 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-backend": "*", - "magento/module-config": "*", - "magento/module-store": "*" + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-config": "101.1.*", + "magento/module-store": "101.0.*" }, "type": "magento2-module", "license": [ @@ -23,5 +23,6 @@ "psr-4": { "Magento\\PageCache\\": "" } - } + }, + "version": "100.3.3-p1" } diff --git a/app/code/Magento/Payment/Gateway/ErrorMapper/ErrorMessageMapper.php b/app/code/Magento/Payment/Gateway/ErrorMapper/ErrorMessageMapper.php index 2072615a39b92..8a9f08e83005e 100644 --- a/app/code/Magento/Payment/Gateway/ErrorMapper/ErrorMessageMapper.php +++ b/app/code/Magento/Payment/Gateway/ErrorMapper/ErrorMessageMapper.php @@ -17,6 +17,7 @@ * In that case, this implementation can be extended via di.xml and configured with appropriate mappers. * * @api + * @since 100.2.2 */ class ErrorMessageMapper implements ErrorMessageMapperInterface { @@ -35,6 +36,7 @@ public function __construct(DataInterface $messageMapping) /** * @inheritdoc + * @since 100.2.2 */ public function getMessage(string $code) { diff --git a/app/code/Magento/Payment/Gateway/ErrorMapper/ErrorMessageMapperInterface.php b/app/code/Magento/Payment/Gateway/ErrorMapper/ErrorMessageMapperInterface.php index f09f49b7f8100..fc8c69902f373 100644 --- a/app/code/Magento/Payment/Gateway/ErrorMapper/ErrorMessageMapperInterface.php +++ b/app/code/Magento/Payment/Gateway/ErrorMapper/ErrorMessageMapperInterface.php @@ -13,6 +13,7 @@ * Interface to provide customization for payment validation errors. * * @api + * @since 100.2.2 */ interface ErrorMessageMapperInterface { @@ -22,6 +23,7 @@ interface ErrorMessageMapperInterface * * @param string $code * @return Phrase|null + * @since 100.2.2 */ public function getMessage(string $code); } diff --git a/app/code/Magento/Payment/Gateway/Validator/ResultInterface.php b/app/code/Magento/Payment/Gateway/Validator/ResultInterface.php index c1ad947e49c5b..9ed30b1c56cf4 100644 --- a/app/code/Magento/Payment/Gateway/Validator/ResultInterface.php +++ b/app/code/Magento/Payment/Gateway/Validator/ResultInterface.php @@ -33,6 +33,7 @@ public function getFailsDescription(); * Returns list of error codes. * * @return string[] + * @since 100.3.0 */ public function getErrorCodes(); } diff --git a/app/code/Magento/Payment/Gateway/Validator/ValidatorComposite.php b/app/code/Magento/Payment/Gateway/Validator/ValidatorComposite.php index 8ea97d31ed4d9..916b4890a2e21 100644 --- a/app/code/Magento/Payment/Gateway/Validator/ValidatorComposite.php +++ b/app/code/Magento/Payment/Gateway/Validator/ValidatorComposite.php @@ -13,6 +13,7 @@ * Compiles a result using the results of multiple validators * * @api + * @since 100.0.2 */ class ValidatorComposite extends AbstractValidator { diff --git a/app/code/Magento/Payment/Model/Method/ConfigInterface.php b/app/code/Magento/Payment/Model/Method/ConfigInterface.php index 06afde4657f26..7c74736cf2ef1 100644 --- a/app/code/Magento/Payment/Model/Method/ConfigInterface.php +++ b/app/code/Magento/Payment/Model/Method/ConfigInterface.php @@ -8,7 +8,7 @@ /** * Interface for payment methods config * - * @deprecated This interface has no semantic meaning and all it implementations has no joint points. + * @deprecated 100.3.0 This interface has no semantic meaning and all it implementations has no joint points. */ interface ConfigInterface extends \Magento\Payment\Gateway\ConfigInterface { diff --git a/app/code/Magento/Payment/Model/MethodList.php b/app/code/Magento/Payment/Model/MethodList.php index 5a426d72e4cfd..5dda8de349875 100644 --- a/app/code/Magento/Payment/Model/MethodList.php +++ b/app/code/Magento/Payment/Model/MethodList.php @@ -19,7 +19,7 @@ class MethodList { /** * @var \Magento\Payment\Helper\Data - * @deprecated 100.1.3 Do not use this property in case of inheritance. + * @deprecated 100.1.0 Do not use this property in case of inheritance. */ protected $paymentHelper; diff --git a/app/code/Magento/Payment/composer.json b/app/code/Magento/Payment/composer.json index fa1658a5d00bf..e3497128a2047 100644 --- a/app/code/Magento/Payment/composer.json +++ b/app/code/Magento/Payment/composer.json @@ -6,13 +6,13 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-checkout": "*", - "magento/module-config": "*", - "magento/module-directory": "*", - "magento/module-quote": "*", - "magento/module-sales": "*", - "magento/module-store": "*" + "magento/framework": "102.0.*", + "magento/module-checkout": "100.3.*", + "magento/module-config": "101.1.*", + "magento/module-directory": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-sales": "102.0.*", + "magento/module-store": "101.0.*" }, "type": "magento2-module", "license": [ @@ -26,5 +26,6 @@ "psr-4": { "Magento\\Payment\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/Paypal/Block/Adminhtml/Order/View.php b/app/code/Magento/Paypal/Block/Adminhtml/Order/View.php index 0cbd82798a2c1..82f2b6ab577e0 100644 --- a/app/code/Magento/Paypal/Block/Adminhtml/Order/View.php +++ b/app/code/Magento/Paypal/Block/Adminhtml/Order/View.php @@ -19,6 +19,7 @@ /** * Adminhtml sales order view. * @api + * @since 100.2.2 */ class View extends OrderView { @@ -59,6 +60,7 @@ public function __construct( * * @return void * @throws LocalizedException + * @since 100.2.2 */ protected function _construct() { @@ -97,6 +99,7 @@ private function getPaymentAuthorizationUrl(): string * @param Order $order * @return bool * @throws LocalizedException + * @since 100.2.2 */ public function canAuthorize(Order $order): bool { diff --git a/app/code/Magento/Paypal/Block/Adminhtml/System/Config/Field/Enable/BmlApi.php b/app/code/Magento/Paypal/Block/Adminhtml/System/Config/Field/Enable/BmlApi.php index 88a33f19de2f4..76fa0856fd23c 100644 --- a/app/code/Magento/Paypal/Block/Adminhtml/System/Config/Field/Enable/BmlApi.php +++ b/app/code/Magento/Paypal/Block/Adminhtml/System/Config/Field/Enable/BmlApi.php @@ -7,7 +7,7 @@ /** * Class Bml - * @deprecated + * @deprecated 100.3.1 * "Enable PayPal Credit" setting was removed. Please @see "Disable Funding Options" */ class BmlApi extends AbstractEnable diff --git a/app/code/Magento/Paypal/Block/Adminhtml/System/Config/Fieldset/Hint.php b/app/code/Magento/Paypal/Block/Adminhtml/System/Config/Fieldset/Hint.php index 944b30f5792ae..567322fd89372 100644 --- a/app/code/Magento/Paypal/Block/Adminhtml/System/Config/Fieldset/Hint.php +++ b/app/code/Magento/Paypal/Block/Adminhtml/System/Config/Fieldset/Hint.php @@ -17,7 +17,7 @@ class Hint extends Template implements RendererInterface { /** * @var string - * @deprecated 100.1.2 + * @deprecated 100.1.0 */ protected $_template = 'Magento_Paypal::system/config/fieldset/hint.phtml'; diff --git a/app/code/Magento/Paypal/Block/Express/InContext/Minicart/Button.php b/app/code/Magento/Paypal/Block/Express/InContext/Minicart/Button.php index 8d1e04c1397fc..6b4071120b511 100644 --- a/app/code/Magento/Paypal/Block/Express/InContext/Minicart/Button.php +++ b/app/code/Magento/Paypal/Block/Express/InContext/Minicart/Button.php @@ -16,7 +16,7 @@ /** * Class Button - * @deprecated @see \Magento\Paypal\Block\Express\InContext\Minicart\SmartButton + * @deprecated 100.3.1 @see \Magento\Paypal\Block\Express\InContext\Minicart\SmartButton */ class Button extends Template implements ShortcutInterface { diff --git a/app/code/Magento/Paypal/Model/AbstractConfig.php b/app/code/Magento/Paypal/Model/AbstractConfig.php index 41f122ed9b3c9..79b5903baf472 100644 --- a/app/code/Magento/Paypal/Model/AbstractConfig.php +++ b/app/code/Magento/Paypal/Model/AbstractConfig.php @@ -229,7 +229,7 @@ public function shouldUseUnilateralPayments() /** * Check whether WPP API credentials are available for this method * - * @deprecated + * @deprecated 100.3.1 * @return bool */ public function isWppApiAvailabe() diff --git a/app/code/Magento/Paypal/Model/Api/Nvp.php b/app/code/Magento/Paypal/Model/Api/Nvp.php index 624068395394d..f88276dcf5334 100644 --- a/app/code/Magento/Paypal/Model/Api/Nvp.php +++ b/app/code/Magento/Paypal/Model/Api/Nvp.php @@ -1461,7 +1461,7 @@ protected function _exportLineItems(array &$request, $i = 0) * * @param array $data * @return void - * @deprecated 100.2.2 typo in method name + * @deprecated 100.2.4 typo in method name * @see _exportAddresses */ protected function _exportAddressses($data) diff --git a/app/code/Magento/Paypal/composer.json b/app/code/Magento/Paypal/composer.json index 8d577cfb6b862..0619e440b91da 100644 --- a/app/code/Magento/Paypal/composer.json +++ b/app/code/Magento/Paypal/composer.json @@ -7,26 +7,26 @@ "require": { "php": "~7.1.3||~7.2.0||~7.3.0", "lib-libxml": "*", - "magento/framework": "*", - "magento/module-backend": "*", - "magento/module-catalog": "*", - "magento/module-checkout": "*", - "magento/module-config": "*", - "magento/module-customer": "*", - "magento/module-directory": "*", - "magento/module-eav": "*", - "magento/module-instant-purchase": "*", - "magento/module-payment": "*", - "magento/module-quote": "*", - "magento/module-sales": "*", - "magento/module-store": "*", - "magento/module-tax": "*", - "magento/module-theme": "*", - "magento/module-ui": "*", - "magento/module-vault": "*" + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-checkout": "100.3.*", + "magento/module-config": "101.1.*", + "magento/module-customer": "102.0.*", + "magento/module-directory": "100.3.*", + "magento/module-eav": "102.0.*", + "magento/module-instant-purchase": "100.3.*", + "magento/module-payment": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-sales": "102.0.*", + "magento/module-store": "101.0.*", + "magento/module-tax": "100.3.*", + "magento/module-theme": "101.0.*", + "magento/module-ui": "101.1.*", + "magento/module-vault": "101.1.*" }, "suggest": { - "magento/module-checkout-agreements": "*" + "magento/module-checkout-agreements": "100.3.*" }, "type": "magento2-module", "license": [ @@ -40,5 +40,6 @@ "psr-4": { "Magento\\Paypal\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/PaypalCaptcha/composer.json b/app/code/Magento/PaypalCaptcha/composer.json index a99d1975e44e4..242443cd0a3bb 100644 --- a/app/code/Magento/PaypalCaptcha/composer.json +++ b/app/code/Magento/PaypalCaptcha/composer.json @@ -6,13 +6,13 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-captcha": "*", - "magento/module-checkout": "*", - "magento/module-store": "*" + "magento/framework": "102.0.*", + "magento/module-captcha": "100.3.*", + "magento/module-checkout": "100.3.*", + "magento/module-store": "101.0.*" }, "suggest": { - "magento/module-paypal": "*" + "magento/module-paypal": "100.3.*" }, "type": "magento2-module", "license": [ @@ -26,5 +26,6 @@ "psr-4": { "Magento\\PaypalCaptcha\\": "" } - } + }, + "version": "100.3.1" } diff --git a/app/code/Magento/PaypalGraphQl/composer.json b/app/code/Magento/PaypalGraphQl/composer.json index 40ba132d83060..64c8d10f4015b 100644 --- a/app/code/Magento/PaypalGraphQl/composer.json +++ b/app/code/Magento/PaypalGraphQl/composer.json @@ -6,17 +6,17 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-quote": "*", - "magento/module-checkout": "*", - "magento/module-paypal": "*", - "magento/module-quote-graph-ql": "*", - "magento/module-sales": "*", - "magento/module-payment": "*", - "magento/module-store": "*" + "magento/framework": "102.0.*", + "magento/module-quote": "101.1.*", + "magento/module-checkout": "100.3.*", + "magento/module-paypal": "100.3.*", + "magento/module-quote-graph-ql": "100.3.*", + "magento/module-sales": "102.0.*", + "magento/module-payment": "100.3.*", + "magento/module-store": "101.0.*" }, "suggest": { - "magento/module-graph-ql": "*" + "magento/module-graph-ql": "100.3.*" }, "type": "magento2-module", "license": [ @@ -30,5 +30,6 @@ "psr-4": { "Magento\\PaypalGraphQl\\": "" } - } + }, + "version": "100.3.0" } diff --git a/app/code/Magento/Persistent/composer.json b/app/code/Magento/Persistent/composer.json index d405daefa0f1b..3d6c95071a7f6 100644 --- a/app/code/Magento/Persistent/composer.json +++ b/app/code/Magento/Persistent/composer.json @@ -6,13 +6,13 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-checkout": "*", - "magento/module-cron": "*", - "magento/module-customer": "*", - "magento/module-page-cache": "*", - "magento/module-quote": "*", - "magento/module-store": "*" + "magento/framework": "102.0.*", + "magento/module-checkout": "100.3.*", + "magento/module-cron": "100.3.*", + "magento/module-customer": "102.0.*", + "magento/module-page-cache": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-store": "101.0.*" }, "type": "magento2-module", "license": [ @@ -26,5 +26,6 @@ "psr-4": { "Magento\\Persistent\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/ProductAlert/composer.json b/app/code/Magento/ProductAlert/composer.json index 25fe8edbede7b..f3cf03812be0c 100644 --- a/app/code/Magento/ProductAlert/composer.json +++ b/app/code/Magento/ProductAlert/composer.json @@ -6,14 +6,14 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-backend": "*", - "magento/module-catalog": "*", - "magento/module-customer": "*", - "magento/module-store": "*" + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-customer": "102.0.*", + "magento/module-store": "101.0.*" }, "suggest": { - "magento/module-config": "*" + "magento/module-config": "101.1.*" }, "type": "magento2-module", "license": [ @@ -27,5 +27,6 @@ "psr-4": { "Magento\\ProductAlert\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/ProductVideo/composer.json b/app/code/Magento/ProductVideo/composer.json index 6dad9cf1aa858..9eafa6f14b0c4 100644 --- a/app/code/Magento/ProductVideo/composer.json +++ b/app/code/Magento/ProductVideo/composer.json @@ -6,17 +6,17 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", + "magento/framework": "102.0.*", "magento/magento-composer-installer": "*", - "magento/module-backend": "*", - "magento/module-catalog": "*", - "magento/module-eav": "*", - "magento/module-media-storage": "*", - "magento/module-store": "*" + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-eav": "102.0.*", + "magento/module-media-storage": "100.3.*", + "magento/module-store": "101.0.*" }, "suggest": { - "magento/module-customer": "*", - "magento/module-config": "*" + "magento/module-customer": "102.0.*", + "magento/module-config": "101.1.*" }, "type": "magento2-module", "license": [ @@ -30,5 +30,6 @@ "psr-4": { "Magento\\ProductVideo\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/Quote/Model/BillingAddressManagement.php b/app/code/Magento/Quote/Model/BillingAddressManagement.php index bc055e71c662e..6f8a44dff464c 100644 --- a/app/code/Magento/Quote/Model/BillingAddressManagement.php +++ b/app/code/Magento/Quote/Model/BillingAddressManagement.php @@ -103,7 +103,7 @@ public function get($cartId) * Get shipping address assignment * * @return \Magento\Quote\Model\ShippingAddressAssignment - * @deprecated 100.2.0 + * @deprecated 101.0.0 */ private function getShippingAddressAssignment() { diff --git a/app/code/Magento/Quote/Model/MaskedQuoteIdToQuoteIdInterface.php b/app/code/Magento/Quote/Model/MaskedQuoteIdToQuoteIdInterface.php index 152d575e059c8..5cdcca5349c1b 100644 --- a/app/code/Magento/Quote/Model/MaskedQuoteIdToQuoteIdInterface.php +++ b/app/code/Magento/Quote/Model/MaskedQuoteIdToQuoteIdInterface.php @@ -12,6 +12,7 @@ /** * Converts masked quote id to the quote id (entity id) * @api + * @since 101.1.0 */ interface MaskedQuoteIdToQuoteIdInterface { @@ -19,6 +20,7 @@ interface MaskedQuoteIdToQuoteIdInterface * @param string $maskedQuoteId * @return int * @throws NoSuchEntityException + * @since 101.1.0 */ public function execute(string $maskedQuoteId): int; } diff --git a/app/code/Magento/Quote/Model/Quote.php b/app/code/Magento/Quote/Model/Quote.php index 82b7913446fd0..4158c9a51509a 100644 --- a/app/code/Magento/Quote/Model/Quote.php +++ b/app/code/Magento/Quote/Model/Quote.php @@ -871,7 +871,7 @@ public function beforeSave() * Loading quote data by customer * * @param \Magento\Customer\Model\Customer|int $customer - * @deprecated 100.2.0 + * @deprecated 101.0.0 * @return $this */ public function loadByCustomer($customer) diff --git a/app/code/Magento/Quote/Model/Quote/Address.php b/app/code/Magento/Quote/Model/Quote/Address.php index 3ecbc69b80785..4bfaacb10d38b 100644 --- a/app/code/Magento/Quote/Model/Quote/Address.php +++ b/app/code/Magento/Quote/Model/Quote/Address.php @@ -206,7 +206,7 @@ class Address extends \Magento\Customer\Model\Address\AbstractAddress implements /** * @var \Magento\Quote\Model\Quote\Address\RateFactory - * @since 100.2.0 + * @since 101.0.0 */ protected $_addressRateFactory; diff --git a/app/code/Magento/Quote/Model/Quote/Address/Item.php b/app/code/Magento/Quote/Model/Quote/Address/Item.php index ade4f9270b68f..bbf74d5a28935 100644 --- a/app/code/Magento/Quote/Model/Quote/Address/Item.php +++ b/app/code/Magento/Quote/Model/Quote/Address/Item.php @@ -199,6 +199,7 @@ public function importQuoteItem(\Magento\Quote\Model\Quote\Item $quoteItem) /** * @inheritdoc + * @since 101.1.1 */ public function getOptionByCode($code) { diff --git a/app/code/Magento/Quote/Model/Quote/Item.php b/app/code/Magento/Quote/Model/Quote/Item.php index 2d6ff67018160..fbdb4b6d65464 100644 --- a/app/code/Magento/Quote/Model/Quote/Item.php +++ b/app/code/Magento/Quote/Model/Quote/Item.php @@ -171,7 +171,7 @@ class Item extends \Magento\Quote\Model\Quote\Item\AbstractItem implements \Mage /** * @var \Magento\CatalogInventory\Api\StockRegistryInterface - * @deprecated 100.2.0 + * @deprecated 101.0.0 */ protected $stockRegistry; diff --git a/app/code/Magento/Quote/Model/Quote/Validator/MinimumOrderAmount/ValidationMessage.php b/app/code/Magento/Quote/Model/Quote/Validator/MinimumOrderAmount/ValidationMessage.php index 38bfcbf1d30ca..78aa31d7d9527 100644 --- a/app/code/Magento/Quote/Model/Quote/Validator/MinimumOrderAmount/ValidationMessage.php +++ b/app/code/Magento/Quote/Model/Quote/Validator/MinimumOrderAmount/ValidationMessage.php @@ -19,7 +19,7 @@ class ValidationMessage /** * @var \Magento\Framework\Locale\CurrencyInterface - * @deprecated since 101.0.0 + * @deprecated 101.0.3 since 101.0.0 */ private $currency; diff --git a/app/code/Magento/Quote/Model/QuoteAddressValidator.php b/app/code/Magento/Quote/Model/QuoteAddressValidator.php index e7750f5879de5..f0bc12f7b3a36 100644 --- a/app/code/Magento/Quote/Model/QuoteAddressValidator.php +++ b/app/code/Magento/Quote/Model/QuoteAddressValidator.php @@ -31,7 +31,7 @@ class QuoteAddressValidator protected $customerRepository; /** - * @deprecated This class is not a part of HTML presentation layer and should not use sessions. + * @deprecated 101.1.1 This class is not a part of HTML presentation layer and should not use sessions. */ protected $customerSession; diff --git a/app/code/Magento/Quote/Model/QuoteIdToMaskedQuoteIdInterface.php b/app/code/Magento/Quote/Model/QuoteIdToMaskedQuoteIdInterface.php index 4d2a8ce877d8c..2a73a648889fb 100644 --- a/app/code/Magento/Quote/Model/QuoteIdToMaskedQuoteIdInterface.php +++ b/app/code/Magento/Quote/Model/QuoteIdToMaskedQuoteIdInterface.php @@ -12,6 +12,7 @@ /** * Converts quote id to the masked quote id * @api + * @since 101.1.0 */ interface QuoteIdToMaskedQuoteIdInterface { @@ -19,6 +20,7 @@ interface QuoteIdToMaskedQuoteIdInterface * @param int $quoteId * @return string * @throws NoSuchEntityException + * @since 101.1.0 */ public function execute(int $quoteId): string; } diff --git a/app/code/Magento/Quote/Model/QuoteRepository.php b/app/code/Magento/Quote/Model/QuoteRepository.php index 30931821ddc7d..fb335cbc50366 100644 --- a/app/code/Magento/Quote/Model/QuoteRepository.php +++ b/app/code/Magento/Quote/Model/QuoteRepository.php @@ -43,7 +43,7 @@ class QuoteRepository implements CartRepositoryInterface /** * @var QuoteFactory - * @deprecated + * @deprecated 101.1.2 */ protected $quoteFactory; @@ -54,7 +54,7 @@ class QuoteRepository implements CartRepositoryInterface /** * @var QuoteCollection - * @deprecated 100.2.0 + * @deprecated 101.0.0 */ protected $quoteCollection; @@ -261,7 +261,7 @@ public function getList(SearchCriteriaInterface $searchCriteria) * @param FilterGroup $filterGroup The filter group. * @param QuoteCollection $collection The quote collection. * @return void - * @deprecated 100.2.0 + * @deprecated 101.0.0 * @throws InputException The specified filter group or quote collection does not exist. */ protected function addFilterGroupToCollection(FilterGroup $filterGroup, QuoteCollection $collection) diff --git a/app/code/Magento/Quote/Model/ResourceModel/Quote.php b/app/code/Magento/Quote/Model/ResourceModel/Quote.php index ae26407c74522..640d984334ab9 100644 --- a/app/code/Magento/Quote/Model/ResourceModel/Quote.php +++ b/app/code/Magento/Quote/Model/ResourceModel/Quote.php @@ -254,7 +254,7 @@ public function subtractProductFromQuotes($product) * * @param \Magento\Catalog\Model\Product $product * - * @deprecated 101.0.1 + * @deprecated 101.0.3 * @see \Magento\Quote\Model\ResourceModel\Quote::subtractProductFromQuotes * * @return $this diff --git a/app/code/Magento/Quote/Model/ShippingMethodManagement.php b/app/code/Magento/Quote/Model/ShippingMethodManagement.php index f62866539c6cc..1b86f062652d5 100644 --- a/app/code/Magento/Quote/Model/ShippingMethodManagement.php +++ b/app/code/Magento/Quote/Model/ShippingMethodManagement.php @@ -266,7 +266,7 @@ public function estimateByAddressId($cartId, $addressId) * @param string $region * @param \Magento\Framework\Api\ExtensibleDataInterface|null $address * @return \Magento\Quote\Api\Data\ShippingMethodInterface[] An array of shipping methods. - * @deprecated 100.2.0 + * @deprecated 100.1.6 */ protected function getEstimatedRates( \Magento\Quote\Model\Quote $quote, @@ -334,7 +334,7 @@ private function extractAddressData($address) * Gets the data object processor * * @return \Magento\Framework\Reflection\DataObjectProcessor - * @deprecated 100.2.0 + * @deprecated 101.0.0 */ private function getDataObjectProcessor() { diff --git a/app/code/Magento/Quote/composer.json b/app/code/Magento/Quote/composer.json index 82274fe8a31db..3543c81985dbe 100644 --- a/app/code/Magento/Quote/composer.json +++ b/app/code/Magento/Quote/composer.json @@ -6,24 +6,24 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-authorization": "*", - "magento/module-backend": "*", - "magento/module-catalog": "*", - "magento/module-catalog-inventory": "*", - "magento/module-checkout": "*", - "magento/module-customer": "*", - "magento/module-directory": "*", - "magento/module-eav": "*", - "magento/module-payment": "*", - "magento/module-sales": "*", - "magento/module-sales-sequence": "*", - "magento/module-shipping": "*", - "magento/module-store": "*", - "magento/module-tax": "*" + "magento/framework": "102.0.*", + "magento/module-authorization": "100.3.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-inventory": "100.3.*", + "magento/module-checkout": "100.3.*", + "magento/module-customer": "102.0.*", + "magento/module-directory": "100.3.*", + "magento/module-eav": "102.0.*", + "magento/module-payment": "100.3.*", + "magento/module-sales": "102.0.*", + "magento/module-sales-sequence": "100.3.*", + "magento/module-shipping": "100.3.*", + "magento/module-store": "101.0.*", + "magento/module-tax": "100.3.*" }, "suggest": { - "magento/module-webapi": "*" + "magento/module-webapi": "100.3.*" }, "type": "magento2-module", "license": [ @@ -37,5 +37,6 @@ "psr-4": { "Magento\\Quote\\": "" } - } + }, + "version": "101.1.3" } diff --git a/app/code/Magento/QuoteAnalytics/composer.json b/app/code/Magento/QuoteAnalytics/composer.json index b930a844be1e0..c5495f9d5a175 100644 --- a/app/code/Magento/QuoteAnalytics/composer.json +++ b/app/code/Magento/QuoteAnalytics/composer.json @@ -3,9 +3,9 @@ "description": "N/A", "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-quote": "*", - "magento/module-analytics": "*" + "magento/framework": "102.0.*", + "magento/module-quote": "101.1.*", + "magento/module-analytics": "100.3.*" }, "type": "magento2-module", "license": [ @@ -19,5 +19,6 @@ "psr-4": { "Magento\\QuoteAnalytics\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/QuoteGraphQl/composer.json b/app/code/Magento/QuoteGraphQl/composer.json index b56f86364ec65..975355b8ba17c 100644 --- a/app/code/Magento/QuoteGraphQl/composer.json +++ b/app/code/Magento/QuoteGraphQl/composer.json @@ -4,19 +4,19 @@ "type": "magento2-module", "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-quote": "*", - "magento/module-checkout": "*", - "magento/module-catalog": "*", - "magento/module-store": "*", - "magento/module-customer": "*", - "magento/module-customer-graph-ql": "*", - "magento/module-sales": "*", - "magento/module-directory": "*", - "magento/module-graph-ql": "*" + "magento/framework": "102.0.*", + "magento/module-quote": "101.1.*", + "magento/module-checkout": "100.3.*", + "magento/module-catalog": "103.0.*", + "magento/module-store": "101.0.*", + "magento/module-customer": "102.0.*", + "magento/module-customer-graph-ql": "100.3.*", + "magento/module-sales": "102.0.*", + "magento/module-directory": "100.3.*", + "magento/module-graph-ql": "100.3.*" }, "suggest": { - "magento/module-graph-ql-cache": "*" + "magento/module-graph-ql-cache": "100.3.*" }, "license": [ "OSL-3.0", @@ -29,5 +29,6 @@ "psr-4": { "Magento\\QuoteGraphQl\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/RelatedProductGraphQl/composer.json b/app/code/Magento/RelatedProductGraphQl/composer.json index bb270b4a9e67e..92616415ebf11 100644 --- a/app/code/Magento/RelatedProductGraphQl/composer.json +++ b/app/code/Magento/RelatedProductGraphQl/composer.json @@ -4,12 +4,12 @@ "type": "magento2-module", "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/module-catalog": "*", - "magento/module-catalog-graph-ql": "*", - "magento/framework": "*" + "magento/module-catalog": "103.0.*", + "magento/module-catalog-graph-ql": "100.3.*", + "magento/framework": "102.0.*" }, "suggest": { - "magento/module-graph-ql": "*" + "magento/module-graph-ql": "100.3.*" }, "license": [ "OSL-3.0", @@ -22,5 +22,6 @@ "psr-4": { "Magento\\RelatedProductGraphQl\\": "" } - } + }, + "version": "100.3.0" } diff --git a/app/code/Magento/ReleaseNotification/composer.json b/app/code/Magento/ReleaseNotification/composer.json index 67c84b33b2260..4465b50df33c7 100644 --- a/app/code/Magento/ReleaseNotification/composer.json +++ b/app/code/Magento/ReleaseNotification/composer.json @@ -1,27 +1,28 @@ { - "name": "magento/module-release-notification", - "description": "N/A", - "require": { - "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/module-user": "*", - "magento/module-backend": "*", - "magento/module-ui": "*", - "magento/framework": "*" - }, - "suggest": { - "magento/module-config": "*" - }, - "type": "magento2-module", - "license": [ - "OSL-3.0", - "AFL-3.0" - ], - "autoload": { - "files": [ - "registration.php" + "name": "magento/module-release-notification", + "description": "N/A", + "require": { + "php": "~7.1.3||~7.2.0||~7.3.0", + "magento/module-user": "101.1.*", + "magento/module-backend": "101.0.*", + "magento/module-ui": "101.1.*", + "magento/framework": "102.0.*" + }, + "suggest": { + "magento/module-config": "101.1.*" + }, + "type": "magento2-module", + "license": [ + "OSL-3.0", + "AFL-3.0" ], - "psr-4": { - "Magento\\ReleaseNotification\\": "" - } - } + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\ReleaseNotification\\": "" + } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/Reports/Block/Adminhtml/Wishlist.php b/app/code/Magento/Reports/Block/Adminhtml/Wishlist.php index dd42874b55795..257eb481e1923 100644 --- a/app/code/Magento/Reports/Block/Adminhtml/Wishlist.php +++ b/app/code/Magento/Reports/Block/Adminhtml/Wishlist.php @@ -9,7 +9,7 @@ /** * Adminhtml wishlist report page content block * - * @deprecated + * @deprecated 100.3.3 * @author Magento Core Team <core@magentocommerce.com> */ class Wishlist extends \Magento\Backend\Block\Template diff --git a/app/code/Magento/Reports/Block/Product/Widget/Viewed/Item.php b/app/code/Magento/Reports/Block/Product/Widget/Viewed/Item.php index 12959f083d376..1e3eb12331bde 100644 --- a/app/code/Magento/Reports/Block/Product/Widget/Viewed/Item.php +++ b/app/code/Magento/Reports/Block/Product/Widget/Viewed/Item.php @@ -8,7 +8,7 @@ /** * Reports Recently Viewed Products Widget * - * @deprecated + * @deprecated 100.3.3 * @author Magento Core Team <core@magentocommerce.com> */ class Item extends \Magento\Catalog\Block\Product\AbstractProduct implements \Magento\Widget\Block\BlockInterface diff --git a/app/code/Magento/Reports/Model/ResourceModel/Order/Collection.php b/app/code/Magento/Reports/Model/ResourceModel/Order/Collection.php index d89a118bff94b..552d48a35a254 100644 --- a/app/code/Magento/Reports/Model/ResourceModel/Order/Collection.php +++ b/app/code/Magento/Reports/Model/ResourceModel/Order/Collection.php @@ -817,7 +817,7 @@ public function addSumAvgTotals($storeId = 0) * @param string $baseSubtotalCanceled * @param string $baseDiscountCanceled * @return string - * @deprecated + * @deprecated 100.3.2 * @see getTotalsExpressionWithDiscountRefunded */ protected function getTotalsExpression( diff --git a/app/code/Magento/Reports/Model/ResourceModel/Product/Downloads/Collection.php b/app/code/Magento/Reports/Model/ResourceModel/Product/Downloads/Collection.php index 2009cd3ff9d92..6cffa238e97ba 100644 --- a/app/code/Magento/Reports/Model/ResourceModel/Product/Downloads/Collection.php +++ b/app/code/Magento/Reports/Model/ResourceModel/Product/Downloads/Collection.php @@ -100,6 +100,7 @@ public function addFieldToFilter($field, $condition = null) /** * @inheritDoc + * @since 100.3.2 */ public function getSelectCountSql() { diff --git a/app/code/Magento/Reports/Model/ResourceModel/Quote/Collection.php b/app/code/Magento/Reports/Model/ResourceModel/Quote/Collection.php index c1c6fb2eaed88..b69ea94aac9bb 100644 --- a/app/code/Magento/Reports/Model/ResourceModel/Quote/Collection.php +++ b/app/code/Magento/Reports/Model/ResourceModel/Quote/Collection.php @@ -58,6 +58,7 @@ public function __construct( * @param array $storeIds * @param bool $withAdmin * @return $this + * @since 100.3.1 */ public function addStoreFilter(array $storeIds, $withAdmin = true) { diff --git a/app/code/Magento/Reports/Model/ResourceModel/Review/Customer/Collection.php b/app/code/Magento/Reports/Model/ResourceModel/Review/Customer/Collection.php index 02eae4d75d2a7..19906e03c057c 100644 --- a/app/code/Magento/Reports/Model/ResourceModel/Review/Customer/Collection.php +++ b/app/code/Magento/Reports/Model/ResourceModel/Review/Customer/Collection.php @@ -108,6 +108,7 @@ protected function _joinCustomers() * * Additional processing of 'customer_name' field is required, as it is a concat field, which can not be aliased. * @see _joinCustomers + * @since 100.2.2 */ public function addFieldToFilter($field, $condition = null) { diff --git a/app/code/Magento/Reports/composer.json b/app/code/Magento/Reports/composer.json index f816163dce481..496f85672fc70 100644 --- a/app/code/Magento/Reports/composer.json +++ b/app/code/Magento/Reports/composer.json @@ -6,23 +6,23 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-backend": "*", - "magento/module-catalog": "*", - "magento/module-catalog-inventory": "*", - "magento/module-cms": "*", - "magento/module-config": "*", - "magento/module-customer": "*", - "magento/module-downloadable": "*", - "magento/module-eav": "*", - "magento/module-quote": "*", - "magento/module-review": "*", - "magento/module-sales": "*", - "magento/module-sales-rule": "*", - "magento/module-store": "*", - "magento/module-tax": "*", - "magento/module-widget": "*", - "magento/module-wishlist": "*" + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-inventory": "100.3.*", + "magento/module-cms": "103.0.*", + "magento/module-config": "101.1.*", + "magento/module-customer": "102.0.*", + "magento/module-downloadable": "100.3.*", + "magento/module-eav": "102.0.*", + "magento/module-quote": "101.1.*", + "magento/module-review": "100.3.*", + "magento/module-sales": "102.0.*", + "magento/module-sales-rule": "101.1.*", + "magento/module-store": "101.0.*", + "magento/module-tax": "100.3.*", + "magento/module-widget": "101.1.*", + "magento/module-wishlist": "101.1.*" }, "type": "magento2-module", "license": [ @@ -36,5 +36,6 @@ "psr-4": { "Magento\\Reports\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/RequireJs/composer.json b/app/code/Magento/RequireJs/composer.json index ebabe43a0efb2..7ae143577a6c3 100644 --- a/app/code/Magento/RequireJs/composer.json +++ b/app/code/Magento/RequireJs/composer.json @@ -6,7 +6,7 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*" + "magento/framework": "102.0.*" }, "type": "magento2-module", "license": [ @@ -20,5 +20,6 @@ "psr-4": { "Magento\\RequireJs\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/Review/Block/Customer/View.php b/app/code/Magento/Review/Block/Customer/View.php index da5aff1f4d2f8..bb322f17b6ce9 100644 --- a/app/code/Magento/Review/Block/Customer/View.php +++ b/app/code/Magento/Review/Block/Customer/View.php @@ -161,7 +161,7 @@ public function getRating() /** * Get rating summary * - * @deprecated + * @deprecated 100.3.3 * @return array */ public function getRatingSummary() diff --git a/app/code/Magento/Review/Block/View.php b/app/code/Magento/Review/Block/View.php index 82a5f37f9b6bf..fcfa11faa169d 100644 --- a/app/code/Magento/Review/Block/View.php +++ b/app/code/Magento/Review/Block/View.php @@ -119,7 +119,7 @@ public function getRating() /** * Retrieve rating summary for current product * - * @deprecated + * @deprecated 100.3.3 * @return string */ public function getRatingSummary() diff --git a/app/code/Magento/Review/Controller/Adminhtml/Rating.php b/app/code/Magento/Review/Controller/Adminhtml/Rating.php index 02649661154af..672c3ed327941 100644 --- a/app/code/Magento/Review/Controller/Adminhtml/Rating.php +++ b/app/code/Magento/Review/Controller/Adminhtml/Rating.php @@ -41,7 +41,7 @@ public function __construct( } /** - * @deprecated Misspelled method + * @deprecated 100.3.0 Misspelled method * @see initEntityId */ protected function initEnityId() diff --git a/app/code/Magento/Review/Model/ResourceModel/Review/Product/Collection.php b/app/code/Magento/Review/Model/ResourceModel/Review/Product/Collection.php index ab264ef1b6179..1fb7e7df2461f 100644 --- a/app/code/Magento/Review/Model/ResourceModel/Review/Product/Collection.php +++ b/app/code/Magento/Review/Model/ResourceModel/Review/Product/Collection.php @@ -553,6 +553,7 @@ protected function _afterLoad() * Not add store ids to items * * @return $this + * @since 100.2.8 */ protected function prepareStoreId() { diff --git a/app/code/Magento/Review/Model/Review.php b/app/code/Magento/Review/Model/Review.php index 0c581f570ef0c..f2e0997ea8878 100644 --- a/app/code/Magento/Review/Model/Review.php +++ b/app/code/Magento/Review/Model/Review.php @@ -101,7 +101,7 @@ class Review extends \Magento\Framework\Model\AbstractModel implements IdentityI /** * Review model summary * - * @deprecated Summary factory injected as separate property + * @deprecated 100.3.3 Summary factory injected as separate property * @var \Magento\Review\Model\Review\Summary */ protected $_reviewSummary; @@ -216,7 +216,7 @@ public function aggregate() /** * Get entity summary * - * @deprecated + * @deprecated 100.3.3 * @param Product $product * @param int $storeId * @return void @@ -306,7 +306,7 @@ public function afterDeleteCommit() /** * Append review summary data object to product collection * - * @deprecated + * @deprecated 100.3.3 * @param ProductCollection $collection * @return $this * @throws \Magento\Framework\Exception\NoSuchEntityException diff --git a/app/code/Magento/Review/composer.json b/app/code/Magento/Review/composer.json index de5dfb2f9f9f7..3b80c1dece4a6 100644 --- a/app/code/Magento/Review/composer.json +++ b/app/code/Magento/Review/composer.json @@ -6,19 +6,19 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-backend": "*", - "magento/module-catalog": "*", - "magento/module-customer": "*", - "magento/module-eav": "*", - "magento/module-newsletter": "*", - "magento/module-store": "*", - "magento/module-theme": "*", - "magento/module-ui": "*" + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-customer": "102.0.*", + "magento/module-eav": "102.0.*", + "magento/module-newsletter": "100.3.*", + "magento/module-store": "101.0.*", + "magento/module-theme": "101.0.*", + "magento/module-ui": "101.1.*" }, "suggest": { - "magento/module-cookie": "*", - "magento/module-review-sample-data": "*" + "magento/module-cookie": "100.3.*", + "magento/module-review-sample-data": "Sample Data version: 100.3.*" }, "type": "magento2-module", "license": [ @@ -32,5 +32,6 @@ "psr-4": { "Magento\\Review\\": "" } - } + }, + "version": "100.3.3-p1" } diff --git a/app/code/Magento/Review/view/frontend/templates/review.phtml b/app/code/Magento/Review/view/frontend/templates/review.phtml index ea4b4bc42a1ed..04782080fc775 100644 --- a/app/code/Magento/Review/view/frontend/templates/review.phtml +++ b/app/code/Magento/Review/view/frontend/templates/review.phtml @@ -13,7 +13,7 @@ { "*": { "Magento_Review/js/process-reviews": { - "productReviewUrl": "<?= $block->escapeJs($block->escapeUrl($block->getProductReviewUrl())) ?>", + "productReviewUrl": "<?= $block->escapeJs($block->getProductReviewUrl()) ?>", "reviewsTabSelector": "#tab-label-reviews" } } diff --git a/app/code/Magento/ReviewAnalytics/composer.json b/app/code/Magento/ReviewAnalytics/composer.json index a492c3e8a00c1..97152ecc7f4ef 100644 --- a/app/code/Magento/ReviewAnalytics/composer.json +++ b/app/code/Magento/ReviewAnalytics/composer.json @@ -3,9 +3,9 @@ "description": "N/A", "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-review": "*", - "magento/module-analytics": "*" + "magento/framework": "102.0.*", + "magento/module-review": "100.3.*", + "magento/module-analytics": "100.3.*" }, "type": "magento2-module", "license": [ @@ -19,5 +19,6 @@ "psr-4": { "Magento\\ReviewAnalytics\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/Robots/Block/Data.php b/app/code/Magento/Robots/Block/Data.php index 460225d3ed71c..9a28f91de19d9 100644 --- a/app/code/Magento/Robots/Block/Data.php +++ b/app/code/Magento/Robots/Block/Data.php @@ -19,7 +19,7 @@ * Prepares base content for robots.txt and implements Page Cache functionality. * * @api - * @since 100.2.0 + * @since 100.1.0 */ class Data extends AbstractBlock implements IdentityInterface { @@ -60,7 +60,7 @@ public function __construct( * Retrieve base content for robots.txt file * * @return string - * @since 100.2.0 + * @since 100.1.0 */ protected function _toHtml() { @@ -71,7 +71,7 @@ protected function _toHtml() * Get unique page cache identities * * @return array - * @since 100.2.0 + * @since 100.1.0 */ public function getIdentities() { diff --git a/app/code/Magento/Robots/Model/Config/Value.php b/app/code/Magento/Robots/Model/Config/Value.php index 16a5a486e1078..ab955dadbe33d 100644 --- a/app/code/Magento/Robots/Model/Config/Value.php +++ b/app/code/Magento/Robots/Model/Config/Value.php @@ -23,7 +23,7 @@ * Required to implement Page Cache functionality. * * @api - * @since 100.2.0 + * @since 100.1.0 */ class Value extends ConfigValue implements IdentityInterface { @@ -35,7 +35,7 @@ class Value extends ConfigValue implements IdentityInterface /** * @inheritdoc * - * @since 100.2.0 + * @since 100.1.0 */ protected $_cacheTag = [self::CACHE_TAG]; @@ -86,7 +86,7 @@ public function __construct( * Get unique page cache identities * * @return array - * @since 100.2.0 + * @since 100.1.0 */ public function getIdentities() { diff --git a/app/code/Magento/Robots/composer.json b/app/code/Magento/Robots/composer.json index 11bc0596771a1..b06e71147c1e8 100644 --- a/app/code/Magento/Robots/composer.json +++ b/app/code/Magento/Robots/composer.json @@ -6,11 +6,11 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-store": "*" + "magento/framework": "102.0.*", + "magento/module-store": "101.0.*" }, "suggest": { - "magento/module-theme": "*" + "magento/module-theme": "101.0.*" }, "type": "magento2-module", "license": [ @@ -24,5 +24,6 @@ "psr-4": { "Magento\\Robots\\": "" } - } + }, + "version": "101.0.3" } diff --git a/app/code/Magento/Rss/composer.json b/app/code/Magento/Rss/composer.json index 24f0297a21f60..f02be2be55fc9 100644 --- a/app/code/Magento/Rss/composer.json +++ b/app/code/Magento/Rss/composer.json @@ -6,10 +6,10 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-backend": "*", - "magento/module-customer": "*", - "magento/module-store": "*" + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-customer": "102.0.*", + "magento/module-store": "101.0.*" }, "type": "magento2-module", "license": [ @@ -23,5 +23,6 @@ "psr-4": { "Magento\\Rss\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/Rule/composer.json b/app/code/Magento/Rule/composer.json index 21e595b6e3f0d..e05855001f4d5 100644 --- a/app/code/Magento/Rule/composer.json +++ b/app/code/Magento/Rule/composer.json @@ -7,11 +7,11 @@ "require": { "php": "~7.1.3||~7.2.0||~7.3.0", "lib-libxml": "*", - "magento/framework": "*", - "magento/module-backend": "*", - "magento/module-catalog": "*", - "magento/module-eav": "*", - "magento/module-store": "*" + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-eav": "102.0.*", + "magento/module-store": "101.0.*" }, "type": "magento2-module", "license": [ @@ -25,5 +25,6 @@ "psr-4": { "Magento\\Rule\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Items/Grid.php b/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Items/Grid.php index 8a427a30a6c7a..7a3167e88137b 100644 --- a/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Items/Grid.php +++ b/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Items/Grid.php @@ -428,7 +428,7 @@ protected function _getTierPriceInfo($prices) * @param Item $item * @return string * - * @deprecated 100.2.0 + * @deprecated 101.0.0 */ public function getCustomOptions(Item $item) { diff --git a/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Sidebar/Cart.php b/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Sidebar/Cart.php index f2200e1c1a108..0388925f20b1d 100644 --- a/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Sidebar/Cart.php +++ b/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Sidebar/Cart.php @@ -65,6 +65,7 @@ public function getItemCollection() /** * @inheritdoc + * @since 102.0.1 */ public function getItemPrice(Product $product) { diff --git a/app/code/Magento/Sales/Block/Adminhtml/Order/Totalbar.php b/app/code/Magento/Sales/Block/Adminhtml/Order/Totalbar.php index c4ce48d162c2c..33e5250d27d26 100644 --- a/app/code/Magento/Sales/Block/Adminhtml/Order/Totalbar.php +++ b/app/code/Magento/Sales/Block/Adminhtml/Order/Totalbar.php @@ -8,7 +8,7 @@ /** * Adminhtml creditmemo bar * - * @deprecated + * @deprecated 101.0.6 * @api * @author Magento Core Team <core@magentocommerce.com> * @since 100.0.2 diff --git a/app/code/Magento/Sales/Block/Adminhtml/Order/View/Info.php b/app/code/Magento/Sales/Block/Adminhtml/Order/View/Info.php index 598a3e226a879..22f61d3583faa 100644 --- a/app/code/Magento/Sales/Block/Adminhtml/Order/View/Info.php +++ b/app/code/Magento/Sales/Block/Adminhtml/Order/View/Info.php @@ -305,7 +305,7 @@ public function getFormattedAddress(Address $address) /** * @inheritdoc - * @since 100.2.0 + * @since 101.0.0 */ public function getChildHtml($alias = '', $useCache = true) { diff --git a/app/code/Magento/Sales/Block/Order/History.php b/app/code/Magento/Sales/Block/Order/History.php index c06a5d8b24c1e..0a85be4e60431 100644 --- a/app/code/Magento/Sales/Block/Order/History.php +++ b/app/code/Magento/Sales/Block/Order/History.php @@ -158,7 +158,7 @@ public function getViewUrl($order) * * @param object $order * @return string - * @deprecated Action does not exist + * @deprecated 102.0.3 Action does not exist * @SuppressWarnings(PHPMD.UnusedFormalParameter) */ public function getTrackUrl($order) diff --git a/app/code/Magento/Sales/Block/Order/PrintShipment.php b/app/code/Magento/Sales/Block/Order/PrintShipment.php index 0006a38f0f1ce..039bf2c79e78b 100644 --- a/app/code/Magento/Sales/Block/Order/PrintShipment.php +++ b/app/code/Magento/Sales/Block/Order/PrintShipment.php @@ -88,7 +88,7 @@ public function getOrder() * Disable pager for printing page * * @return bool - * @since 100.2.0 + * @since 100.1.9 */ public function isPagerDisplayed() { @@ -99,7 +99,7 @@ public function isPagerDisplayed() * Get order items * * @return \Magento\Framework\DataObject[] - * @since 100.2.0 + * @since 100.1.9 */ public function getItems() { diff --git a/app/code/Magento/Sales/Block/Order/Recent.php b/app/code/Magento/Sales/Block/Order/Recent.php index 79119c1851347..934f1b5efdcdd 100644 --- a/app/code/Magento/Sales/Block/Order/Recent.php +++ b/app/code/Magento/Sales/Block/Order/Recent.php @@ -120,7 +120,7 @@ public function getViewUrl($order) * * @param object $order * @return string - * @deprecated Action does not exist + * @deprecated 102.0.3 Action does not exist * @SuppressWarnings(PHPMD.UnusedFormalParameter) */ public function getTrackUrl($order) diff --git a/app/code/Magento/Sales/Block/Order/View.php b/app/code/Magento/Sales/Block/Order/View.php index 03d1340e0f690..eef13fd47bf94 100644 --- a/app/code/Magento/Sales/Block/Order/View.php +++ b/app/code/Magento/Sales/Block/Order/View.php @@ -29,7 +29,7 @@ class View extends \Magento\Framework\View\Element\Template /** * @var \Magento\Framework\App\Http\Context - * @since 100.2.0 + * @since 101.0.0 */ protected $httpContext; diff --git a/app/code/Magento/Sales/Controller/Adminhtml/Order/AbstractMassAction.php b/app/code/Magento/Sales/Controller/Adminhtml/Order/AbstractMassAction.php index c6b45f282debc..1f75008897102 100644 --- a/app/code/Magento/Sales/Controller/Adminhtml/Order/AbstractMassAction.php +++ b/app/code/Magento/Sales/Controller/Adminhtml/Order/AbstractMassAction.php @@ -14,7 +14,7 @@ /** * Class AbstractMassStatus - * @deprecated 100.2.0 + * @deprecated 101.0.0 * Never extend from this action. Implement mass-action logic in the "execute" method of your controller. */ abstract class AbstractMassAction extends \Magento\Backend\App\Action diff --git a/app/code/Magento/Sales/Controller/Download/DownloadCustomOption.php b/app/code/Magento/Sales/Controller/Download/DownloadCustomOption.php index fc4e238d47c99..069b2783076d9 100644 --- a/app/code/Magento/Sales/Controller/Download/DownloadCustomOption.php +++ b/app/code/Magento/Sales/Controller/Download/DownloadCustomOption.php @@ -33,7 +33,7 @@ class DownloadCustomOption extends \Magento\Framework\App\Action\Action implemen /** * @var \Magento\Framework\Unserialize\Unserialize - * @deprecated 100.2.0 + * @deprecated 101.0.0 */ protected $unserialize; diff --git a/app/code/Magento/Sales/Model/AdminOrder/Create.php b/app/code/Magento/Sales/Model/AdminOrder/Create.php index 01f1fe850b837..651e09a26cfd1 100644 --- a/app/code/Magento/Sales/Model/AdminOrder/Create.php +++ b/app/code/Magento/Sales/Model/AdminOrder/Create.php @@ -1151,7 +1151,7 @@ public function updateQuoteItems($items) * @return array * @throws \Magento\Framework\Exception\LocalizedException * - * @deprecated 100.2.0 + * @deprecated 101.0.0 */ protected function _parseOptions(\Magento\Quote\Model\Quote\Item $item, $additionalOptions) { @@ -1221,7 +1221,7 @@ protected function _parseOptions(\Magento\Quote\Model\Quote\Item $item, $additio * @param array $options * @return $this * - * @deprecated 100.2.0 + * @deprecated 101.0.0 */ protected function _assignOptionsToItem(\Magento\Quote\Model\Quote\Item $item, $options) { diff --git a/app/code/Magento/Sales/Model/Increment.php b/app/code/Magento/Sales/Model/Increment.php index 75ff1ee044a95..813b3dcc40a7a 100644 --- a/app/code/Magento/Sales/Model/Increment.php +++ b/app/code/Magento/Sales/Model/Increment.php @@ -9,7 +9,7 @@ /** * Class Increment - * @deprecated 100.2.0 + * @deprecated 101.0.0 */ class Increment { diff --git a/app/code/Magento/Sales/Model/Order.php b/app/code/Magento/Sales/Model/Order.php index 48deddb2fe5ac..8347c15d64012 100644 --- a/app/code/Magento/Sales/Model/Order.php +++ b/app/code/Magento/Sales/Model/Order.php @@ -190,7 +190,7 @@ class Order extends AbstractModel implements EntityInterface, OrderInterface /** * @var \Magento\Catalog\Api\ProductRepositoryInterface - * @deprecated 100.1.7 Remove unused dependency. + * @deprecated 100.1.0 Remove unused dependency. */ protected $productRepository; @@ -1065,6 +1065,7 @@ public function setState($state) * Retrieve frontend label of order status * * @return string + * @since 102.0.1 */ public function getFrontendStatusLabel() { @@ -1104,7 +1105,7 @@ public function addStatusToHistory($status, $comment = '', $isCustomerNotified = * @param string $comment * @param bool|string $status * @return OrderStatusHistoryInterface - * @deprecated + * @deprecated 101.0.5 * @see addCommentToStatusHistory */ public function addStatusHistoryComment($comment, $status = false) @@ -1121,6 +1122,7 @@ public function addStatusHistoryComment($comment, $status = false) * @param bool|string $status * @param bool $isVisibleOnFront * @return OrderStatusHistoryInterface + * @since 101.0.5 */ public function addCommentToStatusHistory($comment, $status = false, $isVisibleOnFront = false) { diff --git a/app/code/Magento/Sales/Model/Order/Address.php b/app/code/Magento/Sales/Model/Order/Address.php index 9b8f4e79c23fa..0fd4555238ed5 100644 --- a/app/code/Magento/Sales/Model/Order/Address.php +++ b/app/code/Magento/Sales/Model/Order/Address.php @@ -732,6 +732,7 @@ public function setExtensionAttributes(\Magento\Sales\Api\Data\OrderAddressExten /** * @inheritdoc + * @since 102.0.3 */ public function beforeSave() { diff --git a/app/code/Magento/Sales/Model/Order/AddressRepository.php b/app/code/Magento/Sales/Model/Order/AddressRepository.php index deeeb16b7714c..1a700826dbc3f 100644 --- a/app/code/Magento/Sales/Model/Order/AddressRepository.php +++ b/app/code/Magento/Sales/Model/Order/AddressRepository.php @@ -240,7 +240,7 @@ public function create() /** * Retrieve collection processor * - * @deprecated 100.2.0 + * @deprecated 101.0.0 * @return CollectionProcessorInterface */ private function getCollectionProcessor() diff --git a/app/code/Magento/Sales/Model/Order/Config.php b/app/code/Magento/Sales/Model/Order/Config.php index 92681f3ecf181..32b9298be2b5f 100644 --- a/app/code/Magento/Sales/Model/Order/Config.php +++ b/app/code/Magento/Sales/Model/Order/Config.php @@ -157,6 +157,7 @@ public function getStatusLabel($code) * * @param string|null $code * @return string|null + * @since 102.0.1 */ public function getStatusFrontendLabel(?string $code): ?string { @@ -307,7 +308,7 @@ protected function _getStatuses($visibility) * @param string $state * @param string $status * @return \Magento\Framework\Phrase|string - * @since 100.2.0 + * @since 101.0.0 */ public function getStateLabelByStateAndStatus($state, $status) { diff --git a/app/code/Magento/Sales/Model/Order/CreditmemoFactory.php b/app/code/Magento/Sales/Model/Order/CreditmemoFactory.php index 73afd0a06f710..d838716d2c383 100644 --- a/app/code/Magento/Sales/Model/Order/CreditmemoFactory.php +++ b/app/code/Magento/Sales/Model/Order/CreditmemoFactory.php @@ -27,7 +27,7 @@ class CreditmemoFactory /** * @var \Magento\Framework\Unserialize\Unserialize - * @deprecated 100.2.0 + * @deprecated 101.0.0 */ protected $unserialize; diff --git a/app/code/Magento/Sales/Model/Order/CreditmemoRepository.php b/app/code/Magento/Sales/Model/Order/CreditmemoRepository.php index ce4a0aa5b3e3a..269ee313c09df 100644 --- a/app/code/Magento/Sales/Model/Order/CreditmemoRepository.php +++ b/app/code/Magento/Sales/Model/Order/CreditmemoRepository.php @@ -151,7 +151,7 @@ public function save(\Magento\Sales\Api\Data\CreditmemoInterface $entity) /** * Retrieve collection processor * - * @deprecated 100.2.0 + * @deprecated 101.0.0 * @return CollectionProcessorInterface */ private function getCollectionProcessor() diff --git a/app/code/Magento/Sales/Model/Order/CustomerManagement.php b/app/code/Magento/Sales/Model/Order/CustomerManagement.php index ae3f940dbb2ba..50c7f88af546b 100644 --- a/app/code/Magento/Sales/Model/Order/CustomerManagement.php +++ b/app/code/Magento/Sales/Model/Order/CustomerManagement.php @@ -27,17 +27,17 @@ class CustomerManagement implements \Magento\Sales\Api\OrderCustomerManagementIn protected $accountManagement; /** - * @deprecated + * @deprecated 101.0.4 */ protected $customerFactory; /** - * @deprecated + * @deprecated 101.0.4 */ protected $addressFactory; /** - * @deprecated + * @deprecated 101.0.4 */ protected $regionFactory; @@ -47,7 +47,7 @@ class CustomerManagement implements \Magento\Sales\Api\OrderCustomerManagementIn protected $orderRepository; /** - * @deprecated + * @deprecated 101.0.4 */ protected $objectCopyService; diff --git a/app/code/Magento/Sales/Model/Order/Email/Sender/CreditmemoCommentSender.php b/app/code/Magento/Sales/Model/Order/Email/Sender/CreditmemoCommentSender.php index 09360d0685cf3..930791532539f 100644 --- a/app/code/Magento/Sales/Model/Order/Email/Sender/CreditmemoCommentSender.php +++ b/app/code/Magento/Sales/Model/Order/Email/Sender/CreditmemoCommentSender.php @@ -73,6 +73,10 @@ public function send(Creditmemo $creditmemo, $notify = true, $comment = '') 'store' => $order->getStore(), 'formattedShippingAddress' => $this->getFormattedShippingAddress($order), 'formattedBillingAddress' => $this->getFormattedBillingAddress($order), + 'order_data' => [ + 'customer_name' => $order->getCustomerName(), + 'frontend_status_label' => $order->getFrontendStatusLabel() + ] ]; $transportObject = new DataObject($transport); diff --git a/app/code/Magento/Sales/Model/Order/Email/Sender/CreditmemoSender.php b/app/code/Magento/Sales/Model/Order/Email/Sender/CreditmemoSender.php index 3cbd063641366..e6d528fb93a34 100644 --- a/app/code/Magento/Sales/Model/Order/Email/Sender/CreditmemoSender.php +++ b/app/code/Magento/Sales/Model/Order/Email/Sender/CreditmemoSender.php @@ -115,6 +115,12 @@ public function send(Creditmemo $creditmemo, $forceSyncMode = false) 'store' => $order->getStore(), 'formattedShippingAddress' => $this->getFormattedShippingAddress($order), 'formattedBillingAddress' => $this->getFormattedBillingAddress($order), + 'order_data' => [ + 'customer_name' => $order->getCustomerName(), + 'is_not_virtual' => $order->getIsNotVirtual(), + 'email_customer_note' => $order->getEmailCustomerNote(), + 'frontend_status_label' => $order->getFrontendStatusLabel() + ] ]; $transportObject = new DataObject($transport); diff --git a/app/code/Magento/Sales/Model/Order/Email/Sender/InvoiceCommentSender.php b/app/code/Magento/Sales/Model/Order/Email/Sender/InvoiceCommentSender.php index 32855f78c1571..9441f0e842925 100644 --- a/app/code/Magento/Sales/Model/Order/Email/Sender/InvoiceCommentSender.php +++ b/app/code/Magento/Sales/Model/Order/Email/Sender/InvoiceCommentSender.php @@ -73,6 +73,10 @@ public function send(Invoice $invoice, $notify = true, $comment = '') 'store' => $order->getStore(), 'formattedShippingAddress' => $this->getFormattedShippingAddress($order), 'formattedBillingAddress' => $this->getFormattedBillingAddress($order), + 'order_data' => [ + 'customer_name' => $order->getCustomerName(), + 'frontend_status_label' => $order->getFrontendStatusLabel() + ] ]; $transportObject = new DataObject($transport); diff --git a/app/code/Magento/Sales/Model/Order/Email/Sender/InvoiceSender.php b/app/code/Magento/Sales/Model/Order/Email/Sender/InvoiceSender.php index 3ac5342de74a6..79133af6d6fb8 100644 --- a/app/code/Magento/Sales/Model/Order/Email/Sender/InvoiceSender.php +++ b/app/code/Magento/Sales/Model/Order/Email/Sender/InvoiceSender.php @@ -114,7 +114,13 @@ public function send(Invoice $invoice, $forceSyncMode = false) 'payment_html' => $this->getPaymentHtml($order), 'store' => $order->getStore(), 'formattedShippingAddress' => $this->getFormattedShippingAddress($order), - 'formattedBillingAddress' => $this->getFormattedBillingAddress($order) + 'formattedBillingAddress' => $this->getFormattedBillingAddress($order), + 'order_data' => [ + 'customer_name' => $order->getCustomerName(), + 'is_not_virtual' => $order->getIsNotVirtual(), + 'email_customer_note' => $order->getEmailCustomerNote(), + 'frontend_status_label' => $order->getFrontendStatusLabel() + ] ]; $transportObject = new DataObject($transport); diff --git a/app/code/Magento/Sales/Model/Order/Email/Sender/OrderCommentSender.php b/app/code/Magento/Sales/Model/Order/Email/Sender/OrderCommentSender.php index e162e01bd7555..4d37fc1b7769a 100644 --- a/app/code/Magento/Sales/Model/Order/Email/Sender/OrderCommentSender.php +++ b/app/code/Magento/Sales/Model/Order/Email/Sender/OrderCommentSender.php @@ -70,6 +70,10 @@ public function send(Order $order, $notify = true, $comment = '') 'store' => $order->getStore(), 'formattedShippingAddress' => $this->getFormattedShippingAddress($order), 'formattedBillingAddress' => $this->getFormattedBillingAddress($order), + 'order_data' => [ + 'customer_name' => $order->getCustomerName(), + 'frontend_status_label' => $order->getFrontendStatusLabel() + ] ]; $transportObject = new DataObject($transport); diff --git a/app/code/Magento/Sales/Model/Order/Email/Sender/OrderSender.php b/app/code/Magento/Sales/Model/Order/Email/Sender/OrderSender.php index bfbe1fb4fd7ff..c67804475cd65 100644 --- a/app/code/Magento/Sales/Model/Order/Email/Sender/OrderSender.php +++ b/app/code/Magento/Sales/Model/Order/Email/Sender/OrderSender.php @@ -130,6 +130,13 @@ protected function prepareTemplate(Order $order) 'store' => $order->getStore(), 'formattedShippingAddress' => $this->getFormattedShippingAddress($order), 'formattedBillingAddress' => $this->getFormattedBillingAddress($order), + 'created_at_formatted' => $order->getCreatedAtFormatted(2), + 'order_data' => [ + 'customer_name' => $order->getCustomerName(), + 'is_not_virtual' => $order->getIsNotVirtual(), + 'email_customer_note' => $order->getEmailCustomerNote(), + 'frontend_status_label' => $order->getFrontendStatusLabel() + ] ]; $transportObject = new DataObject($transport); diff --git a/app/code/Magento/Sales/Model/Order/Email/Sender/ShipmentCommentSender.php b/app/code/Magento/Sales/Model/Order/Email/Sender/ShipmentCommentSender.php index b0b4907b96e70..ad305c8b7199f 100644 --- a/app/code/Magento/Sales/Model/Order/Email/Sender/ShipmentCommentSender.php +++ b/app/code/Magento/Sales/Model/Order/Email/Sender/ShipmentCommentSender.php @@ -73,6 +73,10 @@ public function send(Shipment $shipment, $notify = true, $comment = '') 'store' => $order->getStore(), 'formattedShippingAddress' => $this->getFormattedShippingAddress($order), 'formattedBillingAddress' => $this->getFormattedBillingAddress($order), + 'order_data' => [ + 'customer_name' => $order->getCustomerName(), + 'frontend_status_label' => $order->getFrontendStatusLabel() + ] ]; $transportObject = new DataObject($transport); diff --git a/app/code/Magento/Sales/Model/Order/Email/Sender/ShipmentSender.php b/app/code/Magento/Sales/Model/Order/Email/Sender/ShipmentSender.php index df28dec701290..4dbc10308f3be 100644 --- a/app/code/Magento/Sales/Model/Order/Email/Sender/ShipmentSender.php +++ b/app/code/Magento/Sales/Model/Order/Email/Sender/ShipmentSender.php @@ -114,7 +114,13 @@ public function send(Shipment $shipment, $forceSyncMode = false) 'payment_html' => $this->getPaymentHtml($order), 'store' => $order->getStore(), 'formattedShippingAddress' => $this->getFormattedShippingAddress($order), - 'formattedBillingAddress' => $this->getFormattedBillingAddress($order) + 'formattedBillingAddress' => $this->getFormattedBillingAddress($order), + 'order_data' => [ + 'customer_name' => $order->getCustomerName(), + 'is_not_virtual' => $order->getIsNotVirtual(), + 'email_customer_note' => $order->getEmailCustomerNote(), + 'frontend_status_label' => $order->getFrontendStatusLabel() + ] ]; $transportObject = new DataObject($transport); diff --git a/app/code/Magento/Sales/Model/Order/InvoiceRepository.php b/app/code/Magento/Sales/Model/Order/InvoiceRepository.php index 2244a86260c2f..ac1a782367ab3 100644 --- a/app/code/Magento/Sales/Model/Order/InvoiceRepository.php +++ b/app/code/Magento/Sales/Model/Order/InvoiceRepository.php @@ -145,7 +145,7 @@ public function save(\Magento\Sales\Api\Data\InvoiceInterface $entity) /** * Retrieve collection processor * - * @deprecated 100.2.0 + * @deprecated 101.0.0 * @return CollectionProcessorInterface */ private function getCollectionProcessor() diff --git a/app/code/Magento/Sales/Model/Order/Item.php b/app/code/Magento/Sales/Model/Order/Item.php index a0eff45179ac8..67eec21f482c1 100644 --- a/app/code/Magento/Sales/Model/Order/Item.php +++ b/app/code/Magento/Sales/Model/Order/Item.php @@ -2399,7 +2399,7 @@ public function setExtensionAttributes(\Magento\Sales\Api\Data\OrderItemExtensio * Check if it is possible to process item after cancellation * * @return bool - * @since 100.2.0 + * @since 101.0.0 */ public function isProcessingAvailable() { diff --git a/app/code/Magento/Sales/Model/Order/Payment.php b/app/code/Magento/Sales/Model/Order/Payment.php index 5d1d3f0d040a7..035e1cc050ea5 100644 --- a/app/code/Magento/Sales/Model/Order/Payment.php +++ b/app/code/Magento/Sales/Model/Order/Payment.php @@ -1480,7 +1480,7 @@ protected function _getInvoiceForTransactionId($transactionId) /** * Get order state resolver instance. * - * @deprecated 100.2.0 + * @deprecated 101.0.0 * @return OrderStateResolverInterface */ private function getOrderStateResolver() diff --git a/app/code/Magento/Sales/Model/Order/Payment/Repository.php b/app/code/Magento/Sales/Model/Order/Payment/Repository.php index 4353f6b1cc391..27686ffb46c9d 100644 --- a/app/code/Magento/Sales/Model/Order/Payment/Repository.php +++ b/app/code/Magento/Sales/Model/Order/Payment/Repository.php @@ -131,7 +131,7 @@ public function create() /** * Retrieve collection processor * - * @deprecated 100.2.0 + * @deprecated 101.0.0 * @return CollectionProcessorInterface */ private function getCollectionProcessor() diff --git a/app/code/Magento/Sales/Model/Order/Payment/State/AuthorizeCommand.php b/app/code/Magento/Sales/Model/Order/Payment/State/AuthorizeCommand.php index 98cf1babdc92d..91fbbef606b82 100644 --- a/app/code/Magento/Sales/Model/Order/Payment/State/AuthorizeCommand.php +++ b/app/code/Magento/Sales/Model/Order/Payment/State/AuthorizeCommand.php @@ -61,7 +61,7 @@ public function execute(OrderPaymentInterface $payment, $amount, OrderInterface } /** - * @deprecated 100.2.0 Replaced by a StatusResolver class call. + * @deprecated 100.1.9 Replaced by a StatusResolver class call. * * @param Order $order * @param string $status diff --git a/app/code/Magento/Sales/Model/Order/Payment/State/CaptureCommand.php b/app/code/Magento/Sales/Model/Order/Payment/State/CaptureCommand.php index 0e4135a1bf814..e39704ba1ddc1 100644 --- a/app/code/Magento/Sales/Model/Order/Payment/State/CaptureCommand.php +++ b/app/code/Magento/Sales/Model/Order/Payment/State/CaptureCommand.php @@ -61,7 +61,7 @@ public function execute(OrderPaymentInterface $payment, $amount, OrderInterface } /** - * @deprecated 100.2.0 Replaced by a StatusResolver class call. + * @deprecated 100.1.9 Replaced by a StatusResolver class call. * * @param Order $order * @param string $status diff --git a/app/code/Magento/Sales/Model/Order/Payment/State/OrderCommand.php b/app/code/Magento/Sales/Model/Order/Payment/State/OrderCommand.php index 2a7e7145f6886..d6acd82613c0a 100644 --- a/app/code/Magento/Sales/Model/Order/Payment/State/OrderCommand.php +++ b/app/code/Magento/Sales/Model/Order/Payment/State/OrderCommand.php @@ -61,7 +61,7 @@ public function execute(OrderPaymentInterface $payment, $amount, OrderInterface } /** - * @deprecated 100.2.0 Replaced by a StatusResolver class call. + * @deprecated 100.1.9 Replaced by a StatusResolver class call. * * @param Order $order * @param string $status diff --git a/app/code/Magento/Sales/Model/Order/Payment/State/RegisterCaptureNotificationCommand.php b/app/code/Magento/Sales/Model/Order/Payment/State/RegisterCaptureNotificationCommand.php index d38e58d7341c1..f54b2d0b88e28 100644 --- a/app/code/Magento/Sales/Model/Order/Payment/State/RegisterCaptureNotificationCommand.php +++ b/app/code/Magento/Sales/Model/Order/Payment/State/RegisterCaptureNotificationCommand.php @@ -61,7 +61,7 @@ public function execute(OrderPaymentInterface $payment, $amount, OrderInterface } /** - * @deprecated 100.2.0 Replaced by a StatusResolver class call. + * @deprecated 100.1.9 Replaced by a StatusResolver class call. * * @param Order $order * @param string $status diff --git a/app/code/Magento/Sales/Model/Order/Payment/Transaction/Repository.php b/app/code/Magento/Sales/Model/Order/Payment/Transaction/Repository.php index a602fe54363ed..30af4e07a42bf 100644 --- a/app/code/Magento/Sales/Model/Order/Payment/Transaction/Repository.php +++ b/app/code/Magento/Sales/Model/Order/Payment/Transaction/Repository.php @@ -233,7 +233,7 @@ public function create() /** * Retrieve collection processor * - * @deprecated 100.2.0 + * @deprecated 101.0.0 * @return CollectionProcessorInterface */ private function getCollectionProcessor() diff --git a/app/code/Magento/Sales/Model/Order/ProductOption.php b/app/code/Magento/Sales/Model/Order/ProductOption.php index dc9ec42e27e60..f4372ccf042ab 100644 --- a/app/code/Magento/Sales/Model/Order/ProductOption.php +++ b/app/code/Magento/Sales/Model/Order/ProductOption.php @@ -17,6 +17,7 @@ * Adds product option to the order item according to product options processors pool. * * @api + * @since 102.0.1 */ class ProductOption { @@ -54,6 +55,7 @@ public function __construct( * Adds product option to the order item. * * @param OrderItemInterface $orderItem + * @since 102.0.1 */ public function add(OrderItemInterface $orderItem): void { diff --git a/app/code/Magento/Sales/Model/Order/Reorder/OrderedProductAvailabilityChecker.php b/app/code/Magento/Sales/Model/Order/Reorder/OrderedProductAvailabilityChecker.php index dd70c6b5481df..e4f2ff0d57035 100644 --- a/app/code/Magento/Sales/Model/Order/Reorder/OrderedProductAvailabilityChecker.php +++ b/app/code/Magento/Sales/Model/Order/Reorder/OrderedProductAvailabilityChecker.php @@ -16,7 +16,7 @@ * of the array $productAvailabilityChecks(constructor argument). A product type should be a key for the new element. * * @api - * @since 100.2.0 + * @since 101.0.0 */ class OrderedProductAvailabilityChecker implements OrderedProductAvailabilityCheckerInterface { @@ -36,7 +36,7 @@ public function __construct(array $productAvailabilityChecks) /** * @inheritdoc - * @since 100.2.0 + * @since 101.0.0 */ public function isAvailable(Item $item) { diff --git a/app/code/Magento/Sales/Model/Order/Reorder/OrderedProductAvailabilityCheckerInterface.php b/app/code/Magento/Sales/Model/Order/Reorder/OrderedProductAvailabilityCheckerInterface.php index 989bd482ed4e8..59f7dfc63b095 100644 --- a/app/code/Magento/Sales/Model/Order/Reorder/OrderedProductAvailabilityCheckerInterface.php +++ b/app/code/Magento/Sales/Model/Order/Reorder/OrderedProductAvailabilityCheckerInterface.php @@ -9,7 +9,7 @@ /** * @api - * @since 100.2.0 + * @since 101.0.0 */ interface OrderedProductAvailabilityCheckerInterface { @@ -19,7 +19,7 @@ interface OrderedProductAvailabilityCheckerInterface * * @param Item $item * @return bool - * @since 100.2.0 + * @since 101.0.0 */ public function isAvailable(Item $item); } diff --git a/app/code/Magento/Sales/Model/Order/ShipmentFactory.php b/app/code/Magento/Sales/Model/Order/ShipmentFactory.php index 21b42abeb293d..3cd318ea67adb 100644 --- a/app/code/Magento/Sales/Model/Order/ShipmentFactory.php +++ b/app/code/Magento/Sales/Model/Order/ShipmentFactory.php @@ -12,6 +12,7 @@ * Factory class for @see \Magento\Sales\Api\Data\ShipmentInterface * * @api + * @since 100.0.2 */ class ShipmentFactory { diff --git a/app/code/Magento/Sales/Model/Order/ShipmentRepository.php b/app/code/Magento/Sales/Model/Order/ShipmentRepository.php index 0b86bec895b75..ad73b22e94555 100644 --- a/app/code/Magento/Sales/Model/Order/ShipmentRepository.php +++ b/app/code/Magento/Sales/Model/Order/ShipmentRepository.php @@ -166,7 +166,7 @@ public function create() /** * Retrieve collection processor * - * @deprecated 100.2.0 + * @deprecated 101.0.0 * @return CollectionProcessorInterface */ private function getCollectionProcessor() diff --git a/app/code/Magento/Sales/Model/OrderRepository.php b/app/code/Magento/Sales/Model/OrderRepository.php index 79548cb190754..2de53546d2542 100644 --- a/app/code/Magento/Sales/Model/OrderRepository.php +++ b/app/code/Magento/Sales/Model/OrderRepository.php @@ -312,7 +312,7 @@ private function getShippingAssignmentBuilderDependency() * @param \Magento\Framework\Api\Search\FilterGroup $filterGroup * @param \Magento\Sales\Api\Data\OrderSearchResultInterface $searchResult * @return void - * @deprecated 100.2.0 + * @deprecated 101.0.0 * @throws \Magento\Framework\Exception\InputException */ protected function addFilterGroupToCollection( diff --git a/app/code/Magento/Sales/Model/ResourceModel/AbstractGrid.php b/app/code/Magento/Sales/Model/ResourceModel/AbstractGrid.php index 25c15449a9fb4..444fc589748ab 100644 --- a/app/code/Magento/Sales/Model/ResourceModel/AbstractGrid.php +++ b/app/code/Magento/Sales/Model/ResourceModel/AbstractGrid.php @@ -90,7 +90,7 @@ public function purge($value, $field = null) * * @param string $default * @return string - * @deprecated 100.2.0 this method is not used in abstract model but only in single child so + * @deprecated 101.0.0 this method is not used in abstract model but only in single child so * this deprecation is a part of cleaning abstract classes. * @see \Magento\Sales\Model\ResourceModel\Provider\UpdatedIdListProvider */ diff --git a/app/code/Magento/Sales/Model/Service/PaymentFailuresService.php b/app/code/Magento/Sales/Model/Service/PaymentFailuresService.php index a698276332af8..a05ed2be9c82c 100644 --- a/app/code/Magento/Sales/Model/Service/PaymentFailuresService.php +++ b/app/code/Magento/Sales/Model/Service/PaymentFailuresService.php @@ -130,10 +130,12 @@ public function handle( foreach ($sendTo as $recipient) { $transport = $this->transportBuilder ->setTemplateIdentifier($template) - ->setTemplateOptions([ - 'area' => FrontNameResolver::AREA_CODE, - 'store' => Store::DEFAULT_STORE_ID, - ]) + ->setTemplateOptions( + [ + 'area' => FrontNameResolver::AREA_CODE, + 'store' => Store::DEFAULT_STORE_ID, + ] + ) ->setTemplateVars($this->getTemplateVars($quote, $message, $checkoutType)) ->setFrom($this->getSendFrom($quote)) ->addTo($recipient['email'], $recipient['name']) @@ -170,6 +172,8 @@ private function getTemplateVars(Quote $quote, string $message, string $checkout 'customerEmail' => $quote->getBillingAddress()->getEmail(), 'billingAddress' => $quote->getBillingAddress(), 'shippingAddress' => $quote->getShippingAddress(), + 'billingAddressHtml' => $quote->getBillingAddress()->format('html'), + 'shippingAddressHtml' => $quote->getShippingAddress()->format('html'), 'shippingMethod' => $this->getConfigValue( 'carriers/' . $this->getShippingMethod($quote) . '/title', $quote diff --git a/app/code/Magento/Sales/Test/Unit/Model/Order/Email/Sender/AbstractSenderTest.php b/app/code/Magento/Sales/Test/Unit/Model/Order/Email/Sender/AbstractSenderTest.php index 2297d6aa711cf..2f4e0e927db2c 100644 --- a/app/code/Magento/Sales/Test/Unit/Model/Order/Email/Sender/AbstractSenderTest.php +++ b/app/code/Magento/Sales/Test/Unit/Model/Order/Email/Sender/AbstractSenderTest.php @@ -92,12 +92,16 @@ public function stepMockSetup() $this->storeMock = $this->createPartialMock(\Magento\Store\Model\Store::class, ['getStoreId', '__wakeup']); - $this->orderMock = $this->createPartialMock(\Magento\Sales\Model\Order::class, [ + $this->orderMock = $this->createPartialMock( + \Magento\Sales\Model\Order::class, + [ 'getStore', 'getBillingAddress', 'getPayment', '__wakeup', 'getCustomerIsGuest', 'getCustomerName', 'getCustomerEmail', 'getShippingAddress', 'setSendEmail', - 'setEmailSent' - ]); + 'setEmailSent', 'getCreatedAtFormatted', 'getIsNotVirtual', + 'getEmailCustomerNote', 'getFrontendStatusLabel' + ] + ); $this->orderMock->expects($this->any()) ->method('getStore') ->will($this->returnValue($this->storeMock)); diff --git a/app/code/Magento/Sales/Test/Unit/Model/Order/Email/Sender/CreditmemoCommentSenderTest.php b/app/code/Magento/Sales/Test/Unit/Model/Order/Email/Sender/CreditmemoCommentSenderTest.php index 3b97c8451d32c..40e7ce4568d20 100644 --- a/app/code/Magento/Sales/Test/Unit/Model/Order/Email/Sender/CreditmemoCommentSenderTest.php +++ b/app/code/Magento/Sales/Test/Unit/Model/Order/Email/Sender/CreditmemoCommentSenderTest.php @@ -59,6 +59,16 @@ public function testSendVirtualOrder() { $this->orderMock->setData(\Magento\Sales\Api\Data\OrderInterface::IS_VIRTUAL, true); $billingAddress = $this->addressMock; + $customerName = 'test customer'; + $frontendStatusLabel = 'Complete'; + + $this->orderMock->expects($this->any()) + ->method('getCustomerName') + ->willReturn($customerName); + $this->orderMock->expects($this->once()) + ->method('getFrontendStatusLabel') + ->willReturn($frontendStatusLabel); + $this->templateContainerMock->expects($this->once()) ->method('setTemplateVars') ->with( @@ -70,7 +80,11 @@ public function testSendVirtualOrder() 'billing' => $billingAddress, 'store' => $this->storeMock, 'formattedShippingAddress' => null, - 'formattedBillingAddress' => 1 + 'formattedBillingAddress' => 1, + 'order_data' => [ + 'customer_name' => $customerName, + 'frontend_status_label' => $frontendStatusLabel + ] ] ) ); @@ -83,6 +97,15 @@ public function testSendTrueWithCustomerCopy() { $billingAddress = $this->addressMock; $comment = 'comment_test'; + $customerName = 'test customer'; + $frontendStatusLabel = 'Complete'; + + $this->orderMock->expects($this->any()) + ->method('getCustomerName') + ->willReturn($customerName); + $this->orderMock->expects($this->once()) + ->method('getFrontendStatusLabel') + ->willReturn($frontendStatusLabel); $this->orderMock->expects($this->once()) ->method('getCustomerIsGuest') @@ -102,7 +125,11 @@ public function testSendTrueWithCustomerCopy() 'billing' => $billingAddress, 'store' => $this->storeMock, 'formattedShippingAddress' => 1, - 'formattedBillingAddress' => 1 + 'formattedBillingAddress' => 1, + 'order_data' => [ + 'customer_name' => $customerName, + 'frontend_status_label' => $frontendStatusLabel + ] ] ) ); @@ -115,6 +142,15 @@ public function testSendTrueWithoutCustomerCopy() { $billingAddress = $this->addressMock; $comment = 'comment_test'; + $customerName = 'test customer'; + $frontendStatusLabel = 'Complete'; + + $this->orderMock->expects($this->any()) + ->method('getCustomerName') + ->willReturn($customerName); + $this->orderMock->expects($this->once()) + ->method('getFrontendStatusLabel') + ->willReturn($frontendStatusLabel); $this->orderMock->expects($this->once()) ->method('getCustomerIsGuest') @@ -134,7 +170,11 @@ public function testSendTrueWithoutCustomerCopy() 'comment' => $comment, 'store' => $this->storeMock, 'formattedShippingAddress' => 1, - 'formattedBillingAddress' => 1 + 'formattedBillingAddress' => 1, + 'order_data' => [ + 'customer_name' => $customerName, + 'frontend_status_label' => $frontendStatusLabel + ] ] ) ); diff --git a/app/code/Magento/Sales/Test/Unit/Model/Order/Email/Sender/CreditmemoSenderTest.php b/app/code/Magento/Sales/Test/Unit/Model/Order/Email/Sender/CreditmemoSenderTest.php index 1f074d7262f4d..40d8b573209d0 100644 --- a/app/code/Magento/Sales/Test/Unit/Model/Order/Email/Sender/CreditmemoSenderTest.php +++ b/app/code/Magento/Sales/Test/Unit/Model/Order/Email/Sender/CreditmemoSenderTest.php @@ -90,6 +90,9 @@ public function testSend($configValue, $forceSyncMode, $customerNoteNotify, $ema $comment = 'comment_test'; $address = 'address_test'; $configPath = 'sales_email/general/async_sending'; + $customerName = 'test customer'; + $frontendStatusLabel = 'Processing'; + $isNotVirtual = true; $this->creditmemoMock->expects($this->once()) ->method('setSendEmail') @@ -118,6 +121,22 @@ public function testSend($configValue, $forceSyncMode, $customerNoteNotify, $ema ->method('getCustomerNote') ->willReturn($comment); + $this->orderMock->expects($this->any()) + ->method('getCustomerName') + ->willReturn($customerName); + + $this->orderMock->expects($this->once()) + ->method('getIsNotVirtual') + ->willReturn($isNotVirtual); + + $this->orderMock->expects($this->once()) + ->method('getEmailCustomerNote') + ->willReturn(''); + + $this->orderMock->expects($this->once()) + ->method('getFrontendStatusLabel') + ->willReturn($frontendStatusLabel); + $this->templateContainerMock->expects($this->once()) ->method('setTemplateVars') ->with( @@ -129,7 +148,13 @@ public function testSend($configValue, $forceSyncMode, $customerNoteNotify, $ema 'payment_html' => 'payment', 'store' => $this->storeMock, 'formattedShippingAddress' => $address, - 'formattedBillingAddress' => $address + 'formattedBillingAddress' => $address, + 'order_data' => [ + 'customer_name' => $customerName, + 'is_not_virtual' => $isNotVirtual, + 'email_customer_note' => '', + 'frontend_status_label' => $frontendStatusLabel + ] ] ); @@ -207,9 +232,28 @@ public function sendDataProvider() public function testSendVirtualOrder($isVirtualOrder, $formatCallCount, $expectedShippingAddress) { $billingAddress = 'address_test'; + $customerName = 'test customer'; + $frontendStatusLabel = 'Complete'; + $isNotVirtual = false; $this->orderMock->setData(\Magento\Sales\Api\Data\OrderInterface::IS_VIRTUAL, $isVirtualOrder); + $this->orderMock->expects($this->any()) + ->method('getCustomerName') + ->willReturn($customerName); + + $this->orderMock->expects($this->once()) + ->method('getIsNotVirtual') + ->willReturn($isNotVirtual); + + $this->orderMock->expects($this->once()) + ->method('getEmailCustomerNote') + ->willReturn(''); + + $this->orderMock->expects($this->once()) + ->method('getFrontendStatusLabel') + ->willReturn($frontendStatusLabel); + $this->creditmemoMock->expects($this->once()) ->method('setSendEmail') ->with(false); @@ -243,7 +287,14 @@ public function testSendVirtualOrder($isVirtualOrder, $formatCallCount, $expecte 'payment_html' => 'payment', 'store' => $this->storeMock, 'formattedShippingAddress' => $expectedShippingAddress, - 'formattedBillingAddress' => $billingAddress + 'formattedBillingAddress' => $billingAddress, + 'order_data' => [ + 'customer_name' => $customerName, + 'is_not_virtual' => $isNotVirtual, + 'email_customer_note' => '', + 'frontend_status_label' => $frontendStatusLabel + ] + ] ); diff --git a/app/code/Magento/Sales/Test/Unit/Model/Order/Email/Sender/InvoiceCommentSenderTest.php b/app/code/Magento/Sales/Test/Unit/Model/Order/Email/Sender/InvoiceCommentSenderTest.php index 3e29bf04e358d..f0a05586cd972 100644 --- a/app/code/Magento/Sales/Test/Unit/Model/Order/Email/Sender/InvoiceCommentSenderTest.php +++ b/app/code/Magento/Sales/Test/Unit/Model/Order/Email/Sender/InvoiceCommentSenderTest.php @@ -63,9 +63,20 @@ public function testSendTrueWithCustomerCopy() $billingAddress = $this->addressMock; $this->stepAddressFormat($billingAddress); $comment = 'comment_test'; + $customerName = 'Test Customer'; + $frontendStatusLabel = 'Processing'; $this->orderMock->expects($this->once()) ->method('getCustomerIsGuest') ->will($this->returnValue(false)); + + $this->orderMock->expects($this->any()) + ->method('getCustomerName') + ->willReturn($customerName); + + $this->orderMock->expects($this->any()) + ->method('getFrontendStatusLabel') + ->willReturn($frontendStatusLabel); + $this->identityContainerMock->expects($this->once()) ->method('isEnabled') ->will($this->returnValue(true)); @@ -80,7 +91,11 @@ public function testSendTrueWithCustomerCopy() 'billing' => $billingAddress, 'store' => $this->storeMock, 'formattedShippingAddress' => 1, - 'formattedBillingAddress' => 1 + 'formattedBillingAddress' => 1, + 'order_data' => [ + 'customer_name' => $customerName, + 'frontend_status_label' => $frontendStatusLabel + ] ] ) ); @@ -93,12 +108,22 @@ public function testSendTrueWithCustomerCopy() public function testSendTrueWithoutCustomerCopy() { $billingAddress = $this->addressMock; + $customerName = 'Test Customer'; + $frontendStatusLabel = 'Processing'; $this->stepAddressFormat($billingAddress); $comment = 'comment_test'; $this->orderMock->expects($this->once()) ->method('getCustomerIsGuest') ->will($this->returnValue(false)); + $this->orderMock->expects($this->any()) + ->method('getCustomerName') + ->willReturn($customerName); + + $this->orderMock->expects($this->any()) + ->method('getFrontendStatusLabel') + ->willReturn($frontendStatusLabel); + $this->identityContainerMock->expects($this->once()) ->method('isEnabled') ->will($this->returnValue(true)); @@ -113,7 +138,11 @@ public function testSendTrueWithoutCustomerCopy() 'comment' => $comment, 'store' => $this->storeMock, 'formattedShippingAddress' => 1, - 'formattedBillingAddress' => 1 + 'formattedBillingAddress' => 1, + 'order_data' => [ + 'customer_name' => $customerName, + 'frontend_status_label' => $frontendStatusLabel + ] ] ) ); @@ -127,6 +156,16 @@ public function testSendVirtualOrder() $isVirtualOrder = true; $this->orderMock->setData(\Magento\Sales\Api\Data\OrderInterface::IS_VIRTUAL, $isVirtualOrder); $this->stepAddressFormat($this->addressMock, $isVirtualOrder); + $customerName = 'Test Customer'; + $frontendStatusLabel = 'Complete'; + + $this->orderMock->expects($this->any()) + ->method('getCustomerName') + ->willReturn($customerName); + + $this->orderMock->expects($this->any()) + ->method('getFrontendStatusLabel') + ->willReturn($frontendStatusLabel); $this->identityContainerMock->expects($this->once()) ->method('isEnabled') @@ -142,7 +181,11 @@ public function testSendVirtualOrder() 'comment' => '', 'store' => $this->storeMock, 'formattedShippingAddress' => null, - 'formattedBillingAddress' => 1 + 'formattedBillingAddress' => 1, + 'order_data' => [ + 'customer_name' => $customerName, + 'frontend_status_label' => $frontendStatusLabel + ] ] ) ); diff --git a/app/code/Magento/Sales/Test/Unit/Model/Order/Email/Sender/InvoiceSenderTest.php b/app/code/Magento/Sales/Test/Unit/Model/Order/Email/Sender/InvoiceSenderTest.php index d1aa5af53da4d..7546fcf0cee75 100644 --- a/app/code/Magento/Sales/Test/Unit/Model/Order/Email/Sender/InvoiceSenderTest.php +++ b/app/code/Magento/Sales/Test/Unit/Model/Order/Email/Sender/InvoiceSenderTest.php @@ -90,6 +90,9 @@ public function testSend($configValue, $forceSyncMode, $customerNoteNotify, $ema $comment = 'comment_test'; $address = 'address_test'; $configPath = 'sales_email/general/async_sending'; + $customerName = 'Test Customer'; + $isNotVirtual = true; + $frontendStatusLabel = 'Processing'; $this->invoiceMock->expects($this->once()) ->method('setSendEmail') @@ -116,6 +119,22 @@ public function testSend($configValue, $forceSyncMode, $customerNoteNotify, $ema ->method('getShippingAddress') ->willReturn($addressMock); + $this->orderMock->expects($this->any()) + ->method('getCustomerName') + ->willReturn($customerName); + + $this->orderMock->expects($this->once()) + ->method('getIsNotVirtual') + ->willReturn($isNotVirtual); + + $this->orderMock->expects($this->once()) + ->method('getEmailCustomerNote') + ->willReturn(''); + + $this->orderMock->expects($this->once()) + ->method('getFrontendStatusLabel') + ->willReturn($frontendStatusLabel); + $this->invoiceMock->expects($this->once()) ->method('getCustomerNoteNotify') ->willReturn($customerNoteNotify); @@ -135,7 +154,13 @@ public function testSend($configValue, $forceSyncMode, $customerNoteNotify, $ema 'payment_html' => 'payment', 'store' => $this->storeMock, 'formattedShippingAddress' => $address, - 'formattedBillingAddress' => $address + 'formattedBillingAddress' => $address, + 'order_data' => [ + 'customer_name' => $customerName, + 'is_not_virtual' => $isNotVirtual, + 'email_customer_note' => '', + 'frontend_status_label' => $frontendStatusLabel + ] ] ); @@ -212,6 +237,9 @@ public function testSendVirtualOrder($isVirtualOrder, $formatCallCount, $expecte { $billingAddress = 'address_test'; $this->orderMock->setData(\Magento\Sales\Api\Data\OrderInterface::IS_VIRTUAL, $isVirtualOrder); + $customerName = 'Test Customer'; + $frontendStatusLabel = 'Complete'; + $isNotVirtual = false; $this->invoiceMock->expects($this->once()) ->method('setSendEmail') @@ -234,6 +262,21 @@ public function testSendVirtualOrder($isVirtualOrder, $formatCallCount, $expecte $this->invoiceMock->expects($this->once()) ->method('getCustomerNoteNotify') ->willReturn(false); + $this->orderMock->expects($this->any()) + ->method('getCustomerName') + ->willReturn($customerName); + + $this->orderMock->expects($this->once()) + ->method('getIsNotVirtual') + ->willReturn($isNotVirtual); + + $this->orderMock->expects($this->once()) + ->method('getEmailCustomerNote') + ->willReturn(''); + + $this->orderMock->expects($this->once()) + ->method('getFrontendStatusLabel') + ->willReturn($frontendStatusLabel); $this->templateContainerMock->expects($this->once()) ->method('setTemplateVars') @@ -246,7 +289,13 @@ public function testSendVirtualOrder($isVirtualOrder, $formatCallCount, $expecte 'payment_html' => 'payment', 'store' => $this->storeMock, 'formattedShippingAddress' => $expectedShippingAddress, - 'formattedBillingAddress' => $billingAddress + 'formattedBillingAddress' => $billingAddress, + 'order_data' => [ + 'customer_name' => $customerName, + 'is_not_virtual' => false, + 'email_customer_note' => '', + 'frontend_status_label' => $frontendStatusLabel + ] ] ); diff --git a/app/code/Magento/Sales/Test/Unit/Model/Order/Email/Sender/OrderCommentSenderTest.php b/app/code/Magento/Sales/Test/Unit/Model/Order/Email/Sender/OrderCommentSenderTest.php index e5d6cacb25637..049cc75d3e42c 100644 --- a/app/code/Magento/Sales/Test/Unit/Model/Order/Email/Sender/OrderCommentSenderTest.php +++ b/app/code/Magento/Sales/Test/Unit/Model/Order/Email/Sender/OrderCommentSenderTest.php @@ -40,10 +40,18 @@ public function testSendTrue() { $billingAddress = $this->addressMock; $comment = 'comment_test'; + $customerName='Test Customer'; + $frontendStatusLabel='Processing'; $this->stepAddressFormat($billingAddress); $this->orderMock->expects($this->once()) ->method('getCustomerIsGuest') ->will($this->returnValue(false)); + $this->orderMock->expects($this->any()) + ->method('getCustomerName') + ->willReturn($customerName); + $this->orderMock->expects($this->once()) + ->method('getFrontendStatusLabel') + ->willReturn($frontendStatusLabel); $this->identityContainerMock->expects($this->once()) ->method('isEnabled') @@ -58,7 +66,11 @@ public function testSendTrue() 'comment' => $comment, 'store' => $this->storeMock, 'formattedShippingAddress' => 1, - 'formattedBillingAddress' => 1 + 'formattedBillingAddress' => 1, + 'order_data' => [ + 'customer_name' => $customerName, + 'frontend_status_label' => $frontendStatusLabel + ] ] ) ); @@ -72,10 +84,18 @@ public function testSendVirtualOrder() $isVirtualOrder = true; $this->orderMock->setData(\Magento\Sales\Api\Data\OrderInterface::IS_VIRTUAL, $isVirtualOrder); $this->stepAddressFormat($this->addressMock, $isVirtualOrder); + $customerName='Test Customer'; + $frontendStatusLabel='Complete'; $this->identityContainerMock->expects($this->once()) ->method('isEnabled') ->will($this->returnValue(false)); + $this->orderMock->expects($this->any()) + ->method('getCustomerName') + ->willReturn($customerName); + $this->orderMock->expects($this->once()) + ->method('getFrontendStatusLabel') + ->willReturn($frontendStatusLabel); $this->templateContainerMock->expects($this->once()) ->method('setTemplateVars') ->with( @@ -86,7 +106,11 @@ public function testSendVirtualOrder() 'billing' => $this->addressMock, 'store' => $this->storeMock, 'formattedShippingAddress' => null, - 'formattedBillingAddress' => 1 + 'formattedBillingAddress' => 1, + 'order_data' => [ + 'customer_name' => $customerName, + 'frontend_status_label' => $frontendStatusLabel + ] ] ) ); diff --git a/app/code/Magento/Sales/Test/Unit/Model/Order/Email/Sender/OrderSenderTest.php b/app/code/Magento/Sales/Test/Unit/Model/Order/Email/Sender/OrderSenderTest.php index 88053ea684ce8..bdb94a6d71cd9 100644 --- a/app/code/Magento/Sales/Test/Unit/Model/Order/Email/Sender/OrderSenderTest.php +++ b/app/code/Magento/Sales/Test/Unit/Model/Order/Email/Sender/OrderSenderTest.php @@ -56,11 +56,16 @@ protected function setUp() * @param $senderSendException * @return void * @dataProvider sendDataProvider + * @SuppressWarnings(PHPMD.ExcessiveMethodLength) */ public function testSend($configValue, $forceSyncMode, $emailSendingResult, $senderSendException) { $address = 'address_test'; $configPath = 'sales_email/general/async_sending'; + $createdAtFormatted='Oct 14, 2019, 4:11:58 PM'; + $customerName = 'test customer'; + $frontendStatusLabel = 'Processing'; + $isNotVirtual = true; $this->orderMock->expects($this->once()) ->method('setSendEmail') @@ -92,6 +97,27 @@ public function testSend($configValue, $forceSyncMode, $emailSendingResult, $sen ->method('getShippingAddress') ->willReturn($addressMock); + $this->orderMock->expects($this->once()) + ->method('getCreatedAtFormatted') + ->with(2) + ->willReturn($createdAtFormatted); + + $this->orderMock->expects($this->any()) + ->method('getCustomerName') + ->willReturn($customerName); + + $this->orderMock->expects($this->once()) + ->method('getIsNotVirtual') + ->willReturn($isNotVirtual); + + $this->orderMock->expects($this->once()) + ->method('getEmailCustomerNote') + ->willReturn(''); + + $this->orderMock->expects($this->once()) + ->method('getFrontendStatusLabel') + ->willReturn($frontendStatusLabel); + $this->templateContainerMock->expects($this->once()) ->method('setTemplateVars') ->with( @@ -101,7 +127,15 @@ public function testSend($configValue, $forceSyncMode, $emailSendingResult, $sen 'payment_html' => 'payment', 'store' => $this->storeMock, 'formattedShippingAddress' => $address, - 'formattedBillingAddress' => $address + 'formattedBillingAddress' => $address, + 'created_at_formatted'=>$createdAtFormatted, + 'order_data' => [ + 'customer_name' => $customerName, + 'is_not_virtual' => $isNotVirtual, + 'email_customer_note' => '', + 'frontend_status_label' => $frontendStatusLabel + ] + ] ); @@ -200,6 +234,10 @@ public function testSendVirtualOrder($isVirtualOrder, $formatCallCount, $expecte { $address = 'address_test'; $this->orderMock->setData(\Magento\Sales\Api\Data\OrderInterface::IS_VIRTUAL, $isVirtualOrder); + $createdAtFormatted='Oct 14, 2019, 4:11:58 PM'; + $customerName = 'test customer'; + $frontendStatusLabel = 'Complete'; + $isNotVirtual = false; $this->orderMock->expects($this->once()) ->method('setSendEmail') @@ -223,6 +261,27 @@ public function testSendVirtualOrder($isVirtualOrder, $formatCallCount, $expecte $this->stepAddressFormat($addressMock, $isVirtualOrder); + $this->orderMock->expects($this->once()) + ->method('getCreatedAtFormatted') + ->with(2) + ->willReturn($createdAtFormatted); + + $this->orderMock->expects($this->any()) + ->method('getCustomerName') + ->willReturn($customerName); + + $this->orderMock->expects($this->once()) + ->method('getIsNotVirtual') + ->willReturn($isNotVirtual); + + $this->orderMock->expects($this->once()) + ->method('getEmailCustomerNote') + ->willReturn(''); + + $this->orderMock->expects($this->once()) + ->method('getFrontendStatusLabel') + ->willReturn($frontendStatusLabel); + $this->templateContainerMock->expects($this->once()) ->method('setTemplateVars') ->with( @@ -232,7 +291,14 @@ public function testSendVirtualOrder($isVirtualOrder, $formatCallCount, $expecte 'payment_html' => 'payment', 'store' => $this->storeMock, 'formattedShippingAddress' => $expectedShippingAddress, - 'formattedBillingAddress' => $address + 'formattedBillingAddress' => $address, + 'created_at_formatted'=>$createdAtFormatted, + 'order_data' => [ + 'customer_name' => $customerName, + 'is_not_virtual' => $isNotVirtual, + 'email_customer_note' => '', + 'frontend_status_label' => $frontendStatusLabel + ] ] ); diff --git a/app/code/Magento/Sales/Test/Unit/Model/Order/Email/Sender/ShipmentCommentSenderTest.php b/app/code/Magento/Sales/Test/Unit/Model/Order/Email/Sender/ShipmentCommentSenderTest.php index f5a2e4d0148cd..90664216e87bc 100644 --- a/app/code/Magento/Sales/Test/Unit/Model/Order/Email/Sender/ShipmentCommentSenderTest.php +++ b/app/code/Magento/Sales/Test/Unit/Model/Order/Email/Sender/ShipmentCommentSenderTest.php @@ -56,6 +56,8 @@ public function testSendTrueWithCustomerCopy() { $billingAddress = $this->addressMock; $comment = 'comment_test'; + $customerName='Test Customer'; + $frontendStatusLabel='Processing'; $this->orderMock->expects($this->once()) ->method('getCustomerIsGuest') @@ -65,6 +67,12 @@ public function testSendTrueWithCustomerCopy() $this->identityContainerMock->expects($this->once()) ->method('isEnabled') ->will($this->returnValue(true)); + $this->orderMock->expects($this->any()) + ->method('getCustomerName') + ->willReturn($customerName); + $this->orderMock->expects($this->once()) + ->method('getFrontendStatusLabel') + ->willReturn($frontendStatusLabel); $this->templateContainerMock->expects($this->once()) ->method('setTemplateVars') ->with( @@ -76,7 +84,11 @@ public function testSendTrueWithCustomerCopy() 'comment' => $comment, 'store' => $this->storeMock, 'formattedShippingAddress' => 1, - 'formattedBillingAddress' => 1 + 'formattedBillingAddress' => 1, + 'order_data' => [ + 'customer_name' => $customerName, + 'frontend_status_label' => $frontendStatusLabel + ] ] ) ); @@ -89,6 +101,8 @@ public function testSendTrueWithoutCustomerCopy() { $billingAddress = $this->addressMock; $comment = 'comment_test'; + $customerName='Test Customer'; + $frontendStatusLabel='Processing'; $this->orderMock->expects($this->once()) ->method('getCustomerIsGuest') @@ -98,6 +112,12 @@ public function testSendTrueWithoutCustomerCopy() $this->identityContainerMock->expects($this->once()) ->method('isEnabled') ->will($this->returnValue(true)); + $this->orderMock->expects($this->any()) + ->method('getCustomerName') + ->willReturn($customerName); + $this->orderMock->expects($this->once()) + ->method('getFrontendStatusLabel') + ->willReturn($frontendStatusLabel); $this->templateContainerMock->expects($this->once()) ->method('setTemplateVars') ->with( @@ -109,7 +129,11 @@ public function testSendTrueWithoutCustomerCopy() 'comment' => $comment, 'store' => $this->storeMock, 'formattedShippingAddress' => 1, - 'formattedBillingAddress' => 1 + 'formattedBillingAddress' => 1, + 'order_data' => [ + 'customer_name' => $customerName, + 'frontend_status_label' => $frontendStatusLabel + ] ] ) ); @@ -123,10 +147,18 @@ public function testSendVirtualOrder() $isVirtualOrder = true; $this->orderMock->setData(\Magento\Sales\Api\Data\OrderInterface::IS_VIRTUAL, $isVirtualOrder); $this->stepAddressFormat($this->addressMock, $isVirtualOrder); + $customerName='Test Customer'; + $frontendStatusLabel='Complete'; $this->identityContainerMock->expects($this->once()) ->method('isEnabled') ->will($this->returnValue(false)); + $this->orderMock->expects($this->any()) + ->method('getCustomerName') + ->willReturn($customerName); + $this->orderMock->expects($this->once()) + ->method('getFrontendStatusLabel') + ->willReturn($frontendStatusLabel); $this->templateContainerMock->expects($this->once()) ->method('setTemplateVars') ->with( @@ -138,7 +170,12 @@ public function testSendVirtualOrder() 'comment' => '', 'store' => $this->storeMock, 'formattedShippingAddress' => null, - 'formattedBillingAddress' => 1 + 'formattedBillingAddress' => 1, + 'order_data' => [ + 'customer_name' => $customerName, + 'frontend_status_label' => $frontendStatusLabel + ] + ] ) ); diff --git a/app/code/Magento/Sales/Test/Unit/Model/Order/Email/Sender/ShipmentSenderTest.php b/app/code/Magento/Sales/Test/Unit/Model/Order/Email/Sender/ShipmentSenderTest.php index 2d7b42bccae5a..425663396a40f 100644 --- a/app/code/Magento/Sales/Test/Unit/Model/Order/Email/Sender/ShipmentSenderTest.php +++ b/app/code/Magento/Sales/Test/Unit/Model/Order/Email/Sender/ShipmentSenderTest.php @@ -90,6 +90,9 @@ public function testSend($configValue, $forceSyncMode, $customerNoteNotify, $ema $comment = 'comment_test'; $address = 'address_test'; $configPath = 'sales_email/general/async_sending'; + $customerName = 'Test Customer'; + $isNotVirtual = true; + $frontendStatusLabel = 'Processing'; $this->shipmentMock->expects($this->once()) ->method('setSendEmail') @@ -124,6 +127,22 @@ public function testSend($configValue, $forceSyncMode, $customerNoteNotify, $ema ->method('getCustomerNote') ->willReturn($comment); + $this->orderMock->expects($this->any()) + ->method('getCustomerName') + ->willReturn($customerName); + + $this->orderMock->expects($this->once()) + ->method('getIsNotVirtual') + ->willReturn($isNotVirtual); + + $this->orderMock->expects($this->once()) + ->method('getEmailCustomerNote') + ->willReturn(''); + + $this->orderMock->expects($this->once()) + ->method('getFrontendStatusLabel') + ->willReturn($frontendStatusLabel); + $this->templateContainerMock->expects($this->once()) ->method('setTemplateVars') ->with( @@ -135,7 +154,13 @@ public function testSend($configValue, $forceSyncMode, $customerNoteNotify, $ema 'payment_html' => 'payment', 'store' => $this->storeMock, 'formattedShippingAddress' => $address, - 'formattedBillingAddress' => $address + 'formattedBillingAddress' => $address, + 'order_data' => [ + 'customer_name' => $customerName, + 'is_not_virtual' => $isNotVirtual, + 'email_customer_note' => '', + 'frontend_status_label' => $frontendStatusLabel + ] ] ); @@ -212,6 +237,9 @@ public function testSendVirtualOrder($isVirtualOrder, $formatCallCount, $expecte { $address = 'address_test'; $this->orderMock->setData(\Magento\Sales\Api\Data\OrderInterface::IS_VIRTUAL, $isVirtualOrder); + $customerName = 'Test Customer'; + $frontendStatusLabel = 'Complete'; + $isNotVirtual = false; $this->shipmentMock->expects($this->once()) ->method('setSendEmail') @@ -235,6 +263,22 @@ public function testSendVirtualOrder($isVirtualOrder, $formatCallCount, $expecte ->method('getCustomerNoteNotify') ->willReturn(false); + $this->orderMock->expects($this->any()) + ->method('getCustomerName') + ->willReturn($customerName); + + $this->orderMock->expects($this->once()) + ->method('getIsNotVirtual') + ->willReturn($isNotVirtual); + + $this->orderMock->expects($this->once()) + ->method('getEmailCustomerNote') + ->willReturn(''); + + $this->orderMock->expects($this->once()) + ->method('getFrontendStatusLabel') + ->willReturn($frontendStatusLabel); + $this->templateContainerMock->expects($this->once()) ->method('setTemplateVars') ->with( @@ -246,7 +290,13 @@ public function testSendVirtualOrder($isVirtualOrder, $formatCallCount, $expecte 'payment_html' => 'payment', 'store' => $this->storeMock, 'formattedShippingAddress' => $expectedShippingAddress, - 'formattedBillingAddress' => $address + 'formattedBillingAddress' => $address, + 'order_data' => [ + 'customer_name' => $customerName, + 'is_not_virtual' => false, + 'email_customer_note' => '', + 'frontend_status_label' => $frontendStatusLabel + ] ] ); diff --git a/app/code/Magento/Sales/composer.json b/app/code/Magento/Sales/composer.json index 8d4ef50a2ebc5..011c08e1d2588 100644 --- a/app/code/Magento/Sales/composer.json +++ b/app/code/Magento/Sales/composer.json @@ -6,34 +6,34 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-authorization": "*", - "magento/module-backend": "*", - "magento/module-catalog": "*", - "magento/module-bundle": "*", - "magento/module-catalog-inventory": "*", - "magento/module-checkout": "*", - "magento/module-config": "*", - "magento/module-customer": "*", - "magento/module-directory": "*", - "magento/module-eav": "*", - "magento/module-gift-message": "*", - "magento/module-media-storage": "*", - "magento/module-payment": "*", - "magento/module-quote": "*", - "magento/module-reports": "*", - "magento/module-sales-rule": "*", - "magento/module-sales-sequence": "*", - "magento/module-shipping": "*", - "magento/module-store": "*", - "magento/module-tax": "*", - "magento/module-theme": "*", - "magento/module-ui": "*", - "magento/module-widget": "*", - "magento/module-wishlist": "*" + "magento/framework": "102.0.*", + "magento/module-authorization": "100.3.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-bundle": "100.3.*", + "magento/module-catalog-inventory": "100.3.*", + "magento/module-checkout": "100.3.*", + "magento/module-config": "101.1.*", + "magento/module-customer": "102.0.*", + "magento/module-directory": "100.3.*", + "magento/module-eav": "102.0.*", + "magento/module-gift-message": "100.3.*", + "magento/module-media-storage": "100.3.*", + "magento/module-payment": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-reports": "100.3.*", + "magento/module-sales-rule": "101.1.*", + "magento/module-sales-sequence": "100.3.*", + "magento/module-shipping": "100.3.*", + "magento/module-store": "101.0.*", + "magento/module-tax": "100.3.*", + "magento/module-theme": "101.0.*", + "magento/module-ui": "101.1.*", + "magento/module-widget": "101.1.*", + "magento/module-wishlist": "101.1.*" }, "suggest": { - "magento/module-sales-sample-data": "*" + "magento/module-sales-sample-data": "Sample Data version: 100.3.*" }, "type": "magento2-module", "license": [ @@ -47,5 +47,6 @@ "psr-4": { "Magento\\Sales\\": "" } - } + }, + "version": "102.0.3-p1" } diff --git a/app/code/Magento/Sales/view/frontend/email/creditmemo_new.html b/app/code/Magento/Sales/view/frontend/email/creditmemo_new.html index ca89446a2f7c0..5ae6f5f9d82c7 100644 --- a/app/code/Magento/Sales/view/frontend/email/creditmemo_new.html +++ b/app/code/Magento/Sales/view/frontend/email/creditmemo_new.html @@ -4,28 +4,34 @@ * See COPYING.txt for license details. */ --> -<!--@subject {{trans "Credit memo for your %store_name order" store_name=$store.getFrontendName()}} @--> +<!--@subject {{trans "Credit memo for your %store_name order" store_name=$store.frontend_name}} @--> <!--@vars { "var formattedBillingAddress|raw":"Billing Address", -"var comment":"Credit Memo Comment", +"var comment|escape|nl2br":"Credit Memo Comment", "var creditmemo.increment_id":"Credit Memo Id", "layout handle=\"sales_email_order_creditmemo_items\" creditmemo=$creditmemo order=$order":"Credit Memo Items Grid", -"var this.getUrl($store, 'customer/account/')":"Customer Account URL", -"var order.getCustomerName()":"Customer Name", +"var this.getUrl($store,'customer/account/',[_nosid:1])":"Customer Account URL", +"var order_data.customer_name":"Customer Name", "var order.increment_id":"Order Id", "var payment_html|raw":"Payment Details", "var formattedShippingAddress|raw":"Shipping Address", -"var order.getShippingDescription()":"Shipping Description", -"var order.shipping_description":"Shipping Description" +"var order.shipping_description":"Shipping Description", +"var store.frontend_name":"Store Frontend Name", +"var store_email":"Store Email", +"var store_phone":"Store Phone", +"var store_hours":"Store Hours", +"var creditmemo":"Credit Memo", +"var order":"Order", +"var order_data.is_not_virtual":"Order Type" } @--> {{template config_path="design/email/header_template"}} <table> <tr class="email-intro"> <td> - <p class="greeting">{{trans "%name," name=$order.getCustomerName()}}</p> + <p class="greeting">{{trans "%name," name=$order_data.customer_name}}</p> <p> - {{trans "Thank you for your order from %store_name." store_name=$store.getFrontendName()}} + {{trans "Thank you for your order from %store_name." store_name=$store.frontend_name}} {{trans 'You can check the status of your order by <a href="%account_url">logging into your account</a>.' account_url=$this.getUrl($store,'customer/account/',[_nosid:1]) |raw}} {{trans 'If you have questions about your order, you can email us at <a href="mailto:%store_email">%store_email</a>' store_email=$store_email |raw}}{{depend store_phone}} {{trans 'or call us at <a href="tel:%store_phone">%store_phone</a>' store_phone=$store_phone |raw}}{{/depend}}. {{depend store_hours}} @@ -56,7 +62,7 @@ <h1>{{trans "Your Credit Memo #%creditmemo_id for Order #%order_id" creditmemo_i <h3>{{trans "Billing Info"}}</h3> <p>{{var formattedBillingAddress|raw}}</p> </td> - {{depend order.getIsNotVirtual()}} + {{depend order_data.is_not_virtual}} <td class="address-details"> <h3>{{trans "Shipping Info"}}</h3> <p>{{var formattedShippingAddress|raw}}</p> @@ -68,10 +74,10 @@ <h3>{{trans "Shipping Info"}}</h3> <h3>{{trans "Payment Method"}}</h3> {{var payment_html|raw}} </td> - {{depend order.getIsNotVirtual()}} + {{depend order_data.is_not_virtual}} <td class="method-info"> <h3>{{trans "Shipping Method"}}</h3> - <p>{{var order.getShippingDescription()}}</p> + <p>{{var order.shipping_description}}</p> </td> {{/depend}} </tr> diff --git a/app/code/Magento/Sales/view/frontend/email/creditmemo_new_guest.html b/app/code/Magento/Sales/view/frontend/email/creditmemo_new_guest.html index b21f659814368..657de2aae2045 100644 --- a/app/code/Magento/Sales/view/frontend/email/creditmemo_new_guest.html +++ b/app/code/Magento/Sales/view/frontend/email/creditmemo_new_guest.html @@ -4,27 +4,33 @@ * See COPYING.txt for license details. */ --> -<!--@subject {{trans "Credit memo for your %store_name order" store_name=$store.getFrontendName()}} @--> +<!--@subject {{trans "Credit memo for your %store_name order" store_name=$store.frontend_name}} @--> <!--@vars { "var formattedBillingAddress|raw":"Billing Address", -"var comment":"Credit Memo Comment", +"var comment|escape|nl2br":"Credit Memo Comment", "var creditmemo.increment_id":"Credit Memo Id", "layout handle=\"sales_email_order_creditmemo_items\" creditmemo=$creditmemo order=$order":"Credit Memo Items Grid", -"var billing.getName()":"Guest Customer Name (Billing)", +"var billing.name":"Guest Customer Name (Billing)", "var order.increment_id":"Order Id", "var payment_html|raw":"Payment Details", "var formattedShippingAddress|raw":"Shipping Address", -"var order.getShippingDescription()":"Shipping Description", -"var order.shipping_description":"Shipping Description" +"var order.shipping_description":"Shipping Description", +"var store.frontend_name":"Store Frontend Name", +"var store_phone":"Store Phone", +"var store_email":"Store Email", +"var store_hours":"Store Hours", +"var creditmemo":"Credit Memo", +"var order":"Order", +"var order_data.is_not_virtual":"Order Type" } @--> {{template config_path="design/email/header_template"}} <table> <tr class="email-intro"> <td> - <p class="greeting">{{trans "%name," name=$billing.getName()}}</p> + <p class="greeting">{{trans "%name," name=$billing.name}}</p> <p> - {{trans "Thank you for your order from %store_name." store_name=$store.getFrontendName()}} + {{trans "Thank you for your order from %store_name." store_name=$store.frontend_name}} {{trans 'If you have questions about your order, you can email us at <a href="mailto:%store_email">%store_email</a>' store_email=$store_email |raw}}{{depend store_phone}} {{trans 'or call us at <a href="tel:%store_phone">%store_phone</a>' store_phone=$store_phone |raw}}{{/depend}}. {{depend store_hours}} {{trans 'Our hours are <span class="no-link">%store_hours</span>.' store_hours=$store_hours |raw}} @@ -54,7 +60,7 @@ <h1>{{trans "Your Credit Memo #%creditmemo_id for Order #%order_id" creditmemo_i <h3>{{trans "Billing Info"}}</h3> <p>{{var formattedBillingAddress|raw}}</p> </td> - {{depend order.getIsNotVirtual()}} + {{depend order_data.is_not_virtual}} <td class="address-details"> <h3>{{trans "Shipping Info"}}</h3> <p>{{var formattedShippingAddress|raw}}</p> @@ -66,10 +72,10 @@ <h3>{{trans "Shipping Info"}}</h3> <h3>{{trans "Payment Method"}}</h3> {{var payment_html|raw}} </td> - {{depend order.getIsNotVirtual()}} + {{depend order_data.is_not_virtual}} <td class="method-info"> <h3>{{trans "Shipping Method"}}</h3> - <p>{{var order.getShippingDescription()}}</p> + <p>{{var order.shipping_description}}</p> </td> {{/depend}} </tr> diff --git a/app/code/Magento/Sales/view/frontend/email/creditmemo_update.html b/app/code/Magento/Sales/view/frontend/email/creditmemo_update.html index a6a10fb49e3f5..7e7930f33f1b9 100644 --- a/app/code/Magento/Sales/view/frontend/email/creditmemo_update.html +++ b/app/code/Magento/Sales/view/frontend/email/creditmemo_update.html @@ -4,27 +4,31 @@ * See COPYING.txt for license details. */ --> -<!--@subject {{trans "Update to your %store_name credit memo" store_name=$store.getFrontendName()}} @--> +<!--@subject {{trans "Update to your %store_name credit memo" store_name=$store.frontend_name}} @--> <!--@vars { -"var comment":"Credit Memo Comment", +"var comment|escape|nl2br":"Credit Memo Comment", "var creditmemo.increment_id":"Credit Memo Id", -"var this.getUrl($store, 'customer/account/')":"Customer Account URL", -"var order.getCustomerName()":"Customer Name", +"var this.getUrl($store,'customer/account/',[_nosid:1])":"Customer Account URL", +"var order_data.customer_name":"Customer Name", "var order.increment_id":"Order Id", -"var order.getFrontendStatusLabel()":"Order Status" +"var order_data.frontend_status_label":"Order Status", +"var store.frontend_name":"Store Frontend Name", +"var store_phone":"Store Phone", +"var store_email":"Store Email", +"var store_hours":"Store Hours" } @--> {{template config_path="design/email/header_template"}} <table> <tr class="email-intro"> <td> - <p class="greeting">{{trans "%name," name=$order.getCustomerName()}}</p> + <p class="greeting">{{trans "%name," name=$order_data.customer_name}}</p> <p> {{trans "Your order #%increment_id has been updated with a status of <strong>%order_status</strong>." increment_id=$order.increment_id - order_status=$order.getFrontendStatusLabel() + order_status=$order_data.frontend_status_label |raw}} </p> <p>{{trans 'You can check the status of your order by <a href="%account_url">logging into your account</a>.' account_url=$this.getUrl($store,'customer/account/',[_nosid:1]) |raw}}</p> diff --git a/app/code/Magento/Sales/view/frontend/email/creditmemo_update_guest.html b/app/code/Magento/Sales/view/frontend/email/creditmemo_update_guest.html index b7411d80d2ba6..ed8f592b59638 100644 --- a/app/code/Magento/Sales/view/frontend/email/creditmemo_update_guest.html +++ b/app/code/Magento/Sales/view/frontend/email/creditmemo_update_guest.html @@ -4,26 +4,30 @@ * See COPYING.txt for license details. */ --> -<!--@subject {{trans "Update to your %store_name credit memo" store_name=$store.getFrontendName()}} @--> +<!--@subject {{trans "Update to your %store_name credit memo" store_name=$store.frontend_name}} @--> <!--@vars { -"var comment":"Credit Memo Comment", +"var comment|escape|nl2br":"Credit Memo Comment", "var creditmemo.increment_id":"Credit Memo Id", -"var billing.getName()":"Guest Customer Name", +"var billing.name":"Guest Customer Name", "var order.increment_id":"Order Id", -"var order.getFrontendStatusLabel()":"Order Status" +"var order_data.frontend_status_label":"Order Status", +"var store.frontend_name":"Store Frontend Name", +"var store_phone":"Store Phone", +"var store_email":"Store Email", +"var store_hours":"Store Hours" } @--> {{template config_path="design/email/header_template"}} <table> <tr class="email-intro"> <td> - <p class="greeting">{{trans "%name," name=$billing.getName()}}</p> + <p class="greeting">{{trans "%name," name=$billing.name}}</p> <p> {{trans "Your order #%increment_id has been updated with a status of <strong>%order_status</strong>." increment_id=$order.increment_id - order_status=$order.getFrontendStatusLabel() + order_status=$order_data.frontend_status_label |raw}} </p> <p> diff --git a/app/code/Magento/Sales/view/frontend/email/invoice_new.html b/app/code/Magento/Sales/view/frontend/email/invoice_new.html index ca5f7ee632e22..68773ee9d7570 100644 --- a/app/code/Magento/Sales/view/frontend/email/invoice_new.html +++ b/app/code/Magento/Sales/view/frontend/email/invoice_new.html @@ -4,28 +4,34 @@ * See COPYING.txt for license details. */ --> -<!--@subject {{trans "Invoice for your %store_name order" store_name=$store.getFrontendName()}} @--> +<!--@subject {{trans "Invoice for your %store_name order" store_name=$store.frontend_name}} @--> <!--@vars { "var formattedBillingAddress|raw":"Billing Address", -"var this.getUrl($store, 'customer/account/')":"Customer Account URL", -"var order.getCustomerName()":"Customer Name", -"var comment":"Invoice Comment", +"var this.getUrl($store,'customer/account/',[_nosid:1])":"Customer Account URL", +"var order_data.customer_name":"Customer Name", +"var comment|escape|nl2br":"Invoice Comment", "var invoice.increment_id":"Invoice Id", "layout area=\"frontend\" handle=\"sales_email_order_invoice_items\" invoice=$invoice order=$order":"Invoice Items Grid", "var order.increment_id":"Order Id", "var payment_html|raw":"Payment Details", "var formattedShippingAddress|raw":"Shipping Address", "var order.shipping_description":"Shipping Description", -"var order.getShippingDescription()":"Shipping Description" +"var store.frontend_name":"Store Frontend Name", +"var store_phone":"Store Phone", +"var store_email":"Store Email", +"var store_hours":"Store Hours", +"var invoice": "Invoice", +"var order": "Order", +"var order_data.is_not_virtual": "Order Type" } @--> {{template config_path="design/email/header_template"}} <table> <tr class="email-intro"> <td> - <p class="greeting">{{trans "%name," name=$order.getCustomerName()}}</p> + <p class="greeting">{{trans "%name," name=$order_data.customer_name}}</p> <p> - {{trans "Thank you for your order from %store_name." store_name=$store.getFrontendName()}} + {{trans "Thank you for your order from %store_name." store_name=$store.frontend_name}} {{trans 'You can check the status of your order by <a href="%account_url">logging into your account</a>.' account_url=$this.getUrl($store,'customer/account/',[_nosid:1]) |raw}} {{trans 'If you have questions about your order, you can email us at <a href="mailto:%store_email">%store_email</a>' store_email=$store_email |raw}}{{depend store_phone}} {{trans 'or call us at <a href="tel:%store_phone">%store_phone</a>' store_phone=$store_phone |raw}}{{/depend}}. {{depend store_hours}} @@ -56,7 +62,7 @@ <h1>{{trans "Your Invoice #%invoice_id for Order #%order_id" invoice_id=$invoice <h3>{{trans "Billing Info"}}</h3> <p>{{var formattedBillingAddress|raw}}</p> </td> - {{depend order.getIsNotVirtual()}} + {{depend order_data.is_not_virtual}} <td class="address-details"> <h3>{{trans "Shipping Info"}}</h3> <p>{{var formattedShippingAddress|raw}}</p> @@ -68,10 +74,10 @@ <h3>{{trans "Shipping Info"}}</h3> <h3>{{trans "Payment Method"}}</h3> {{var payment_html|raw}} </td> - {{depend order.getIsNotVirtual()}} + {{depend order_data.is_not_virtual}} <td class="method-info"> <h3>{{trans "Shipping Method"}}</h3> - <p>{{var order.getShippingDescription()}}</p> + <p>{{var order.shipping_description}}</p> </td> {{/depend}} </tr> diff --git a/app/code/Magento/Sales/view/frontend/email/invoice_new_guest.html b/app/code/Magento/Sales/view/frontend/email/invoice_new_guest.html index c93df9f9e8efb..5053ccc2ac635 100644 --- a/app/code/Magento/Sales/view/frontend/email/invoice_new_guest.html +++ b/app/code/Magento/Sales/view/frontend/email/invoice_new_guest.html @@ -4,27 +4,33 @@ * See COPYING.txt for license details. */ --> -<!--@subject {{trans "Invoice for your %store_name order" store_name=$store.getFrontendName()}} @--> +<!--@subject {{trans "Invoice for your %store_name order" store_name=$store.frontend_name}} @--> <!--@vars { "var formattedBillingAddress|raw":"Billing Address", -"var billing.getName()":"Guest Customer Name", -"var comment":"Invoice Comment", +"var billing.name":"Guest Customer Name", +"var comment|escape|nl2br":"Invoice Comment", "var invoice.increment_id":"Invoice Id", "layout handle=\"sales_email_order_invoice_items\" invoice=$invoice order=$order":"Invoice Items Grid", "var order.increment_id":"Order Id", "var payment_html|raw":"Payment Details", "var formattedShippingAddress|raw":"Shipping Address", -"var order.getShippingDescription()":"Shipping Description", -"var order.shipping_description":"Shipping Description" +"var order.shipping_description":"Shipping Description", +"var store.frontend_name":"Store Frontend Name", +"var store_phone":"Store Phone", +"var store_email":"Store Email", +"var store_hours":"Store Hours", +"var invoice": "Invoice", +"var order": "Order", +"var order_data.is_not_virtual": "Order Type" } @--> {{template config_path="design/email/header_template"}} <table> <tr class="email-intro"> <td> - <p class="greeting">{{trans "%name," name=$billing.getName()}}</p> + <p class="greeting">{{trans "%name," name=$billing.name}}</p> <p> - {{trans "Thank you for your order from %store_name." store_name=$store.getFrontendName()}} + {{trans "Thank you for your order from %store_name." store_name=$store.frontend_name}} {{trans 'If you have questions about your order, you can email us at <a href="mailto:%store_email">%store_email</a>' store_email=$store_email |raw}}{{depend store_phone}} {{trans 'or call us at <a href="tel:%store_phone">%store_phone</a>' store_phone=$store_phone |raw}}{{/depend}}. {{depend store_hours}} {{trans 'Our hours are <span class="no-link">%store_hours</span>.' store_hours=$store_hours |raw}} @@ -54,7 +60,7 @@ <h1>{{trans "Your Invoice #%invoice_id for Order #%order_id" invoice_id=$invoice <h3>{{trans "Billing Info"}}</h3> <p>{{var formattedBillingAddress|raw}}</p> </td> - {{depend order.getIsNotVirtual()}} + {{depend order_data.is_not_virtual}} <td class="address-details"> <h3>{{trans "Shipping Info"}}</h3> <p>{{var formattedShippingAddress|raw}}</p> @@ -66,10 +72,10 @@ <h3>{{trans "Shipping Info"}}</h3> <h3>{{trans "Payment Method"}}</h3> {{var payment_html|raw}} </td> - {{depend order.getIsNotVirtual()}} + {{depend order_data.is_not_virtual}} <td class="method-info"> <h3>{{trans "Shipping Method"}}</h3> - <p>{{var order.getShippingDescription()}}</p> + <p>{{var order.shipping_description}}</p> </td> {{/depend}} </tr> diff --git a/app/code/Magento/Sales/view/frontend/email/invoice_update.html b/app/code/Magento/Sales/view/frontend/email/invoice_update.html index 4043e59f9d7d6..a8f98a238e314 100644 --- a/app/code/Magento/Sales/view/frontend/email/invoice_update.html +++ b/app/code/Magento/Sales/view/frontend/email/invoice_update.html @@ -4,27 +4,31 @@ * See COPYING.txt for license details. */ --> -<!--@subject {{trans "Update to your %store_name invoice" store_name=$store.getFrontendName()}} @--> +<!--@subject {{trans "Update to your %store_name invoice" store_name=$store.frontend_name}} @--> <!--@vars { -"var this.getUrl($store, 'customer/account/')":"Customer Account URL", -"var order.getCustomerName()":"Customer Name", -"var comment":"Invoice Comment", +"var this.getUrl($store,'customer/account/',[_nosid:1])":"Customer Account URL", +"var order_data.customer_name":"Customer Name", +"var comment|escape|nl2br":"Invoice Comment", "var invoice.increment_id":"Invoice Id", "var order.increment_id":"Order Id", -"var order.getFrontendStatusLabel()":"Order Status" +"var order_data.frontend_status_label":"Order Status", +"var store.frontend_name":"Store Frontend Name", +"var store_phone":"Store Phone", +"var store_email":"Store Email", +"var store_hours":"Store Hours" } @--> {{template config_path="design/email/header_template"}} <table> <tr class="email-intro"> <td> - <p class="greeting">{{trans "%name," name=$order.getCustomerName()}}</p> + <p class="greeting">{{trans "%name," name=$order_data.customer_name}}</p> <p> {{trans "Your order #%increment_id has been updated with a status of <strong>%order_status</strong>." increment_id=$order.increment_id - order_status=$order.getFrontendStatusLabel() + order_status=$order_data.frontend_status_label |raw}} </p> <p>{{trans 'You can check the status of your order by <a href="%account_url">logging into your account</a>.' account_url=$this.getUrl($store,'customer/account/',[_nosid:1]) |raw}}</p> diff --git a/app/code/Magento/Sales/view/frontend/email/invoice_update_guest.html b/app/code/Magento/Sales/view/frontend/email/invoice_update_guest.html index 40cdec7fb4cab..289c5113fe285 100644 --- a/app/code/Magento/Sales/view/frontend/email/invoice_update_guest.html +++ b/app/code/Magento/Sales/view/frontend/email/invoice_update_guest.html @@ -4,26 +4,30 @@ * See COPYING.txt for license details. */ --> -<!--@subject {{trans "Update to your %store_name invoice" store_name=$store.getFrontendName()}} @--> +<!--@subject {{trans "Update to your %store_name invoice" store_name=$store.frontend_name}} @--> <!--@vars { -"var billing.getName()":"Guest Customer Name", -"var comment":"Invoice Comment", +"var billing.name":"Guest Customer Name", +"var comment|escape|nl2br":"Invoice Comment", "var invoice.increment_id":"Invoice Id", "var order.increment_id":"Order Id", -"var order.getFrontendStatusLabel()":"Order Status" +"var order_data.frontend_status_label":"Order Status", +"var store.frontend_name":"Store Frontend Name", +"var store_phone":"Store Phone", +"var store_email":"Store Email", +"var store_hours":"Store Hours" } @--> {{template config_path="design/email/header_template"}} <table> <tr class="email-intro"> <td> - <p class="greeting">{{trans "%name," name=$billing.getName()}}</p> + <p class="greeting">{{trans "%name," name=$billing.name}}</p> <p> {{trans "Your order #%increment_id has been updated with a status of <strong>%order_status</strong>." increment_id=$order.increment_id - order_status=$order.getFrontendStatusLabel() + order_status=$order_data.frontend_status_label |raw}} </p> <p> diff --git a/app/code/Magento/Sales/view/frontend/email/order_new.html b/app/code/Magento/Sales/view/frontend/email/order_new.html index 370bdb0f2f336..13c436b131b82 100644 --- a/app/code/Magento/Sales/view/frontend/email/order_new.html +++ b/app/code/Magento/Sales/view/frontend/email/order_new.html @@ -4,16 +4,25 @@ * See COPYING.txt for license details. */ --> -<!--@subject {{trans "Your %store_name order confirmation" store_name=$store.getFrontendName()}} @--> +<!--@subject {{trans "Your %store_name order confirmation" store_name=$store.frontend_name}} @--> <!--@vars { "var formattedBillingAddress|raw":"Billing Address", -"var order.getEmailCustomerNote()":"Email Order Note", +"var order_data.email_customer_note|escape|nl2br":"Email Order Note", "var order.increment_id":"Order Id", "layout handle=\"sales_email_order_items\" order=$order area=\"frontend\"":"Order Items Grid", "var payment_html|raw":"Payment Details", "var formattedShippingAddress|raw":"Shipping Address", -"var order.getShippingDescription()":"Shipping Description", -"var shipping_msg":"Shipping message" +"var order.shipping_description":"Shipping Description", +"var shipping_msg":"Shipping message", +"var created_at_formatted":"Order Created At (datetime)", +"var store.frontend_name":"Store Frontend Name", +"var store_phone":"Store Phone", +"var store_email":"Store Email", +"var store_hours":"Store Hours", +"var this.getUrl($store,'customer/account/',[_nosid:1])":"Customer Account URL", +"var order_data.is_not_virtual":"Order Type", +"var order":"Order", +"var order_data.customer_name":"Customer Name" } @--> {{template config_path="design/email/header_template"}} @@ -21,9 +30,9 @@ <table> <tr class="email-intro"> <td> - <p class="greeting">{{trans "%customer_name," customer_name=$order.getCustomerName()}}</p> + <p class="greeting">{{trans "%customer_name," customer_name=$order_data.customer_name}}</p> <p> - {{trans "Thank you for your order from %store_name." store_name=$store.getFrontendName()}} + {{trans "Thank you for your order from %store_name." store_name=$store.frontend_name}} {{trans "Once your package ships we will send you a tracking number."}} {{trans 'You can check the status of your order by <a href="%account_url">logging into your account</a>.' account_url=$this.getUrl($store,'customer/account/',[_nosid:1]) |raw}} </p> @@ -38,16 +47,16 @@ <tr class="email-summary"> <td> <h1>{{trans 'Your Order <span class="no-link">#%increment_id</span>' increment_id=$order.increment_id |raw}}</h1> - <p>{{trans 'Placed on <span class="no-link">%created_at</span>' created_at=$order.getCreatedAtFormatted(2) |raw}}</p> + <p>{{trans 'Placed on <span class="no-link">%created_at</span>' created_at=$created_at_formatted |raw}}</p> </td> </tr> <tr class="email-information"> <td> - {{depend order.getEmailCustomerNote()}} + {{depend order_data.email_customer_note}} <table class="message-info"> <tr> <td> - {{var order.getEmailCustomerNote()|escape|nl2br}} + {{var order_data.email_customer_note|escape|nl2br}} </td> </tr> </table> @@ -58,7 +67,7 @@ <h1>{{trans 'Your Order <span class="no-link">#%increment_id</span>' increment_i <h3>{{trans "Billing Info"}}</h3> <p>{{var formattedBillingAddress|raw}}</p> </td> - {{depend order.getIsNotVirtual()}} + {{depend order_data.is_not_virtual}} <td class="address-details"> <h3>{{trans "Shipping Info"}}</h3> <p>{{var formattedShippingAddress|raw}}</p> @@ -70,10 +79,10 @@ <h3>{{trans "Shipping Info"}}</h3> <h3>{{trans "Payment Method"}}</h3> {{var payment_html|raw}} </td> - {{depend order.getIsNotVirtual()}} + {{depend order_data.is_not_virtual}} <td class="method-info"> <h3>{{trans "Shipping Method"}}</h3> - <p>{{var order.getShippingDescription()}}</p> + <p>{{var order.shipping_description}}</p> {{if shipping_msg}} <p>{{var shipping_msg}}</p> {{/if}} diff --git a/app/code/Magento/Sales/view/frontend/email/order_new_guest.html b/app/code/Magento/Sales/view/frontend/email/order_new_guest.html index cfd99e5b0936e..866a1ad87f9b1 100644 --- a/app/code/Magento/Sales/view/frontend/email/order_new_guest.html +++ b/app/code/Magento/Sales/view/frontend/email/order_new_guest.html @@ -4,27 +4,33 @@ * See COPYING.txt for license details. */ --> -<!--@subject {{trans "Your %store_name order confirmation" store_name=$store.getFrontendName()}} @--> +<!--@subject {{trans "Your %store_name order confirmation" store_name=$store.frontend_name}} @--> <!--@vars { "var formattedBillingAddress|raw":"Billing Address", -"var order.getEmailCustomerNote()":"Email Order Note", -"var order.getBillingAddress().getName()":"Guest Customer Name", -"var order.getCreatedAtFormatted(2)":"Order Created At (datetime)", +"var order_data.email_customer_note|escape|nl2br":"Email Order Note", +"var order.billing_address.name":"Guest Customer Name", +"var created_at_formatted":"Order Created At (datetime)", "var order.increment_id":"Order Id", "layout handle=\"sales_email_order_items\" order=$order":"Order Items Grid", "var payment_html|raw":"Payment Details", "var formattedShippingAddress|raw":"Shipping Address", -"var order.getShippingDescription()":"Shipping Description", -"var shipping_msg":"Shipping message" +"var order.shipping_description":"Shipping Description", +"var shipping_msg":"Shipping message", +"var store.frontend_name":"Store Frontend Name", +"var store_phone":"Store Phone", +"var store_email":"Store Email", +"var store_hours":"Store Hours", +"var order_data.is_not_virtual":"Order Type", +"var order":"Order" } @--> {{template config_path="design/email/header_template"}} <table> <tr class="email-intro"> <td> - <p class="greeting">{{trans "%name," name=$order.getBillingAddress().getName()}}</p> + <p class="greeting">{{trans "%name," name=$order.billing_address.name}}</p> <p> - {{trans "Thank you for your order from %store_name." store_name=$store.getFrontendName()}} + {{trans "Thank you for your order from %store_name." store_name=$store.frontend_name}} {{trans "Once your package ships we will send an email with a link to track your order."}} {{trans 'If you have questions about your order, you can email us at <a href="mailto:%store_email">%store_email</a>' store_email=$store_email |raw}}{{depend store_phone}} {{trans 'or call us at <a href="tel:%store_phone">%store_phone</a>' store_phone=$store_phone |raw}}{{/depend}}. {{depend store_hours}} @@ -36,16 +42,16 @@ <tr class="email-summary"> <td> <h1>{{trans 'Your Order <span class="no-link">#%increment_id</span>' increment_id=$order.increment_id |raw}}</h1> - <p>{{trans 'Placed on <span class="no-link">%created_at</span>' created_at=$order.getCreatedAtFormatted(2) |raw}}</p> + <p>{{trans 'Placed on <span class="no-link">%created_at</span>' created_at=$created_at_formatted |raw}}</p> </td> </tr> <tr class="email-information"> <td> - {{depend order.getEmailCustomerNote()}} + {{depend order_data.email_customer_note}} <table class="message-info"> <tr> <td> - {{var order.getEmailCustomerNote()|escape|nl2br}} + {{var order_data.email_customer_note|escape|nl2br}} </td> </tr> </table> @@ -56,7 +62,7 @@ <h1>{{trans 'Your Order <span class="no-link">#%increment_id</span>' increment_i <h3>{{trans "Billing Info"}}</h3> <p>{{var formattedBillingAddress|raw}}</p> </td> - {{depend order.getIsNotVirtual()}} + {{depend order_data.is_not_virtual}} <td class="address-details"> <h3>{{trans "Shipping Info"}}</h3> <p>{{var formattedShippingAddress|raw}}</p> @@ -68,10 +74,10 @@ <h3>{{trans "Shipping Info"}}</h3> <h3>{{trans "Payment Method"}}</h3> {{var payment_html|raw}} </td> - {{depend order.getIsNotVirtual()}} + {{depend order_data.is_not_virtual}} <td class="method-info"> <h3>{{trans "Shipping Method"}}</h3> - <p>{{var order.getShippingDescription()}}</p> + <p>{{var order.shipping_description}}</p> {{if shipping_msg}} <p>{{var shipping_msg}}</p> {{/if}} diff --git a/app/code/Magento/Sales/view/frontend/email/order_update.html b/app/code/Magento/Sales/view/frontend/email/order_update.html index a8f0068b70e87..b2c4e86654f6f 100644 --- a/app/code/Magento/Sales/view/frontend/email/order_update.html +++ b/app/code/Magento/Sales/view/frontend/email/order_update.html @@ -4,26 +4,30 @@ * See COPYING.txt for license details. */ --> -<!--@subject {{trans "Update to your %store_name order" store_name=$store.getFrontendName()}} @--> +<!--@subject {{trans "Update to your %store_name order" store_name=$store.frontend_name}} @--> <!--@vars { -"var this.getUrl($store, 'customer/account/')":"Customer Account URL", -"var order.getCustomerName()":"Customer Name", -"var comment":"Order Comment", +"var this.getUrl($store,'customer/account/',[_nosid:1])":"Customer Account URL", +"var order_data.customer_name":"Customer Name", +"var comment|escape|nl2br":"Order Comment", "var order.increment_id":"Order Id", -"var order.getFrontendStatusLabel()":"Order Status" +"var order_data.frontend_status_label":"Order Status", +"var store.frontend_name":"Store Frontend Name", +"var store_email":"Store Email", +"var store_phone":"Store Phone", +"var store_hours":"Store Hours" } @--> {{template config_path="design/email/header_template"}} <table> <tr class="email-intro"> <td> - <p class="greeting">{{trans "%name," name=$order.getCustomerName()}}</p> + <p class="greeting">{{trans "%name," name=$order_data.customer_name}}</p> <p> {{trans "Your order #%increment_id has been updated with a status of <strong>%order_status</strong>." increment_id=$order.increment_id - order_status=$order.getFrontendStatusLabel() + order_status=$order_data.frontend_status_label |raw}} </p> <p>{{trans 'You can check the status of your order by <a href="%account_url">logging into your account</a>.' account_url=$this.getUrl($store,'customer/account/',[_nosid:1]) |raw}}</p> diff --git a/app/code/Magento/Sales/view/frontend/email/order_update_guest.html b/app/code/Magento/Sales/view/frontend/email/order_update_guest.html index 749fa3b60ad59..1ce0d162ed76e 100644 --- a/app/code/Magento/Sales/view/frontend/email/order_update_guest.html +++ b/app/code/Magento/Sales/view/frontend/email/order_update_guest.html @@ -4,25 +4,29 @@ * See COPYING.txt for license details. */ --> -<!--@subject {{trans "Update to your %store_name order" store_name=$store.getFrontendName()}} @--> +<!--@subject {{trans "Update to your %store_name order" store_name=$store.frontend_name}} @--> <!--@vars { -"var billing.getName()":"Guest Customer Name", -"var comment":"Order Comment", +"var billing.name":"Guest Customer Name", +"var comment|escape|nl2br":"Order Comment", "var order.increment_id":"Order Id", -"var order.getFrontendStatusLabel()":"Order Status" +"var order_data.frontend_status_label":"Order Status", +"var store.frontend_name":"Store Frontend Name", +"var store_email":"Store Email", +"var store_phone":"Store Phone", +"var store_hours":"Store Hours" } @--> {{template config_path="design/email/header_template"}} <table> <tr class="email-intro"> <td> - <p class="greeting">{{trans "%name," name=$billing.getName()}}</p> + <p class="greeting">{{trans "%name," name=$billing.name}}</p> <p> {{trans "Your order #%increment_id has been updated with a status of <strong>%order_status</strong>." increment_id=$order.increment_id - order_status=$order.getFrontendStatusLabel() + order_status=$order_data.frontend_status_label |raw}} </p> <p> diff --git a/app/code/Magento/Sales/view/frontend/email/shipment_new.html b/app/code/Magento/Sales/view/frontend/email/shipment_new.html index 84f5acb29ea3b..39823a0c9d80b 100644 --- a/app/code/Magento/Sales/view/frontend/email/shipment_new.html +++ b/app/code/Magento/Sales/view/frontend/email/shipment_new.html @@ -4,29 +4,35 @@ * See COPYING.txt for license details. */ --> -<!--@subject {{trans "Your %store_name order has shipped" store_name=$store.getFrontendName()}} @--> +<!--@subject {{trans "Your %store_name order has shipped" store_name=$store.frontend_name}} @--> <!--@vars { "var formattedBillingAddress|raw":"Billing Address", -"var this.getUrl($store, 'customer/account/')":"Customer Account URL", -"var order.getCustomerName()":"Customer Name", +"var this.getUrl($store,'customer/account/',[_nosid:1])":"Customer Account URL", +"var order_data.customer_name":"Customer Name", "var order.increment_id":"Order Id", "var payment_html|raw":"Payment Details", -"var comment":"Shipment Comment", +"var comment|escape|nl2br":"Shipment Comment", "var shipment.increment_id":"Shipment Id", "layout handle=\"sales_email_order_shipment_items\" shipment=$shipment order=$order":"Shipment Items Grid", "block class='Magento\\\\Framework\\\\View\\\\Element\\\\Template' area='frontend' template='Magento_Sales::email\/shipment\/track.phtml' shipment=$shipment order=$order":"Shipment Track Details", "var formattedShippingAddress|raw":"Shipping Address", "var order.shipping_description":"Shipping Description", -"var order.getShippingDescription()":"Shipping Description" +"var store.frontend_name":"Store Frontend Name", +"var store_phone":"Store Phone", +"var store_email":"Store Email", +"var store_hours":"Store Hours", +"var order_data.is_not_virtual": "Order Type", +"var shipment": "Shipment", +"var order": "Order" } @--> {{template config_path="design/email/header_template"}} <table> <tr class="email-intro"> <td> - <p class="greeting">{{trans "%name," name=$order.getCustomerName()}}</p> + <p class="greeting">{{trans "%name," name=$order_data.customer_name}}</p> <p> - {{trans "Thank you for your order from %store_name." store_name=$store.getFrontendName()}} + {{trans "Thank you for your order from %store_name." store_name=$store.frontend_name}} {{trans 'You can check the status of your order by <a href="%account_url">logging into your account</a>.' account_url=$this.getUrl($store,'customer/account/',[_nosid:1]) |raw}} {{trans 'If you have questions about your order, you can email us at <a href="mailto:%store_email">%store_email</a>' store_email=$store_email |raw}}{{depend store_phone}} {{trans 'or call us at <a href="tel:%store_phone">%store_phone</a>' store_phone=$store_phone |raw}}{{/depend}}. {{depend store_hours}} @@ -60,7 +66,7 @@ <h1>{{trans "Your Shipment #%shipment_id for Order #%order_id" shipment_id=$ship <h3>{{trans "Billing Info"}}</h3> <p>{{var formattedBillingAddress|raw}}</p> </td> - {{depend order.getIsNotVirtual()}} + {{depend order_data.is_not_virtual}} <td class="address-details"> <h3>{{trans "Shipping Info"}}</h3> <p>{{var formattedShippingAddress|raw}}</p> @@ -72,10 +78,10 @@ <h3>{{trans "Shipping Info"}}</h3> <h3>{{trans "Payment Method"}}</h3> {{var payment_html|raw}} </td> - {{depend order.getIsNotVirtual()}} + {{depend order_data.is_not_virtual}} <td class="method-info"> <h3>{{trans "Shipping Method"}}</h3> - <p>{{var order.getShippingDescription()}}</p> + <p>{{var order.shipping_description}}</p> </td> {{/depend}} </tr> diff --git a/app/code/Magento/Sales/view/frontend/email/shipment_new_guest.html b/app/code/Magento/Sales/view/frontend/email/shipment_new_guest.html index bb181126724da..ed2f52ed85066 100644 --- a/app/code/Magento/Sales/view/frontend/email/shipment_new_guest.html +++ b/app/code/Magento/Sales/view/frontend/email/shipment_new_guest.html @@ -4,28 +4,34 @@ * See COPYING.txt for license details. */ --> -<!--@subject {{trans "Your %store_name order has shipped" store_name=$store.getFrontendName()}} @--> +<!--@subject {{trans "Your %store_name order has shipped" store_name=$store.frontend_name}} @--> <!--@vars { "var formattedBillingAddress|raw":"Billing Address", -"var billing.getName()":"Guest Customer Name", +"var billing.name":"Guest Customer Name", "var order.increment_id":"Order Id", "var payment_html|raw":"Payment Details", -"var comment":"Shipment Comment", +"var comment|escape|nl2br":"Shipment Comment", "var shipment.increment_id":"Shipment Id", "layout handle=\"sales_email_order_shipment_items\" shipment=$shipment order=$order":"Shipment Items Grid", "block class='Magento\\\\Framework\\\\View\\\\Element\\\\Template' area='frontend' template='Magento_Sales::email\/shipment\/track.phtml' shipment=$shipment order=$order":"Shipment Track Details", "var formattedShippingAddress|raw":"Shipping Address", "var order.shipping_description":"Shipping Description", -"var order.getShippingDescription()":"Shipping Description" +"var store.frontend_name":"Store Frontend Name", +"var store_phone":"Store Phone", +"var store_email":"Store Email", +"var store_hours":"Store Hours", +"var order_data.is_not_virtual": "Order Type", +"var shipment": "Shipment", +"var order": "Order" } @--> {{template config_path="design/email/header_template"}} <table> <tr class="email-intro"> <td> - <p class="greeting">{{trans "%name," name=$billing.getName()}}</p> + <p class="greeting">{{trans "%name," name=$billing.name}}</p> <p> - {{trans "Thank you for your order from %store_name." store_name=$store.getFrontendName()}} + {{trans "Thank you for your order from %store_name." store_name=$store.frontend_name}} {{trans 'If you have questions about your order, you can email us at <a href="mailto:%store_email">%store_email</a>' store_email=$store_email |raw}}{{depend store_phone}} {{trans 'or call us at <a href="tel:%store_phone">%store_phone</a>' store_phone=$store_phone |raw}}{{/depend}}. {{depend store_hours}} {{trans 'Our hours are <span class="no-link">%store_hours</span>.' store_hours=$store_hours |raw}} @@ -58,7 +64,7 @@ <h1>{{trans "Your Shipment #%shipment_id for Order #%order_id" shipment_id=$ship <h3>{{trans "Billing Info"}}</h3> <p>{{var formattedBillingAddress|raw}}</p> </td> - {{depend order.getIsNotVirtual()}} + {{depend order_data.is_not_virtual}} <td class="address-details"> <h3>{{trans "Shipping Info"}}</h3> <p>{{var formattedShippingAddress|raw}}</p> @@ -70,10 +76,10 @@ <h3>{{trans "Shipping Info"}}</h3> <h3>{{trans "Payment Method"}}</h3> {{var payment_html|raw}} </td> - {{depend order.getIsNotVirtual()}} + {{depend order_data.is_not_virtual}} <td class="method-info"> <h3>{{trans "Shipping Method"}}</h3> - <p>{{var order.getShippingDescription()}}</p> + <p>{{var order.shipping_description}}</p> </td> {{/depend}} </tr> diff --git a/app/code/Magento/Sales/view/frontend/email/shipment_update.html b/app/code/Magento/Sales/view/frontend/email/shipment_update.html index 9d1c93287549a..9d0057f78df7f 100644 --- a/app/code/Magento/Sales/view/frontend/email/shipment_update.html +++ b/app/code/Magento/Sales/view/frontend/email/shipment_update.html @@ -4,27 +4,31 @@ * See COPYING.txt for license details. */ --> -<!--@subject {{trans "Update to your %store_name shipment" store_name=$store.getFrontendName()}} @--> +<!--@subject {{trans "Update to your %store_name shipment" store_name=$store.frontend_name}} @--> <!--@vars { -"var this.getUrl($store, 'customer/account/')":"Customer Account URL", -"var order.getCustomerName()":"Customer Name", -"var comment":"Order Comment", +"var this.getUrl($store,'customer/account/',[_nosid:1])":"Customer Account URL", +"var order_data.customer_name":"Customer Name", +"var comment|escape|nl2br":"Order Comment", "var order.increment_id":"Order Id", -"var order.getFrontendStatusLabel()":"Order Status", -"var shipment.increment_id":"Shipment Id" +"var order_data.frontend_status_label":"Order Status", +"var shipment.increment_id":"Shipment Id", +"var store.frontend_name":"Store Frontend Name", +"var store_phone":"Store Phone", +"var store_email":"Store Email", +"var store_hours":"Store Hours" } @--> {{template config_path="design/email/header_template"}} <table> <tr class="email-intro"> <td> - <p class="greeting">{{trans "%name," name=$order.getCustomerName()}}</p> + <p class="greeting">{{trans "%name," name=$order_data.customer_name}}</p> <p> {{trans "Your order #%increment_id has been updated with a status of <strong>%order_status</strong>." increment_id=$order.increment_id - order_status=$order.getFrontendStatusLabel() + order_status=$order_data.frontend_status_label |raw}} </p> <p>{{trans 'You can check the status of your order by <a href="%account_url">logging into your account</a>.' account_url=$this.getUrl($store,'customer/account/',[_nosid:1]) |raw}}</p> diff --git a/app/code/Magento/Sales/view/frontend/email/shipment_update_guest.html b/app/code/Magento/Sales/view/frontend/email/shipment_update_guest.html index 0d2dccd3377d2..087cb0ddbf5bc 100644 --- a/app/code/Magento/Sales/view/frontend/email/shipment_update_guest.html +++ b/app/code/Magento/Sales/view/frontend/email/shipment_update_guest.html @@ -4,26 +4,30 @@ * See COPYING.txt for license details. */ --> -<!--@subject {{trans "Update to your %store_name shipment" store_name=$store.getFrontendName()}} @--> +<!--@subject {{trans "Update to your %store_name shipment" store_name=$store.frontend_name}} @--> <!--@vars { -"var billing.getName()":"Guest Customer Name", -"var comment":"Order Comment", +"var billing.name":"Guest Customer Name", +"var comment|escape|nl2br":"Order Comment", "var order.increment_id":"Order Id", -"var order.getFrontendStatusLabel()":"Order Status", -"var shipment.increment_id":"Shipment Id" +"var order_data.frontend_status_label":"Order Status", +"var shipment.increment_id":"Shipment Id", +"var store.frontend_name":"Store Frontend Name", +"var store_phone":"Store Phone", +"var store_email":"Store Email", +"var store_hours":"Store Hours" } @--> {{template config_path="design/email/header_template"}} <table> <tr class="email-intro"> <td> - <p class="greeting">{{trans "%name," name=$billing.getName()}}</p> + <p class="greeting">{{trans "%name," name=$billing.name}}</p> <p> {{trans "Your order #%increment_id has been updated with a status of <strong>%order_status</strong>." increment_id=$order.increment_id - order_status=$order.getFrontendStatusLabel() + order_status=$order_data.frontend_status_label |raw}} </p> <p> diff --git a/app/code/Magento/SalesAnalytics/composer.json b/app/code/Magento/SalesAnalytics/composer.json index 13168d8164de5..7b99c7e437ae6 100644 --- a/app/code/Magento/SalesAnalytics/composer.json +++ b/app/code/Magento/SalesAnalytics/composer.json @@ -3,9 +3,9 @@ "description": "N/A", "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-sales": "*", - "magento/module-analytics": "*" + "magento/framework": "102.0.*", + "magento/module-sales": "102.0.*", + "magento/module-analytics": "100.3.*" }, "type": "magento2-module", "license": [ @@ -19,5 +19,6 @@ "psr-4": { "Magento\\SalesAnalytics\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/SalesGraphQl/composer.json b/app/code/Magento/SalesGraphQl/composer.json index 6ca4f2dcbda99..55ec5623ec8da 100644 --- a/app/code/Magento/SalesGraphQl/composer.json +++ b/app/code/Magento/SalesGraphQl/composer.json @@ -4,9 +4,9 @@ "type": "magento2-module", "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-sales": "*", - "magento/module-graph-ql": "*" + "magento/framework": "102.0.*", + "magento/module-sales": "102.0.*", + "magento/module-graph-ql": "100.3.*" }, "license": [ "OSL-3.0", @@ -19,5 +19,6 @@ "psr-4": { "Magento\\SalesGraphQl\\": "" } - } + }, + "version": "100.3.2" } diff --git a/app/code/Magento/SalesInventory/Model/Order/ReturnProcessor.php b/app/code/Magento/SalesInventory/Model/Order/ReturnProcessor.php index 3f2ba38fa5a55..2739226c5fb5a 100644 --- a/app/code/Magento/SalesInventory/Model/Order/ReturnProcessor.php +++ b/app/code/Magento/SalesInventory/Model/Order/ReturnProcessor.php @@ -12,6 +12,7 @@ * Class ReturnProcessor * * @api + * @since 100.0.0 */ class ReturnProcessor { @@ -68,6 +69,7 @@ public function __construct( * @param array $returnToStockItems * @param bool $isAutoReturn * @return void + * @since 100.0.0 */ public function execute( CreditmemoInterface $creditmemo, diff --git a/app/code/Magento/SalesInventory/composer.json b/app/code/Magento/SalesInventory/composer.json index 2df98ee961f5d..e987e2e2958f2 100644 --- a/app/code/Magento/SalesInventory/composer.json +++ b/app/code/Magento/SalesInventory/composer.json @@ -6,11 +6,11 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-catalog": "*", - "magento/module-catalog-inventory": "*", - "magento/module-sales": "*", - "magento/module-store": "*" + "magento/framework": "102.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-inventory": "100.3.*", + "magento/module-sales": "102.0.*", + "magento/module-store": "101.0.*" }, "type": "magento2-module", "license": [ @@ -24,5 +24,6 @@ "psr-4": { "Magento\\SalesInventory\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/SalesRule/Api/Data/CouponInterface.php b/app/code/Magento/SalesRule/Api/Data/CouponInterface.php index bd44ea829fe66..2ab731f2f7974 100644 --- a/app/code/Magento/SalesRule/Api/Data/CouponInterface.php +++ b/app/code/Magento/SalesRule/Api/Data/CouponInterface.php @@ -110,7 +110,7 @@ public function setTimesUsed($timesUsed); * Get expiration date * * @return string|null - * @deprecated Coupon expiration must follow sales rule expiration date. + * @deprecated 101.1.3 Coupon expiration must follow sales rule expiration date. */ public function getExpirationDate(); @@ -119,7 +119,7 @@ public function getExpirationDate(); * * @param string $expirationDate * @return $this - * @deprecated Coupon expiration must follow sales rule expiration date. + * @deprecated 101.1.3 Coupon expiration must follow sales rule expiration date. */ public function setExpirationDate($expirationDate); diff --git a/app/code/Magento/SalesRule/Model/Coupon.php b/app/code/Magento/SalesRule/Model/Coupon.php index a8c77c6ceeec8..070ce89c1d474 100644 --- a/app/code/Magento/SalesRule/Model/Coupon.php +++ b/app/code/Magento/SalesRule/Model/Coupon.php @@ -207,7 +207,7 @@ public function setTimesUsed($timesUsed) * Get expiration date * * @return string|null - * @deprecated Coupon expiration must follow sales rule expiration date. + * @deprecated 101.1.3 Coupon expiration must follow sales rule expiration date. */ public function getExpirationDate() { @@ -219,7 +219,7 @@ public function getExpirationDate() * * @param string $expirationDate * @return $this - * @deprecated Coupon expiration must follow sales rule expiration date. + * @deprecated 101.1.3 Coupon expiration must follow sales rule expiration date. */ public function setExpirationDate($expirationDate) { diff --git a/app/code/Magento/SalesRule/Model/CouponRepository.php b/app/code/Magento/SalesRule/Model/CouponRepository.php index 4c557832fa8d6..f32fbc3d12134 100644 --- a/app/code/Magento/SalesRule/Model/CouponRepository.php +++ b/app/code/Magento/SalesRule/Model/CouponRepository.php @@ -197,7 +197,7 @@ public function deleteById($couponId) * * @param FilterGroup $filterGroup * @param Collection $collection - * @deprecated 100.2.0 + * @deprecated 101.0.0 * @return void */ protected function addFilterGroupToCollection( @@ -219,7 +219,7 @@ protected function addFilterGroupToCollection( /** * Retrieve collection processor * - * @deprecated 100.2.0 + * @deprecated 101.0.0 * @return CollectionProcessorInterface */ private function getCollectionProcessor() diff --git a/app/code/Magento/SalesRule/Model/Rule/Condition/Product/Combine.php b/app/code/Magento/SalesRule/Model/Rule/Condition/Product/Combine.php index 1649dea80ef5b..d03135e18ce4f 100644 --- a/app/code/Magento/SalesRule/Model/Rule/Condition/Product/Combine.php +++ b/app/code/Magento/SalesRule/Model/Rule/Condition/Product/Combine.php @@ -89,6 +89,7 @@ public function collectValidatedAttributes($productCollection) /** * @inheritdoc + * @since 101.0.6 */ protected function _isValid($entity) { diff --git a/app/code/Magento/SalesRule/Model/RuleRepository.php b/app/code/Magento/SalesRule/Model/RuleRepository.php index 2cff0d64dba01..2016ae0dde1c7 100644 --- a/app/code/Magento/SalesRule/Model/RuleRepository.php +++ b/app/code/Magento/SalesRule/Model/RuleRepository.php @@ -184,7 +184,7 @@ public function deleteById($id) * * @param FilterGroup $filterGroup * @param Collection $collection - * @deprecated 100.2.0 + * @deprecated 101.0.0 * @return void */ protected function addFilterGroupToCollection( @@ -206,7 +206,7 @@ protected function addFilterGroupToCollection( /** * Retrieve collection processor * - * @deprecated 100.2.0 + * @deprecated 101.0.0 * @return CollectionProcessorInterface */ private function getCollectionProcessor() diff --git a/app/code/Magento/SalesRule/Model/Service/CouponManagementService.php b/app/code/Magento/SalesRule/Model/Service/CouponManagementService.php index b698190997d7e..7f355a62c4631 100644 --- a/app/code/Magento/SalesRule/Model/Service/CouponManagementService.php +++ b/app/code/Magento/SalesRule/Model/Service/CouponManagementService.php @@ -19,7 +19,7 @@ class CouponManagementService implements \Magento\SalesRule\Api\CouponManagement { /** * @var \Magento\SalesRule\Model\CouponFactory - * @deprecated + * @deprecated 101.1.2 */ protected $couponFactory; @@ -30,7 +30,7 @@ class CouponManagementService implements \Magento\SalesRule\Api\CouponManagement /** * @var \Magento\SalesRule\Model\ResourceModel\Coupon\CollectionFactory - * @deprecated + * @deprecated 101.1.2 */ protected $collectionFactory; @@ -41,7 +41,7 @@ class CouponManagementService implements \Magento\SalesRule\Api\CouponManagement /** * @var \Magento\SalesRule\Model\Spi\CouponResourceInterface - * @deprecated + * @deprecated 101.1.2 */ protected $resourceModel; diff --git a/app/code/Magento/SalesRule/composer.json b/app/code/Magento/SalesRule/composer.json index be89bc17ff1ef..a5e4a359f796f 100644 --- a/app/code/Magento/SalesRule/composer.json +++ b/app/code/Magento/SalesRule/composer.json @@ -6,29 +6,29 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-backend": "*", - "magento/module-catalog": "*", - "magento/module-catalog-rule": "*", - "magento/module-config": "*", - "magento/module-customer": "*", - "magento/module-directory": "*", - "magento/module-eav": "*", - "magento/module-payment": "*", - "magento/module-quote": "*", - "magento/module-reports": "*", - "magento/module-rule": "*", - "magento/module-sales": "*", - "magento/module-shipping": "*", - "magento/module-store": "*", - "magento/module-ui": "*", - "magento/module-widget": "*", - "magento/module-captcha": "*", - "magento/module-checkout": "*", - "magento/module-authorization": "*" + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-rule": "101.1.*", + "magento/module-config": "101.1.*", + "magento/module-customer": "102.0.*", + "magento/module-directory": "100.3.*", + "magento/module-eav": "102.0.*", + "magento/module-payment": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-reports": "100.3.*", + "magento/module-rule": "100.3.*", + "magento/module-sales": "102.0.*", + "magento/module-shipping": "100.3.*", + "magento/module-store": "101.0.*", + "magento/module-ui": "101.1.*", + "magento/module-widget": "101.1.*", + "magento/module-captcha": "100.3.*", + "magento/module-checkout": "100.3.*", + "magento/module-authorization": "100.3.*" }, "suggest": { - "magento/module-sales-rule-sample-data": "*" + "magento/module-sales-rule-sample-data": "Sample Data version: 100.3.*" }, "type": "magento2-module", "license": [ @@ -42,5 +42,6 @@ "psr-4": { "Magento\\SalesRule\\": "" } - } + }, + "version": "101.1.3" } diff --git a/app/code/Magento/SalesSequence/composer.json b/app/code/Magento/SalesSequence/composer.json index 5d9260ed2f68d..08a31afdfc586 100644 --- a/app/code/Magento/SalesSequence/composer.json +++ b/app/code/Magento/SalesSequence/composer.json @@ -6,7 +6,7 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*" + "magento/framework": "102.0.*" }, "type": "magento2-module", "license": [ @@ -20,5 +20,6 @@ "psr-4": { "Magento\\SalesSequence\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/SampleData/composer.json b/app/code/Magento/SampleData/composer.json index 510e65cdfcc06..784375f5a1796 100644 --- a/app/code/Magento/SampleData/composer.json +++ b/app/code/Magento/SampleData/composer.json @@ -6,10 +6,10 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*" + "magento/framework": "102.0.*" }, "suggest": { - "magento/sample-data-media": "*" + "magento/sample-data-media": "Sample Data version: 100.3.*" }, "type": "magento2-module", "license": [ @@ -24,5 +24,6 @@ "psr-4": { "Magento\\SampleData\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/Search/Model/AdapterFactory.php b/app/code/Magento/Search/Model/AdapterFactory.php index 917603ce57dc3..f6d2013bd4886 100644 --- a/app/code/Magento/Search/Model/AdapterFactory.php +++ b/app/code/Magento/Search/Model/AdapterFactory.php @@ -17,7 +17,7 @@ class AdapterFactory * Scope configuration * * @var \Magento\Framework\App\Config\ScopeConfigInterface - * @deprecated since it is not used anymore + * @deprecated 101.0.0 since it is not used anymore */ protected $scopeConfig; @@ -32,13 +32,13 @@ class AdapterFactory * Config path * * @var string - * @deprecated since it is not used anymore + * @deprecated 101.0.0 since it is not used anymore */ protected $path; /** * Config Scope - * @deprecated since it is not used anymore + * @deprecated 101.0.0 since it is not used anymore */ protected $scope; diff --git a/app/code/Magento/Search/Model/Search/PageSizeProvider.php b/app/code/Magento/Search/Model/Search/PageSizeProvider.php index 5572bac6addc3..ae2a8ca954d63 100644 --- a/app/code/Magento/Search/Model/Search/PageSizeProvider.php +++ b/app/code/Magento/Search/Model/Search/PageSizeProvider.php @@ -10,6 +10,7 @@ /** * Returns max page size by search engine name * @api + * @since 101.0.0 */ class PageSizeProvider { @@ -39,6 +40,7 @@ public function __construct( * Returns max_page_size depends on engine * * @return integer + * @since 101.0.0 */ public function getMaxPageSize() : int { diff --git a/app/code/Magento/Search/composer.json b/app/code/Magento/Search/composer.json index 52a152cc9da3d..dde6741bf2b3e 100644 --- a/app/code/Magento/Search/composer.json +++ b/app/code/Magento/Search/composer.json @@ -6,12 +6,12 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-backend": "*", - "magento/module-catalog-search": "*", - "magento/module-reports": "*", - "magento/module-store": "*", - "magento/module-ui": "*" + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog-search": "101.0.*", + "magento/module-reports": "100.3.*", + "magento/module-store": "101.0.*", + "magento/module-ui": "101.1.*" }, "type": "magento2-module", "license": [ @@ -25,5 +25,6 @@ "psr-4": { "Magento\\Search\\": "" } - } + }, + "version": "101.0.3" } diff --git a/app/code/Magento/Security/composer.json b/app/code/Magento/Security/composer.json index 83be788af3736..545621c35f412 100644 --- a/app/code/Magento/Security/composer.json +++ b/app/code/Magento/Security/composer.json @@ -6,13 +6,13 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-backend": "*", - "magento/module-store": "*", - "magento/module-user": "*" + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-store": "101.0.*", + "magento/module-user": "101.1.*" }, "suggest": { - "magento/module-customer": "*" + "magento/module-customer": "102.0.*" }, "type": "magento2-module", "license": [ @@ -26,5 +26,6 @@ "psr-4": { "Magento\\Security\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/SendFriend/Block/Send.php b/app/code/Magento/SendFriend/Block/Send.php index 1c4b550361359..6f2154ba29f47 100644 --- a/app/code/Magento/SendFriend/Block/Send.php +++ b/app/code/Magento/SendFriend/Block/Send.php @@ -228,6 +228,7 @@ public function canSend() /** * @inheritdoc + * @since 100.3.1 */ protected function _prepareLayout() { diff --git a/app/code/Magento/SendFriend/composer.json b/app/code/Magento/SendFriend/composer.json index f06f1b4a9e3e3..fc555a550a106 100644 --- a/app/code/Magento/SendFriend/composer.json +++ b/app/code/Magento/SendFriend/composer.json @@ -6,12 +6,12 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-catalog": "*", - "magento/module-customer": "*", - "magento/module-store": "*", - "magento/module-captcha": "*", - "magento/module-authorization": "*" + "magento/framework": "102.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-customer": "102.0.*", + "magento/module-store": "101.0.*", + "magento/module-captcha": "100.3.*", + "magento/module-authorization": "100.3.*" }, "type": "magento2-module", "license": [ @@ -25,5 +25,6 @@ "psr-4": { "Magento\\SendFriend\\": "" } - } + }, + "version": "100.3.3-p1" } diff --git a/app/code/Magento/SendFriend/view/frontend/email/product_share.html b/app/code/Magento/SendFriend/view/frontend/email/product_share.html index d2ed441494221..00a4d7b4d5ce5 100644 --- a/app/code/Magento/SendFriend/view/frontend/email/product_share.html +++ b/app/code/Magento/SendFriend/view/frontend/email/product_share.html @@ -10,10 +10,11 @@ "var email":"Recipient Email address", "var name":"Recipient name", "var message|raw":"Sender custom message", -"var sender_email":"Sender email", -"var sender_name":"Sender name", +"var sender_email":"Sender Email", +"var sender_name":"Sender Name", "var product_url":"URL for Product", -"var product_image":"URL for product small image (75 px)" +"var product_image":"URL for product small image (75 px)", +"var message":"Message" } @--> {{template config_path="design/email/header_template"}} diff --git a/app/code/Magento/SendFriendGraphQl/composer.json b/app/code/Magento/SendFriendGraphQl/composer.json index e458abd5cd5ff..cc9e1f4b79b93 100644 --- a/app/code/Magento/SendFriendGraphQl/composer.json +++ b/app/code/Magento/SendFriendGraphQl/composer.json @@ -4,10 +4,10 @@ "type": "magento2-module", "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-catalog": "*", - "magento/module-send-friend": "*", - "magento/module-graph-ql": "*" + "magento/framework": "102.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-send-friend": "100.3.*", + "magento/module-graph-ql": "100.3.*" }, "license": [ "OSL-3.0", @@ -20,5 +20,6 @@ "psr-4": { "Magento\\SendFriendGraphQl\\": "" } - } + }, + "version": "100.3.2" } diff --git a/app/code/Magento/Shipping/Model/Carrier/AbstractCarrier.php b/app/code/Magento/Shipping/Model/Carrier/AbstractCarrier.php index 76555ce8a6d8c..0965c4a472c25 100644 --- a/app/code/Magento/Shipping/Model/Carrier/AbstractCarrier.php +++ b/app/code/Magento/Shipping/Model/Carrier/AbstractCarrier.php @@ -332,6 +332,7 @@ public function checkAvailableShipCountries(\Magento\Framework\DataObject $reque * @param \Magento\Framework\DataObject $request * @return $this|bool|\Magento\Framework\DataObject * @SuppressWarnings(PHPMD.UnusedFormalParameter) + * @since 100.2.6 */ public function processAdditionalValidation(\Magento\Framework\DataObject $request) { @@ -343,7 +344,7 @@ public function processAdditionalValidation(\Magento\Framework\DataObject $reque * * @param \Magento\Framework\DataObject $request * @return $this|bool|\Magento\Framework\DataObject - * @deprecated + * @deprecated 100.2.6 * @SuppressWarnings(PHPMD.UnusedFormalParameter) */ public function proccessAdditionalValidation(\Magento\Framework\DataObject $request) diff --git a/app/code/Magento/Shipping/Model/Carrier/AbstractCarrierOnline.php b/app/code/Magento/Shipping/Model/Carrier/AbstractCarrierOnline.php index 27047ae46bf1f..c2238ff1a3809 100644 --- a/app/code/Magento/Shipping/Model/Carrier/AbstractCarrierOnline.php +++ b/app/code/Magento/Shipping/Model/Carrier/AbstractCarrierOnline.php @@ -303,7 +303,7 @@ public function getAllItems(RateRequest $request) * * @param \Magento\Framework\DataObject $request * @return $this|bool|\Magento\Framework\DataObject - * @deprecated + * @deprecated 100.2.6 * @SuppressWarnings(PHPMD.CyclomaticComplexity) * @SuppressWarnings(PHPMD.NPathComplexity) */ @@ -319,6 +319,7 @@ public function proccessAdditionalValidation(\Magento\Framework\DataObject $requ * @return $this|bool|\Magento\Framework\DataObject * @SuppressWarnings(PHPMD.CyclomaticComplexity) * @SuppressWarnings(PHPMD.NPathComplexity) + * @since 100.2.6 */ public function processAdditionalValidation(\Magento\Framework\DataObject $request) { diff --git a/app/code/Magento/Shipping/Model/ShipmentProviderInterface.php b/app/code/Magento/Shipping/Model/ShipmentProviderInterface.php index 4ff9ba0008340..546afdca5028b 100644 --- a/app/code/Magento/Shipping/Model/ShipmentProviderInterface.php +++ b/app/code/Magento/Shipping/Model/ShipmentProviderInterface.php @@ -11,6 +11,7 @@ * Provide shipment items data. * * @api + * @since 100.3.0 */ interface ShipmentProviderInterface { @@ -18,6 +19,7 @@ interface ShipmentProviderInterface * Retrieve shipment items. * * @return array + * @since 100.3.0 */ public function getShipmentData(): array; } diff --git a/app/code/Magento/Shipping/composer.json b/app/code/Magento/Shipping/composer.json index 1e3ea3701a7ff..d812735126bc6 100644 --- a/app/code/Magento/Shipping/composer.json +++ b/app/code/Magento/Shipping/composer.json @@ -7,25 +7,25 @@ "require": { "php": "~7.1.3||~7.2.0||~7.3.0", "ext-gd": "*", - "magento/framework": "*", - "magento/module-backend": "*", - "magento/module-catalog": "*", - "magento/module-catalog-inventory": "*", - "magento/module-contact": "*", - "magento/module-customer": "*", - "magento/module-directory": "*", - "magento/module-payment": "*", - "magento/module-quote": "*", - "magento/module-sales": "*", - "magento/module-store": "*", - "magento/module-tax": "*", - "magento/module-ui": "*", - "magento/module-user": "*" + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-inventory": "100.3.*", + "magento/module-contact": "100.3.*", + "magento/module-customer": "102.0.*", + "magento/module-directory": "100.3.*", + "magento/module-payment": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-sales": "102.0.*", + "magento/module-store": "101.0.*", + "magento/module-tax": "100.3.*", + "magento/module-ui": "101.1.*", + "magento/module-user": "101.1.*" }, "suggest": { - "magento/module-fedex": "*", - "magento/module-ups": "*", - "magento/module-config": "*" + "magento/module-fedex": "100.3.*", + "magento/module-ups": "100.3.*", + "magento/module-config": "101.1.*" }, "type": "magento2-module", "license": [ @@ -39,5 +39,6 @@ "psr-4": { "Magento\\Shipping\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/Signifyd/composer.json b/app/code/Magento/Signifyd/composer.json index c0214e9a2813c..50590bbc84fad 100644 --- a/app/code/Magento/Signifyd/composer.json +++ b/app/code/Magento/Signifyd/composer.json @@ -5,19 +5,19 @@ "sort-packages": true }, "require": { - "magento/framework": "*", - "magento/module-backend": "*", - "magento/module-checkout": "*", - "magento/module-config": "*", - "magento/module-customer": "*", - "magento/module-directory": "*", - "magento/module-payment": "*", - "magento/module-sales": "*", - "magento/module-store": "*", + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-checkout": "100.3.*", + "magento/module-config": "101.1.*", + "magento/module-customer": "102.0.*", + "magento/module-directory": "100.3.*", + "magento/module-payment": "100.3.*", + "magento/module-sales": "102.0.*", + "magento/module-store": "101.0.*", "php": "~7.1.3||~7.2.0||~7.3.0" }, "suggest": { - "magento/module-config": "*" + "magento/module-config": "101.1.*" }, "type": "magento2-module", "license": [ @@ -31,5 +31,6 @@ "psr-4": { "Magento\\Signifyd\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/Sitemap/Block/Robots.php b/app/code/Magento/Sitemap/Block/Robots.php index ac99b2ab1cd4a..2beb31bd06570 100644 --- a/app/code/Magento/Sitemap/Block/Robots.php +++ b/app/code/Magento/Sitemap/Block/Robots.php @@ -18,7 +18,7 @@ * Prepares sitemap links to add to the robots.txt file * * @api - * @since 100.2.0 + * @since 100.1.5 */ class Robots extends AbstractBlock implements IdentityInterface { @@ -70,7 +70,7 @@ public function __construct( * and adds links for this sitemap files into result data. * * @return string - * @since 100.2.0 + * @since 100.1.5 */ protected function _toHtml() { @@ -102,7 +102,7 @@ protected function _toHtml() * * @param int[] $storeIds * @return array - * @since 100.2.0 + * @since 100.1.5 */ protected function getSitemapLinks(array $storeIds) { @@ -128,7 +128,7 @@ protected function getSitemapLinks(array $storeIds) * Get unique page cache identities * * @return array - * @since 100.2.0 + * @since 100.1.5 */ public function getIdentities() { diff --git a/app/code/Magento/Sitemap/Helper/Data.php b/app/code/Magento/Sitemap/Helper/Data.php index 44661bbef888e..118aeff28a14f 100644 --- a/app/code/Magento/Sitemap/Helper/Data.php +++ b/app/code/Magento/Sitemap/Helper/Data.php @@ -12,7 +12,7 @@ use Magento\Store\Model\ScopeInterface; /** - * @deprecated + * @deprecated 100.3.0 */ class Data extends \Magento\Framework\App\Helper\AbstractHelper { @@ -70,7 +70,7 @@ class Data extends \Magento\Framework\App\Helper\AbstractHelper * * @param int $storeId * @return int - * @deprecated + * @deprecated 100.3.0 * @see SitemapConfigReader::getMaximumLinesNumber() */ public function getMaximumLinesNumber($storeId) @@ -87,7 +87,7 @@ public function getMaximumLinesNumber($storeId) * * @param int $storeId * @return int - * @deprecated + * @deprecated 100.3.0 * @see SitemapConfigReader::getMaximumFileSize() */ public function getMaximumFileSize($storeId) @@ -104,7 +104,7 @@ public function getMaximumFileSize($storeId) * * @param int $storeId * @return string - * @deprecated + * @deprecated 100.3.0 * @see CategoryConfigReader::getChangeFrequency() */ public function getCategoryChangefreq($storeId) @@ -121,7 +121,7 @@ public function getCategoryChangefreq($storeId) * * @param int $storeId * @return string - * @deprecated + * @deprecated 100.3.0 * @see ProductConfigReader::getChangeFrequency() */ public function getProductChangefreq($storeId) @@ -138,7 +138,7 @@ public function getProductChangefreq($storeId) * * @param int $storeId * @return string - * @deprecated + * @deprecated 100.3.0 * @see CmsPageConfigReader::getChangeFrequency() */ public function getPageChangefreq($storeId) @@ -155,7 +155,7 @@ public function getPageChangefreq($storeId) * * @param int $storeId * @return string - * @deprecated + * @deprecated 100.3.0 * @see CategoryConfigReader::getPriority() */ public function getCategoryPriority($storeId) @@ -172,7 +172,7 @@ public function getCategoryPriority($storeId) * * @param int $storeId * @return string - * @deprecated + * @deprecated 100.3.0 * @see ProductConfigReader::getPriority() */ public function getProductPriority($storeId) @@ -189,7 +189,7 @@ public function getProductPriority($storeId) * * @param int $storeId * @return string - * @deprecated + * @deprecated 100.3.0 * @see CmsPageConfigReader::getPriority() */ public function getPagePriority($storeId) @@ -206,7 +206,7 @@ public function getPagePriority($storeId) * * @param int $storeId * @return int - * @deprecated + * @deprecated 100.3.0 * @see SitemapConfigReader::getEnableSubmissionRobots() */ public function getEnableSubmissionRobots($storeId) @@ -223,7 +223,7 @@ public function getEnableSubmissionRobots($storeId) * * @param int $storeId * @return string - * @deprecated + * @deprecated 100.3.0 * @see SitemapConfigReader::getProductImageIncludePolicy() */ public function getProductImageIncludePolicy($storeId) @@ -239,7 +239,7 @@ public function getProductImageIncludePolicy($storeId) * Get list valid paths for generate a sitemap XML file * * @return string[] - * @deprecated + * @deprecated 100.3.0 * @see SitemapConfigReader::getValidPaths() */ public function getValidPaths() diff --git a/app/code/Magento/Sitemap/Model/ItemProvider/ConfigReaderInterface.php b/app/code/Magento/Sitemap/Model/ItemProvider/ConfigReaderInterface.php index 1e8b545728a04..6c8ff087aeb60 100644 --- a/app/code/Magento/Sitemap/Model/ItemProvider/ConfigReaderInterface.php +++ b/app/code/Magento/Sitemap/Model/ItemProvider/ConfigReaderInterface.php @@ -10,6 +10,7 @@ * Item resolver config reader interface * * @api + * @since 100.3.0 */ interface ConfigReaderInterface { @@ -18,6 +19,7 @@ interface ConfigReaderInterface * * @param int $storeId * @return string + * @since 100.3.0 */ public function getPriority($storeId); @@ -26,6 +28,7 @@ public function getPriority($storeId); * * @param int $storeId * @return string + * @since 100.3.0 */ public function getChangeFrequency($storeId); } diff --git a/app/code/Magento/Sitemap/Model/ItemProvider/ItemProviderInterface.php b/app/code/Magento/Sitemap/Model/ItemProvider/ItemProviderInterface.php index 89ad2afdd01a2..da56f86b7237c 100644 --- a/app/code/Magento/Sitemap/Model/ItemProvider/ItemProviderInterface.php +++ b/app/code/Magento/Sitemap/Model/ItemProvider/ItemProviderInterface.php @@ -11,6 +11,7 @@ * Sitemap item provider interface * * @api + * @since 100.3.0 */ interface ItemProviderInterface { @@ -19,6 +20,7 @@ interface ItemProviderInterface * * @param int $storeId * @return SitemapItemInterface[] + * @since 100.3.0 */ public function getItems($storeId); } diff --git a/app/code/Magento/Sitemap/Model/ResourceModel/Catalog/Product.php b/app/code/Magento/Sitemap/Model/ResourceModel/Catalog/Product.php index 23a1c0fd09b7b..0062f0d556eec 100644 --- a/app/code/Magento/Sitemap/Model/ResourceModel/Catalog/Product.php +++ b/app/code/Magento/Sitemap/Model/ResourceModel/Catalog/Product.php @@ -474,6 +474,7 @@ protected function _getMediaConfig() * * @param \Magento\Framework\DB\Select $select * @return \Magento\Framework\DB\Select + * @since 100.2.1 */ public function prepareSelectStatement(\Magento\Framework\DB\Select $select) { diff --git a/app/code/Magento/Sitemap/Model/ResourceModel/Cms/Page.php b/app/code/Magento/Sitemap/Model/ResourceModel/Cms/Page.php index 01addd0c19666..92cbcbd500e8a 100644 --- a/app/code/Magento/Sitemap/Model/ResourceModel/Cms/Page.php +++ b/app/code/Magento/Sitemap/Model/ResourceModel/Cms/Page.php @@ -38,7 +38,6 @@ class Page extends AbstractDb /** * @var GetUtilityPageIdentifiersInterface - * @since 100.2.0 */ private $getUtilityPageIdentifiers; diff --git a/app/code/Magento/Sitemap/Model/Sitemap.php b/app/code/Magento/Sitemap/Model/Sitemap.php index d50e857c51513..5a42fc2ddf996 100644 --- a/app/code/Magento/Sitemap/Model/Sitemap.php +++ b/app/code/Magento/Sitemap/Model/Sitemap.php @@ -159,7 +159,7 @@ class Sitemap extends \Magento\Framework\Model\AbstractModel implements \Magento /** * @inheritdoc * - * @since 100.2.0 + * @since 100.1.5 */ protected $_cacheTag = [Value::CACHE_TAG]; @@ -285,8 +285,9 @@ protected function _getStream() * * @param DataObject $sitemapItem * @return $this - * @deprecated 100.2.0 + * @deprecated 100.3.0 * @see ItemProviderInterface + * @since 100.2.0 */ public function addSitemapItem(DataObject $sitemapItem) { @@ -299,8 +300,9 @@ public function addSitemapItem(DataObject $sitemapItem) * Collect all sitemap items * * @return void - * @deprecated 100.2.0 + * @deprecated 100.3.0 * @see ItemProviderInterface + * @since 100.2.0 */ public function collectSitemapItems() { @@ -698,7 +700,7 @@ protected function _getUrl($url, $type = UrlInterface::URL_TYPE_LINK) * * @param string $url * @return string - * @deprecated No longer used, as we're generating product image URLs inside collection instead + * @deprecated 100.2.0 No longer used, as we're generating product image URLs inside collection instead * @see \Magento\Sitemap\Model\ResourceModel\Catalog\Product::_loadProductImages() */ protected function _getMediaUrl($url) @@ -775,7 +777,7 @@ public function getSitemapUrl($sitemapPath, $sitemapFileName) * Check is enabled submission to robots.txt * * @return bool - * @deprecated Because the robots.txt file is not generated anymore, + * @deprecated 100.1.5 Because the robots.txt file is not generated anymore, * this method is not needed and will be removed in major release. */ protected function _isEnabledSubmissionRobots() @@ -789,7 +791,7 @@ protected function _isEnabledSubmissionRobots() * * @param string $sitemapFileName * @return void - * @deprecated Because the robots.txt file is not generated anymore, + * @deprecated 100.1.5 Because the robots.txt file is not generated anymore, * this method is not needed and will be removed in major release. */ protected function _addSitemapToRobotsTxt($sitemapFileName) @@ -859,7 +861,7 @@ private function mapToSitemapItem() * Get unique page cache identities * * @return array - * @since 100.2.0 + * @since 100.1.5 */ public function getIdentities() { diff --git a/app/code/Magento/Sitemap/Model/SitemapConfigReaderInterface.php b/app/code/Magento/Sitemap/Model/SitemapConfigReaderInterface.php index f094b8856ab14..f11b54c5842f8 100644 --- a/app/code/Magento/Sitemap/Model/SitemapConfigReaderInterface.php +++ b/app/code/Magento/Sitemap/Model/SitemapConfigReaderInterface.php @@ -10,6 +10,7 @@ * Sitemap config reader interface * * @api + * @since 100.3.0 */ interface SitemapConfigReaderInterface { @@ -18,6 +19,7 @@ interface SitemapConfigReaderInterface * * @param int $storeId * @return int + * @since 100.3.0 */ public function getEnableSubmissionRobots($storeId); @@ -26,6 +28,7 @@ public function getEnableSubmissionRobots($storeId); * * @param int $storeId * @return int + * @since 100.3.0 */ public function getMaximumFileSize($storeId); @@ -34,6 +37,7 @@ public function getMaximumFileSize($storeId); * * @param int $storeId * @return int + * @since 100.3.0 */ public function getMaximumLinesNumber($storeId); @@ -42,6 +46,7 @@ public function getMaximumLinesNumber($storeId); * * @param int $storeId * @return string + * @since 100.3.0 */ public function getProductImageIncludePolicy($storeId); @@ -49,6 +54,7 @@ public function getProductImageIncludePolicy($storeId); * Get list valid paths for generate a sitemap XML file * * @return string[] + * @since 100.3.0 */ public function getValidPaths(); } diff --git a/app/code/Magento/Sitemap/Model/SitemapItemInterface.php b/app/code/Magento/Sitemap/Model/SitemapItemInterface.php index afd95768a2c84..94f19c5726b13 100644 --- a/app/code/Magento/Sitemap/Model/SitemapItemInterface.php +++ b/app/code/Magento/Sitemap/Model/SitemapItemInterface.php @@ -10,6 +10,7 @@ * Representation of sitemap item * * @api + * @since 100.3.0 */ interface SitemapItemInterface { @@ -18,6 +19,7 @@ interface SitemapItemInterface * Get url * * @return string + * @since 100.3.0 */ public function getUrl(); @@ -25,6 +27,7 @@ public function getUrl(); * Get priority * * @return string + * @since 100.3.0 */ public function getPriority(); @@ -32,6 +35,7 @@ public function getPriority(); * Get change frequency * * @return string + * @since 100.3.0 */ public function getChangeFrequency(); @@ -39,6 +43,7 @@ public function getChangeFrequency(); * Get images * * @return array|null + * @since 100.3.0 */ public function getImages(); @@ -46,6 +51,7 @@ public function getImages(); * Get last update date * * @return string|null + * @since 100.3.0 */ public function getUpdatedAt(); } diff --git a/app/code/Magento/Sitemap/composer.json b/app/code/Magento/Sitemap/composer.json index a23da13e7b6de..654b88d31d610 100644 --- a/app/code/Magento/Sitemap/composer.json +++ b/app/code/Magento/Sitemap/composer.json @@ -6,19 +6,19 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-backend": "*", - "magento/module-catalog": "*", - "magento/module-catalog-url-rewrite": "*", - "magento/module-cms": "*", - "magento/module-config": "*", - "magento/module-eav": "*", - "magento/module-media-storage": "*", - "magento/module-robots": "*", - "magento/module-store": "*" + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-url-rewrite": "100.3.*", + "magento/module-cms": "103.0.*", + "magento/module-config": "101.1.*", + "magento/module-eav": "102.0.*", + "magento/module-media-storage": "100.3.*", + "magento/module-robots": "101.0.*", + "magento/module-store": "101.0.*" }, "suggest": { - "magento/module-config": "*" + "magento/module-config": "101.1.*" }, "type": "magento2-module", "license": [ @@ -32,5 +32,6 @@ "psr-4": { "Magento\\Sitemap\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/Store/Api/Data/StoreInterface.php b/app/code/Magento/Store/Api/Data/StoreInterface.php index 0f724a23fc096..527a7038e261a 100644 --- a/app/code/Magento/Store/Api/Data/StoreInterface.php +++ b/app/code/Magento/Store/Api/Data/StoreInterface.php @@ -69,11 +69,13 @@ public function getStoreGroupId(); /** * @param int $isActive * @return $this + * @since 101.0.0 */ public function setIsActive($isActive); /** * @return int + * @since 101.0.0 */ public function getIsActive(); diff --git a/app/code/Magento/Store/Api/StoreResolverInterface.php b/app/code/Magento/Store/Api/StoreResolverInterface.php index 7c32e321fa6c4..d03d68d213135 100644 --- a/app/code/Magento/Store/Api/StoreResolverInterface.php +++ b/app/code/Magento/Store/Api/StoreResolverInterface.php @@ -8,7 +8,7 @@ /** * Store resolver interface * - * @deprecated + * @deprecated 101.0.0 * @see \Magento\Store\Model\StoreManagerInterface */ interface StoreResolverInterface diff --git a/app/code/Magento/Store/Controller/Store/SwitchAction.php b/app/code/Magento/Store/Controller/Store/SwitchAction.php index d8ac1b308d7ed..00fc35713a3ca 100644 --- a/app/code/Magento/Store/Controller/Store/SwitchAction.php +++ b/app/code/Magento/Store/Controller/Store/SwitchAction.php @@ -36,7 +36,7 @@ class SwitchAction extends Action implements HttpGetActionInterface, HttpPostAct /** * @var HttpContext - * @deprecated + * @deprecated 100.2.5 */ protected $httpContext; @@ -47,7 +47,7 @@ class SwitchAction extends Action implements HttpGetActionInterface, HttpPostAct /** * @var StoreManagerInterface - * @deprecated + * @deprecated 100.2.5 */ protected $storeManager; diff --git a/app/code/Magento/Store/Model/Config/Importer/Processor/Create.php b/app/code/Magento/Store/Model/Config/Importer/Processor/Create.php index 1fb9f1c224d3e..5502a8844138f 100644 --- a/app/code/Magento/Store/Model/Config/Importer/Processor/Create.php +++ b/app/code/Magento/Store/Model/Config/Importer/Processor/Create.php @@ -51,7 +51,7 @@ class Create implements ProcessorInterface /** * The event manager. * - * @deprecated logic moved inside of "afterSave" method + * @deprecated 100.2.5 logic moved inside of "afterSave" method * \Magento\Store\Model\Website::afterSave * \Magento\Store\Model\Group::afterSave * \Magento\Store\Model\Store::afterSave diff --git a/app/code/Magento/Store/Model/Group.php b/app/code/Magento/Store/Model/Group.php index 4cd7bc93d3334..7f1e71c422251 100644 --- a/app/code/Magento/Store/Model/Group.php +++ b/app/code/Magento/Store/Model/Group.php @@ -454,6 +454,7 @@ public function afterDelete() /** * @inheritdoc + * @since 100.2.5 */ public function afterSave() { diff --git a/app/code/Magento/Store/Model/Store.php b/app/code/Magento/Store/Model/Store.php index dab9c55c216d9..e98b222e36009 100644 --- a/app/code/Magento/Store/Model/Store.php +++ b/app/code/Magento/Store/Model/Store.php @@ -208,7 +208,7 @@ class Store extends AbstractExtensibleModel implements * Flag that shows that backend URLs are secure * * @var boolean|null - * @deprecated unused protected property + * @deprecated 101.0.0 unused protected property */ protected $_isAdminSecure = null; @@ -1133,6 +1133,7 @@ public function setStoreGroupId($storeGroupId) /** * @inheritdoc + * @since 101.0.0 */ public function getIsActive() { @@ -1141,6 +1142,7 @@ public function getIsActive() /** * @inheritdoc + * @since 101.0.0 */ public function setIsActive($isActive) { @@ -1394,6 +1396,7 @@ public function getStorePath() /** * @inheritdoc + * @since 100.1.0 */ public function getScopeType() { @@ -1402,6 +1405,7 @@ public function getScopeType() /** * @inheritdoc + * @since 100.1.0 */ public function getScopeTypeName() { diff --git a/app/code/Magento/Store/Model/StoreResolver.php b/app/code/Magento/Store/Model/StoreResolver.php index aafdd15138981..2a950b699abe7 100644 --- a/app/code/Magento/Store/Model/StoreResolver.php +++ b/app/code/Magento/Store/Model/StoreResolver.php @@ -28,12 +28,12 @@ class StoreResolver implements \Magento\Store\Api\StoreResolverInterface protected $storeCookieManager; /** - * @deprecated + * @deprecated 101.0.0 */ protected $cache; /** - * @deprecated + * @deprecated 101.0.0 */ protected $readerList; @@ -142,7 +142,7 @@ protected function getStoresData() : array * Read stores data. First element is allowed store ids, second is default store id * * @return array - * @deprecated + * @deprecated 101.0.0 * @see \Magento\Store\Model\StoreResolver::getStoresData */ protected function readStoresData() : array diff --git a/app/code/Magento/Store/Model/System/Store.php b/app/code/Magento/Store/Model/System/Store.php index 53338a8fec5ae..c898e242786d3 100644 --- a/app/code/Magento/Store/Model/System/Store.php +++ b/app/code/Magento/Store/Model/System/Store.php @@ -143,6 +143,7 @@ public function getStoreValuesForForm($empty = false, $all = false) $values[] = [ 'label' => str_repeat($nonEscapableNbspChar, 4) . $store->getName(), 'value' => $store->getId(), + '__disableTmpl' => true, ]; } if ($groupShow) { diff --git a/app/code/Magento/Store/Setup/Patch/Schema/InitializeStoresAndWebsites.php b/app/code/Magento/Store/Setup/Patch/Schema/InitializeStoresAndWebsites.php index 05e46e04b5c96..dc1932bdd8943 100644 --- a/app/code/Magento/Store/Setup/Patch/Schema/InitializeStoresAndWebsites.php +++ b/app/code/Magento/Store/Setup/Patch/Schema/InitializeStoresAndWebsites.php @@ -142,7 +142,7 @@ public function apply() /** * Get default category. * - * @deprecated 100.1.0 + * @deprecated 101.0.0 * @return DefaultCategory */ private function getDefaultCategory() diff --git a/app/code/Magento/Store/Test/Unit/Model/System/StoreTest.php b/app/code/Magento/Store/Test/Unit/Model/System/StoreTest.php index 6befb28e35383..d8539eb0f7ffc 100644 --- a/app/code/Magento/Store/Test/Unit/Model/System/StoreTest.php +++ b/app/code/Magento/Store/Test/Unit/Model/System/StoreTest.php @@ -271,11 +271,15 @@ public function getStoreValuesForFormDataProvider() [ 'label' => str_repeat($nonEscapableNbspChar, 4) . $groupName, 'value' => [ - ['label' => str_repeat($nonEscapableNbspChar, 4) . $storeName, 'value' => $storeId] + [ + 'label' => str_repeat($nonEscapableNbspChar, 4) . $storeName, + 'value' => $storeId, + '__disableTmpl' => true, + ], ], '__disableTmpl' => true ], - ] + ], ], ]; } diff --git a/app/code/Magento/Store/Ui/Component/Listing/Column/Store/Options.php b/app/code/Magento/Store/Ui/Component/Listing/Column/Store/Options.php index 907eb74e20fa2..9dba57daceae3 100644 --- a/app/code/Magento/Store/Ui/Component/Listing/Column/Store/Options.php +++ b/app/code/Magento/Store/Ui/Component/Listing/Column/Store/Options.php @@ -68,26 +68,6 @@ public function toOptionArray() return $this->options; } - /** - * Sanitize website/store option name - * - * @param string $name - * - * @return string - */ - protected function sanitizeName($name) - { - $matches = []; - preg_match('/\$[:]*{(.)*}/', $name, $matches); - if (count($matches) > 0) { - $name = $this->escaper->escapeHtml($this->escaper->escapeJs($name)); - } else { - $name = $this->escaper->escapeHtml($name); - } - - return $name; - } - /** * Generate current options * @@ -108,22 +88,26 @@ protected function generateCurrentOptions() /** @var \Magento\Store\Model\Store $store */ foreach ($storeCollection as $store) { if ($store->getGroupId() == $group->getId()) { - $name = $this->sanitizeName($store->getName()); + $name = $store->getName(); $stores[$name]['label'] = str_repeat(' ', 8) . $name; $stores[$name]['value'] = $store->getId(); + $stores[$name]['__disableTmpl'] = true; } } if (!empty($stores)) { - $name = $this->sanitizeName($group->getName()); + $name = $group->getName(); $groups[$name]['label'] = str_repeat(' ', 4) . $name; $groups[$name]['value'] = array_values($stores); + $groups[$name]['__disableTmpl'] = true; + } } } if (!empty($groups)) { - $name = $this->sanitizeName($website->getName()); + $name = $website->getName(); $this->currentOptions[$name]['label'] = $name; $this->currentOptions[$name]['value'] = array_values($groups); + $this->currentOptions[$name]['__disableTmpl'] = true; } } } diff --git a/app/code/Magento/Store/composer.json b/app/code/Magento/Store/composer.json index 1ca87ec068d47..490dd3c76d48a 100644 --- a/app/code/Magento/Store/composer.json +++ b/app/code/Magento/Store/composer.json @@ -6,18 +6,18 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-catalog": "*", - "magento/module-config": "*", - "magento/module-directory": "*", - "magento/module-media-storage": "*", - "magento/module-ui": "*", - "magento/module-customer": "*", - "magento/module-authorization": "*", - "magento/module-backend": "*" + "magento/framework": "102.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-config": "101.1.*", + "magento/module-directory": "100.3.*", + "magento/module-media-storage": "100.3.*", + "magento/module-ui": "101.1.*", + "magento/module-customer": "102.0.*", + "magento/module-authorization": "100.3.*", + "magento/module-backend": "101.0.*" }, "suggest": { - "magento/module-deploy": "*" + "magento/module-deploy": "100.3.*" }, "type": "magento2-module", "license": [ @@ -31,5 +31,6 @@ "psr-4": { "Magento\\Store\\": "" } - } + }, + "version": "101.0.3-p1" } diff --git a/app/code/Magento/StoreGraphQl/composer.json b/app/code/Magento/StoreGraphQl/composer.json index 4a370fae354c5..9e9e1eb4cc104 100644 --- a/app/code/Magento/StoreGraphQl/composer.json +++ b/app/code/Magento/StoreGraphQl/composer.json @@ -4,9 +4,9 @@ "type": "magento2-module", "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-store": "*", - "magento/module-graph-ql": "*" + "magento/framework": "102.0.*", + "magento/module-store": "101.0.*", + "magento/module-graph-ql": "100.3.*" }, "license": [ "OSL-3.0", @@ -19,5 +19,6 @@ "psr-4": { "Magento\\StoreGraphQl\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/Swagger/Api/Data/SchemaTypeInterface.php b/app/code/Magento/Swagger/Api/Data/SchemaTypeInterface.php index f1bc6fcc105dc..f7167f6494312 100644 --- a/app/code/Magento/Swagger/Api/Data/SchemaTypeInterface.php +++ b/app/code/Magento/Swagger/Api/Data/SchemaTypeInterface.php @@ -14,6 +14,7 @@ * Swagger Schema Type. * * @api + * @since 100.2.4 */ interface SchemaTypeInterface extends ArgumentInterface { @@ -21,6 +22,7 @@ interface SchemaTypeInterface extends ArgumentInterface * Retrieve the available types of Swagger schema. * * @return string + * @since 100.2.4 */ public function getCode(); @@ -29,6 +31,7 @@ public function getCode(); * * @param string|null $store * @return string + * @since 100.2.4 */ public function getSchemaUrlPath($store = null); } diff --git a/app/code/Magento/Swagger/Block/Index.php b/app/code/Magento/Swagger/Block/Index.php index 549495190ef34..8eecfbb24935d 100644 --- a/app/code/Magento/Swagger/Block/Index.php +++ b/app/code/Magento/Swagger/Block/Index.php @@ -17,6 +17,7 @@ * @method SchemaTypeInterface[] getSchemaTypes() * @method bool hasSchemaTypes() * @method string getDefaultSchemaTypeCode() + * @since 100.2.1 */ class Index extends Template { @@ -53,6 +54,7 @@ private function getSchemaType() /** * @return string|null + * @since 100.2.1 */ public function getSchemaUrl() { diff --git a/app/code/Magento/Swagger/composer.json b/app/code/Magento/Swagger/composer.json index 57c05857224a0..d171903421f55 100644 --- a/app/code/Magento/Swagger/composer.json +++ b/app/code/Magento/Swagger/composer.json @@ -6,7 +6,7 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*" + "magento/framework": "102.0.*" }, "type": "magento2-module", "license": [ @@ -20,5 +20,6 @@ "psr-4": { "Magento\\Swagger\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/SwaggerWebapi/composer.json b/app/code/Magento/SwaggerWebapi/composer.json index be2fa2db5d1b6..70cd49fc49dfe 100644 --- a/app/code/Magento/SwaggerWebapi/composer.json +++ b/app/code/Magento/SwaggerWebapi/composer.json @@ -6,8 +6,8 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-swagger": "*" + "magento/framework": "102.0.*", + "magento/module-swagger": "100.3.*" }, "type": "magento2-module", "license": [ @@ -21,5 +21,6 @@ "psr-4": { "Magento\\SwaggerWebapi\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/SwaggerWebapiAsync/composer.json b/app/code/Magento/SwaggerWebapiAsync/composer.json index 602a54ecf0cb1..3945ac5392122 100644 --- a/app/code/Magento/SwaggerWebapiAsync/composer.json +++ b/app/code/Magento/SwaggerWebapiAsync/composer.json @@ -6,11 +6,11 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-swagger": "*" + "magento/framework": "102.0.*", + "magento/module-swagger": "100.3.*" }, "suggest": { - "magento/module-config": "*" + "magento/module-config": "101.1.*" }, "type": "magento2-module", "license": [ @@ -24,5 +24,6 @@ "psr-4": { "Magento\\SwaggerWebapiAsync\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/Swatches/Block/Product/Renderer/Configurable.php b/app/code/Magento/Swatches/Block/Product/Renderer/Configurable.php index 0848f566f67bb..6536d85548d9b 100644 --- a/app/code/Magento/Swatches/Block/Product/Renderer/Configurable.php +++ b/app/code/Magento/Swatches/Block/Product/Renderer/Configurable.php @@ -75,7 +75,7 @@ class Configurable extends \Magento\ConfigurableProduct\Block\Product\View\Type\ /** * Indicate if product has one or more Swatch attributes * - * @deprecated 100.1.5 unused + * @deprecated 100.1.0 unused * * @var boolean */ @@ -244,7 +244,7 @@ protected function getSwatchAttributesData() /** * Init isProductHasSwatchAttribute. * - * @deprecated 100.1.5 Method isProductHasSwatchAttribute() is used instead of this. + * @deprecated 100.2.0 Method isProductHasSwatchAttribute() is used instead of this. * * @codeCoverageIgnore * @return void @@ -504,6 +504,7 @@ public function getIdentities() * Get Swatch image size config data. * * @return string + * @since 100.2.5 */ public function getJsonSwatchSizeConfig() { diff --git a/app/code/Magento/Swatches/Block/Product/Renderer/Listing/Configurable.php b/app/code/Magento/Swatches/Block/Product/Renderer/Listing/Configurable.php index 2e4980c2fbfd0..d801a040ce665 100644 --- a/app/code/Magento/Swatches/Block/Product/Renderer/Listing/Configurable.php +++ b/app/code/Magento/Swatches/Block/Product/Renderer/Listing/Configurable.php @@ -159,6 +159,7 @@ public function getJsonConfig() * Composes configuration for js price format * * @return string + * @since 100.2.3 */ public function getPriceFormatJson() { @@ -169,6 +170,7 @@ public function getPriceFormatJson() * Composes configuration for js price * * @return string + * @since 100.2.3 */ public function getPricesJson() { @@ -260,6 +262,7 @@ private function getLayeredAttributesIfExists(Product $configurableProduct, arra /** * @inheritdoc + * @since 100.3.1 */ public function getCacheKeyInfo() { diff --git a/app/code/Magento/Swatches/Model/ResourceModel/Swatch.php b/app/code/Magento/Swatches/Model/ResourceModel/Swatch.php index 9ad62265be21f..121d85ecc181d 100644 --- a/app/code/Magento/Swatches/Model/ResourceModel/Swatch.php +++ b/app/code/Magento/Swatches/Model/ResourceModel/Swatch.php @@ -47,6 +47,7 @@ public function saveDefaultSwatchOption($id, $defaultValue) * @param array $optionIDs * @param int $type * @throws \Magento\Framework\Exception\LocalizedException + * @since 100.2.4 */ public function clearSwatchOptionByOptionIdAndType($optionIDs, $type = null) { diff --git a/app/code/Magento/Swatches/composer.json b/app/code/Magento/Swatches/composer.json index 072b80443ba84..ece800674656c 100644 --- a/app/code/Magento/Swatches/composer.json +++ b/app/code/Magento/Swatches/composer.json @@ -6,21 +6,21 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-backend": "*", - "magento/module-catalog": "*", - "magento/module-config": "*", - "magento/module-configurable-product": "*", - "magento/module-customer": "*", - "magento/module-eav": "*", - "magento/module-page-cache": "*", - "magento/module-media-storage": "*", - "magento/module-store": "*", - "magento/module-theme": "*" + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-config": "101.1.*", + "magento/module-configurable-product": "100.3.*", + "magento/module-customer": "102.0.*", + "magento/module-eav": "102.0.*", + "magento/module-page-cache": "100.3.*", + "magento/module-media-storage": "100.3.*", + "magento/module-store": "101.0.*", + "magento/module-theme": "101.0.*" }, "suggest": { - "magento/module-layered-navigation": "*", - "magento/module-swatches-sample-data": "*" + "magento/module-layered-navigation": "100.3.*", + "magento/module-swatches-sample-data": "Sample Data version: 100.3.*" }, "type": "magento2-module", "license": [ @@ -34,5 +34,6 @@ "psr-4": { "Magento\\Swatches\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/SwatchesGraphQl/composer.json b/app/code/Magento/SwatchesGraphQl/composer.json index 3589795a30d3b..fbb3530a9d157 100644 --- a/app/code/Magento/SwatchesGraphQl/composer.json +++ b/app/code/Magento/SwatchesGraphQl/composer.json @@ -4,12 +4,12 @@ "type": "magento2-module", "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-swatches": "*", - "magento/module-catalog": "*" + "magento/framework": "102.0.*", + "magento/module-swatches": "100.3.*", + "magento/module-catalog": "103.0.*" }, "suggest": { - "magento/module-catalog-graph-ql": "*" + "magento/module-catalog-graph-ql": "100.3.*" }, "license": [ "OSL-3.0", @@ -22,5 +22,6 @@ "psr-4": { "Magento\\SwatchesGraphQl\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/SwatchesLayeredNavigation/composer.json b/app/code/Magento/SwatchesLayeredNavigation/composer.json index 4151924a6ce7b..430b49a31f779 100644 --- a/app/code/Magento/SwatchesLayeredNavigation/composer.json +++ b/app/code/Magento/SwatchesLayeredNavigation/composer.json @@ -6,7 +6,7 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", + "magento/framework": "102.0.*", "magento/magento-composer-installer": "*" }, "type": "magento2-module", @@ -21,5 +21,6 @@ "psr-4": { "Magento\\SwatchesLayeredNavigation\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/Tax/Block/Adminhtml/Items/Price/Renderer.php b/app/code/Magento/Tax/Block/Adminhtml/Items/Price/Renderer.php index 376adba63db62..a1f538e0b0c70 100644 --- a/app/code/Magento/Tax/Block/Adminhtml/Items/Price/Renderer.php +++ b/app/code/Magento/Tax/Block/Adminhtml/Items/Price/Renderer.php @@ -22,7 +22,7 @@ class Renderer extends \Magento\Backend\Block\Template { /** * @var \Magento\Tax\Helper\Data - * @deprecated + * @deprecated 100.3.0 * Marked as deprecated as it is unused. */ protected $taxHelper; diff --git a/app/code/Magento/Tax/Model/System/Message/Notifications.php b/app/code/Magento/Tax/Model/System/Message/Notifications.php index ca59ab9eec3bf..163054d9e9394 100644 --- a/app/code/Magento/Tax/Model/System/Message/Notifications.php +++ b/app/code/Magento/Tax/Model/System/Message/Notifications.php @@ -16,7 +16,7 @@ class Notifications implements \Magento\Framework\Notification\MessageInterface * Store manager object * * @var \Magento\Store\Model\StoreManagerInterface - * @deprecated 100.1.3 + * @deprecated 100.1.0 */ protected $storeManager; @@ -36,7 +36,7 @@ class Notifications implements \Magento\Framework\Notification\MessageInterface * Stores with invalid display settings * * @var array - * @deprecated 100.1.3 + * @deprecated 100.1.0 * @see \Magento\Tax\Model\System\Message\Notification\RoundingErrors */ protected $storesWithInvalidDisplaySettings; @@ -45,7 +45,7 @@ class Notifications implements \Magento\Framework\Notification\MessageInterface * Websites with invalid discount settings * * @var array - * @deprecated 100.1.3 + * @deprecated 100.1.0 * @see \Magento\Tax\Model\System\Message\Notification\DiscountErrors */ protected $storesWithInvalidDiscountSettings; diff --git a/app/code/Magento/Tax/composer.json b/app/code/Magento/Tax/composer.json index 3dc823cb04971..0b1198a6c20ab 100644 --- a/app/code/Magento/Tax/composer.json +++ b/app/code/Magento/Tax/composer.json @@ -6,23 +6,23 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-backend": "*", - "magento/module-catalog": "*", - "magento/module-checkout": "*", - "magento/module-config": "*", - "magento/module-customer": "*", - "magento/module-directory": "*", - "magento/module-eav": "*", - "magento/module-page-cache": "*", - "magento/module-quote": "*", - "magento/module-reports": "*", - "magento/module-sales": "*", - "magento/module-shipping": "*", - "magento/module-store": "*" + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-checkout": "100.3.*", + "magento/module-config": "101.1.*", + "magento/module-customer": "102.0.*", + "magento/module-directory": "100.3.*", + "magento/module-eav": "102.0.*", + "magento/module-page-cache": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-reports": "100.3.*", + "magento/module-sales": "102.0.*", + "magento/module-shipping": "100.3.*", + "magento/module-store": "101.0.*" }, "suggest": { - "magento/module-tax-sample-data": "*" + "magento/module-tax-sample-data": "Sample Data version: 100.3.*" }, "type": "magento2-module", "license": [ @@ -36,5 +36,6 @@ "psr-4": { "Magento\\Tax\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/TaxGraphQl/composer.json b/app/code/Magento/TaxGraphQl/composer.json index 4928b1585d65e..27b4a6ae076e0 100644 --- a/app/code/Magento/TaxGraphQl/composer.json +++ b/app/code/Magento/TaxGraphQl/composer.json @@ -4,11 +4,11 @@ "type": "magento2-module", "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*" + "magento/framework": "102.0.*" }, "suggest": { - "magento/module-tax": "*", - "magento/module-catalog-graph-ql": "*" + "magento/module-tax": "100.3.*", + "magento/module-catalog-graph-ql": "100.3.*" }, "license": [ "OSL-3.0", @@ -21,5 +21,6 @@ "psr-4": { "Magento\\TaxGraphQl\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/TaxImportExport/composer.json b/app/code/Magento/TaxImportExport/composer.json index 44b876cee6dc6..9d13cc0f7ec01 100644 --- a/app/code/Magento/TaxImportExport/composer.json +++ b/app/code/Magento/TaxImportExport/composer.json @@ -6,11 +6,11 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-backend": "*", - "magento/module-directory": "*", - "magento/module-store": "*", - "magento/module-tax": "*" + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-directory": "100.3.*", + "magento/module-store": "101.0.*", + "magento/module-tax": "100.3.*" }, "type": "magento2-module", "license": [ @@ -24,5 +24,6 @@ "psr-4": { "Magento\\TaxImportExport\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/Theme/Block/Html/Footer.php b/app/code/Magento/Theme/Block/Html/Footer.php index cdb350336f38f..7f9b9cf86a809 100644 --- a/app/code/Magento/Theme/Block/Html/Footer.php +++ b/app/code/Magento/Theme/Block/Html/Footer.php @@ -127,6 +127,7 @@ public function getIdentities() * Get block cache life time * * @return int + * @since 100.2.4 */ protected function getCacheLifetime() { diff --git a/app/code/Magento/Theme/Block/Html/Header/Logo.php b/app/code/Magento/Theme/Block/Html/Header/Logo.php index b51f624c20339..37a81ca0badd6 100644 --- a/app/code/Magento/Theme/Block/Html/Header/Logo.php +++ b/app/code/Magento/Theme/Block/Html/Header/Logo.php @@ -43,7 +43,7 @@ public function __construct( /** * Check if current url is url for home page * - * @deprecated This function is no longer used. It was previously used by + * @deprecated 101.0.1 This function is no longer used. It was previously used by * Magento/Theme/view/frontend/templates/html/header/logo.phtml * to check if the logo should be clickable on the homepage. * diff --git a/app/code/Magento/Theme/Controller/Adminhtml/System/Design/Theme/UploadJs.php b/app/code/Magento/Theme/Controller/Adminhtml/System/Design/Theme/UploadJs.php index 89636ad3de50e..9b719cd8567db 100644 --- a/app/code/Magento/Theme/Controller/Adminhtml/System/Design/Theme/UploadJs.php +++ b/app/code/Magento/Theme/Controller/Adminhtml/System/Design/Theme/UploadJs.php @@ -11,7 +11,7 @@ /** * Class UploadJs - * @deprecated + * @deprecated 101.0.0 */ class UploadJs extends \Magento\Theme\Controller\Adminhtml\System\Design\Theme implements HttpGetActionInterface { diff --git a/app/code/Magento/Theme/Model/ResourceModel/Theme/Grid/Collection.php b/app/code/Magento/Theme/Model/ResourceModel/Theme/Grid/Collection.php index c4a7bb11a78f7..4ee6880c8190d 100644 --- a/app/code/Magento/Theme/Model/ResourceModel/Theme/Grid/Collection.php +++ b/app/code/Magento/Theme/Model/ResourceModel/Theme/Grid/Collection.php @@ -7,7 +7,7 @@ /** * Theme grid collection - * @deprecated + * @deprecated 101.0.0 * @see \Magento\Theme\Ui\Component\Theme\DataProvider\SearchResult */ class Collection extends \Magento\Theme\Model\ResourceModel\Theme\Collection diff --git a/app/code/Magento/Theme/Ui/Component/Design/Config/SearchRobots/ResetButton.php b/app/code/Magento/Theme/Ui/Component/Design/Config/SearchRobots/ResetButton.php index 5a8829851e8cf..25a9e46a3ace9 100644 --- a/app/code/Magento/Theme/Ui/Component/Design/Config/SearchRobots/ResetButton.php +++ b/app/code/Magento/Theme/Ui/Component/Design/Config/SearchRobots/ResetButton.php @@ -14,7 +14,7 @@ * ResetButton field instance * * @api - * @since 100.2.0 + * @since 100.1.9 */ class ResetButton extends Field { @@ -66,7 +66,7 @@ private function getRobotsDefaultCustomInstructions() * * @return void * @throws \Magento\Framework\Exception\LocalizedException - * @since 100.2.0 + * @since 100.1.9 */ public function prepare() { diff --git a/app/code/Magento/Theme/composer.json b/app/code/Magento/Theme/composer.json index 37802ee6c68f6..45fc7c66e5618 100644 --- a/app/code/Magento/Theme/composer.json +++ b/app/code/Magento/Theme/composer.json @@ -6,23 +6,23 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-backend": "*", - "magento/module-cms": "*", - "magento/module-config": "*", - "magento/module-customer": "*", - "magento/module-eav": "*", - "magento/module-media-storage": "*", - "magento/module-require-js": "*", - "magento/module-store": "*", - "magento/module-ui": "*", - "magento/module-widget": "*" + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-cms": "103.0.*", + "magento/module-config": "101.1.*", + "magento/module-customer": "102.0.*", + "magento/module-eav": "102.0.*", + "magento/module-media-storage": "100.3.*", + "magento/module-require-js": "100.3.*", + "magento/module-store": "101.0.*", + "magento/module-ui": "101.1.*", + "magento/module-widget": "101.1.*" }, "suggest": { - "magento/module-translation": "*", - "magento/module-theme-sample-data": "*", - "magento/module-deploy": "*", - "magento/module-directory": "*" + "magento/module-translation": "100.3.*", + "magento/module-theme-sample-data": "Sample Data version: 100.3.*", + "magento/module-deploy": "100.3.*", + "magento/module-directory": "100.3.*" }, "type": "magento2-module", "license": [ @@ -36,5 +36,6 @@ "psr-4": { "Magento\\Theme\\": "" } - } + }, + "version": "101.0.3" } diff --git a/app/code/Magento/ThemeGraphQl/composer.json b/app/code/Magento/ThemeGraphQl/composer.json index d318ae06f0e6b..f47f28d5558cd 100644 --- a/app/code/Magento/ThemeGraphQl/composer.json +++ b/app/code/Magento/ThemeGraphQl/composer.json @@ -4,10 +4,10 @@ "type": "magento2-module", "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*" + "magento/framework": "102.0.*" }, "suggest": { - "magento/module-store-graph-ql": "*" + "magento/module-store-graph-ql": "100.3.*" }, "license": [ "OSL-3.0", @@ -20,5 +20,6 @@ "psr-4": { "Magento\\ThemeGraphQl\\": "" } - } + }, + "version": "100.3.2" } diff --git a/app/code/Magento/Tinymce3/Model/Config/Gallery/Config.php b/app/code/Magento/Tinymce3/Model/Config/Gallery/Config.php index d11a3fa6e8a0c..d037dac3ae218 100644 --- a/app/code/Magento/Tinymce3/Model/Config/Gallery/Config.php +++ b/app/code/Magento/Tinymce3/Model/Config/Gallery/Config.php @@ -10,7 +10,7 @@ /** * Class Config adds information about required configurations to display media gallery of tinymce3 editor * - * @deprecated use \Magento\Cms\Model\Wysiwyg\DefaultConfigProvider instead + * @deprecated 100.3.0 use \Magento\Cms\Model\Wysiwyg\DefaultConfigProvider instead */ class Config implements \Magento\Framework\Data\Wysiwyg\ConfigProviderInterface { diff --git a/app/code/Magento/Tinymce3/Model/Config/Source/Wysiwyg/Editor.php b/app/code/Magento/Tinymce3/Model/Config/Source/Wysiwyg/Editor.php index 00f1a82698381..96a3d42d15f36 100644 --- a/app/code/Magento/Tinymce3/Model/Config/Source/Wysiwyg/Editor.php +++ b/app/code/Magento/Tinymce3/Model/Config/Source/Wysiwyg/Editor.php @@ -9,7 +9,7 @@ /** * Class Editor provides configuration value for TinyMCE3 editor - * @deprecated use as configuration value tinymce4 path: mage/adminhtml/wysiwyg/tiny_mce/tinymce4Adapter + * @deprecated 100.3.0 use as configuration value tinymce4 path: mage/adminhtml/wysiwyg/tiny_mce/tinymce4Adapter */ class Editor { diff --git a/app/code/Magento/Tinymce3/Model/Config/Variable/Config.php b/app/code/Magento/Tinymce3/Model/Config/Variable/Config.php index 2d016a5101abe..97aab0f38c4ee 100644 --- a/app/code/Magento/Tinymce3/Model/Config/Variable/Config.php +++ b/app/code/Magento/Tinymce3/Model/Config/Variable/Config.php @@ -9,7 +9,7 @@ /** * Class Config adds variable plugin information required for tinymce3 editor - * @deprecated use \Magento\Variable\Model\Variable\ConfigProvider instead + * @deprecated 100.3.0 use \Magento\Variable\Model\Variable\ConfigProvider instead */ class Config implements \Magento\Framework\Data\Wysiwyg\ConfigProviderInterface { diff --git a/app/code/Magento/Tinymce3/Model/Config/Widget/Config.php b/app/code/Magento/Tinymce3/Model/Config/Widget/Config.php index de548df4bc9f3..fcb8235495d47 100644 --- a/app/code/Magento/Tinymce3/Model/Config/Widget/Config.php +++ b/app/code/Magento/Tinymce3/Model/Config/Widget/Config.php @@ -9,7 +9,7 @@ /** * Class Config adds widget plugin information required for tinymce3 editor - * @deprecated use \Magento\Widget\Model\Widget\Config instead + * @deprecated 100.3.0 use \Magento\Widget\Model\Widget\Config instead */ class Config implements \Magento\Framework\Data\Wysiwyg\ConfigProviderInterface { diff --git a/app/code/Magento/Tinymce3/Model/Config/Widget/PlaceholderImagesPool.php b/app/code/Magento/Tinymce3/Model/Config/Widget/PlaceholderImagesPool.php index 1ab3de708dd26..7004beea70f1c 100644 --- a/app/code/Magento/Tinymce3/Model/Config/Widget/PlaceholderImagesPool.php +++ b/app/code/Magento/Tinymce3/Model/Config/Widget/PlaceholderImagesPool.php @@ -8,7 +8,7 @@ /** * Class PlaceholderImages provide ability to override placeholder images for Widgets - * @deprecated + * @deprecated 100.3.0 */ class PlaceholderImagesPool { diff --git a/app/code/Magento/Tinymce3/Model/Config/Wysiwyg/Config.php b/app/code/Magento/Tinymce3/Model/Config/Wysiwyg/Config.php index f3dc4c8591cbd..c70ad28a114df 100644 --- a/app/code/Magento/Tinymce3/Model/Config/Wysiwyg/Config.php +++ b/app/code/Magento/Tinymce3/Model/Config/Wysiwyg/Config.php @@ -9,7 +9,7 @@ /** * Class Config adds information about required css files for tinymce3 editor - * @deprecated use \Magento\Cms\Model\Wysiwyg\DefaultConfigProvider instead + * @deprecated 100.3.0 use \Magento\Cms\Model\Wysiwyg\DefaultConfigProvider instead */ class Config implements \Magento\Framework\Data\Wysiwyg\ConfigProviderInterface { diff --git a/app/code/Magento/Tinymce3/composer.json b/app/code/Magento/Tinymce3/composer.json index 7b12851626cf6..67c97fc9b4443 100644 --- a/app/code/Magento/Tinymce3/composer.json +++ b/app/code/Magento/Tinymce3/composer.json @@ -3,16 +3,15 @@ "description": "N/A", "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-backend": "*", - "magento/module-ui": "*", - "magento/module-variable": "*", - "magento/module-widget": "*", - "magento/module-cms": "*" - + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-ui": "101.1.*", + "magento/module-variable": "100.3.*", + "magento/module-widget": "101.1.*", + "magento/module-cms": "103.0.*" }, "suggest": { - "magento/module-cms": "*" + "magento/module-cms": "103.0.*" }, "type": "magento2-module", "license": [ @@ -26,5 +25,6 @@ "psr-4": { "Magento\\Tinymce3\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/Translation/Block/Js.php b/app/code/Magento/Translation/Block/Js.php index db26feb8067ff..e193e675885c2 100644 --- a/app/code/Magento/Translation/Block/Js.php +++ b/app/code/Magento/Translation/Block/Js.php @@ -78,6 +78,7 @@ public function getTranslationFilePath() * Gets current version of the translation file. * * @return string + * @since 100.3.0 */ public function getTranslationFileVersion() { diff --git a/app/code/Magento/Translation/composer.json b/app/code/Magento/Translation/composer.json index c01791c88f99f..f20af29a8e75a 100644 --- a/app/code/Magento/Translation/composer.json +++ b/app/code/Magento/Translation/composer.json @@ -6,13 +6,13 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-backend": "*", - "magento/module-developer": "*", - "magento/module-store": "*" + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-developer": "100.3.*", + "magento/module-store": "101.0.*" }, "suggest": { - "magento/module-deploy": "*" + "magento/module-deploy": "100.3.*" }, "type": "magento2-module", "license": [ @@ -26,5 +26,6 @@ "psr-4": { "Magento\\Translation\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/Ui/Block/Wysiwyg/ActiveEditor.php b/app/code/Magento/Ui/Block/Wysiwyg/ActiveEditor.php index b6077b7b1625d..462e4a4695ef0 100644 --- a/app/code/Magento/Ui/Block/Wysiwyg/ActiveEditor.php +++ b/app/code/Magento/Ui/Block/Wysiwyg/ActiveEditor.php @@ -13,6 +13,7 @@ * ActiveEditor block * * @api + * @since 101.1.0 */ class ActiveEditor extends \Magento\Framework\View\Element\Template { @@ -50,6 +51,7 @@ public function __construct( * Get active wysiwyg adapter path * * @return string + * @since 101.1.0 */ public function getWysiwygAdapterPath() { diff --git a/app/code/Magento/Ui/Component/Form/Element/ColorPicker.php b/app/code/Magento/Ui/Component/Form/Element/ColorPicker.php index b1925b4641d0b..23188363cc1d1 100644 --- a/app/code/Magento/Ui/Component/Form/Element/ColorPicker.php +++ b/app/code/Magento/Ui/Component/Form/Element/ColorPicker.php @@ -17,6 +17,7 @@ * Prepares Color Picker UI component with mode and format * * @api + * @since 101.1.0 */ class ColorPicker extends AbstractElement { @@ -54,6 +55,7 @@ public function __construct( * Get component name * * @return string + * @since 101.1.0 */ public function getComponentName(): string { @@ -64,6 +66,7 @@ public function getComponentName(): string * Prepare component configuration * * @return void + * @since 101.1.0 */ public function prepare() : void { diff --git a/app/code/Magento/Ui/Component/Listing/Columns/Date.php b/app/code/Magento/Ui/Component/Listing/Columns/Date.php index f0b3ee4334d4f..d141499718a76 100644 --- a/app/code/Magento/Ui/Component/Listing/Columns/Date.php +++ b/app/code/Magento/Ui/Component/Listing/Columns/Date.php @@ -77,6 +77,7 @@ public function __construct( /** * @inheritdoc + * @since 101.1.1 */ public function prepare() { diff --git a/app/code/Magento/Ui/Component/Wrapper/Block.php b/app/code/Magento/Ui/Component/Wrapper/Block.php index a4e5bbf213062..0380a447e0cb9 100644 --- a/app/code/Magento/Ui/Component/Wrapper/Block.php +++ b/app/code/Magento/Ui/Component/Wrapper/Block.php @@ -11,7 +11,7 @@ use Magento\Framework\View\Element\UiComponent\BlockWrapperInterface; /** - * @deprecated 100.2.0 + * @deprecated 101.0.0 */ class Block extends AbstractComponent implements BlockWrapperInterface { diff --git a/app/code/Magento/Ui/Controller/Adminhtml/Bookmark/Save.php b/app/code/Magento/Ui/Controller/Adminhtml/Bookmark/Save.php index b45880c1ce726..803495439d65e 100644 --- a/app/code/Magento/Ui/Controller/Adminhtml/Bookmark/Save.php +++ b/app/code/Magento/Ui/Controller/Adminhtml/Bookmark/Save.php @@ -54,7 +54,7 @@ class Save extends AbstractAction implements HttpPostActionInterface /** * @var DecoderInterface - * @deprecated + * @deprecated 101.1.0 */ protected $jsonDecoder; diff --git a/app/code/Magento/Ui/DataProvider/AbstractDataProvider.php b/app/code/Magento/Ui/DataProvider/AbstractDataProvider.php index 578ebe4d441d9..0fa2b128115d3 100644 --- a/app/code/Magento/Ui/DataProvider/AbstractDataProvider.php +++ b/app/code/Magento/Ui/DataProvider/AbstractDataProvider.php @@ -288,7 +288,7 @@ public function setConfigData($config) * Retrieve all ids from collection * * @return int[] - * @since 100.2.0 + * @since 101.0.0 */ public function getAllIds() { diff --git a/app/code/Magento/Ui/DataProvider/Modifier/WysiwygModifierInterface.php b/app/code/Magento/Ui/DataProvider/Modifier/WysiwygModifierInterface.php index 6336d8f8fb828..c2926a64a7a13 100644 --- a/app/code/Magento/Ui/DataProvider/Modifier/WysiwygModifierInterface.php +++ b/app/code/Magento/Ui/DataProvider/Modifier/WysiwygModifierInterface.php @@ -7,6 +7,7 @@ /** * @api + * @since 101.1.0 */ interface WysiwygModifierInterface { @@ -15,12 +16,14 @@ interface WysiwygModifierInterface * For example tmce3 or tmce4 * * @return array + * @since 101.1.0 */ public function getEditorName(); /** * @param array $meta * @return array + * @since 101.1.0 */ public function modifyMeta(array $meta); } diff --git a/app/code/Magento/Ui/DataProvider/SearchResultFactory.php b/app/code/Magento/Ui/DataProvider/SearchResultFactory.php index f2ed0677d4cd9..83d06c7cf5fc1 100644 --- a/app/code/Magento/Ui/DataProvider/SearchResultFactory.php +++ b/app/code/Magento/Ui/DataProvider/SearchResultFactory.php @@ -17,6 +17,7 @@ * Allows to use Repositories (instead of Collections) in UI Components Data providers * * @api + * @since 101.1.0 */ class SearchResultFactory { @@ -64,6 +65,7 @@ public function __construct( * @param SearchCriteriaInterface SearchCriteriaInterface $searchCriteria * @param string $idFieldName * @return SearchResultInterface + * @since 101.1.0 */ public function create( array $items, diff --git a/app/code/Magento/Ui/Model/Bookmark.php b/app/code/Magento/Ui/Model/Bookmark.php index b404e8d3b475f..2cb5666063067 100644 --- a/app/code/Magento/Ui/Model/Bookmark.php +++ b/app/code/Magento/Ui/Model/Bookmark.php @@ -23,7 +23,7 @@ class Bookmark extends AbstractExtensibleModel implements BookmarkInterface { /** * @var DecoderInterface - * @deprecated + * @deprecated 101.1.0 */ protected $jsonDecoder; diff --git a/app/code/Magento/Ui/Model/Manager.php b/app/code/Magento/Ui/Model/Manager.php index e3c56418c8425..cc7574acb3151 100644 --- a/app/code/Magento/Ui/Model/Manager.php +++ b/app/code/Magento/Ui/Model/Manager.php @@ -23,7 +23,7 @@ /** * Class Manager - * @deprecated 100.2.0 + * @deprecated 101.0.0 * @SuppressWarnings(PHPMD.CouplingBetweenObjects) */ class Manager implements ManagerInterface diff --git a/app/code/Magento/Ui/Model/ResourceModel/BookmarkRepository.php b/app/code/Magento/Ui/Model/ResourceModel/BookmarkRepository.php index 3e738baa404c8..f773daaaf50c4 100644 --- a/app/code/Magento/Ui/Model/ResourceModel/BookmarkRepository.php +++ b/app/code/Magento/Ui/Model/ResourceModel/BookmarkRepository.php @@ -162,7 +162,7 @@ public function deleteById($bookmarkId) * @param FilterGroup $filterGroup * @param Collection $collection * @return void - * @deprecated 100.2.0 + * @deprecated 101.0.0 * @throws \Magento\Framework\Exception\InputException */ protected function addFilterGroupToCollection(FilterGroup $filterGroup, Collection $collection) @@ -176,7 +176,7 @@ protected function addFilterGroupToCollection(FilterGroup $filterGroup, Collecti /** * Retrieve collection processor * - * @deprecated 100.2.0 + * @deprecated 101.0.0 * @return CollectionProcessorInterface */ private function getCollectionProcessor() diff --git a/app/code/Magento/Ui/composer.json b/app/code/Magento/Ui/composer.json index 9ec0810bf2d6c..96ece565b75a3 100644 --- a/app/code/Magento/Ui/composer.json +++ b/app/code/Magento/Ui/composer.json @@ -6,16 +6,16 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-authorization": "*", - "magento/module-backend": "*", - "magento/module-eav": "*", - "magento/module-store": "*", - "magento/module-user": "*", - "magento/module-cms": "*" + "magento/framework": "102.0.*", + "magento/module-authorization": "100.3.*", + "magento/module-backend": "101.0.*", + "magento/module-eav": "102.0.*", + "magento/module-store": "101.0.*", + "magento/module-user": "101.1.*", + "magento/module-cms": "103.0.*" }, "suggest": { - "magento/module-config": "*" + "magento/module-config": "101.1.*" }, "type": "magento2-module", "license": [ @@ -29,5 +29,6 @@ "psr-4": { "Magento\\Ui\\": "" } - } + }, + "version": "101.1.3" } diff --git a/app/code/Magento/Ups/Model/Carrier.php b/app/code/Magento/Ups/Model/Carrier.php index 72b68c476d88a..d716939c2c012 100644 --- a/app/code/Magento/Ups/Model/Carrier.php +++ b/app/code/Magento/Ups/Model/Carrier.php @@ -1533,7 +1533,7 @@ protected function _formShipmentRequest(\Magento\Framework\DataObject $request) * * @param Element $shipmentConfirmResponse * @return \Magento\Framework\DataObject - * @deprecated New asynchronous methods introduced. + * @deprecated 100.3.3 New asynchronous methods introduced. * @see requestToShipment */ protected function _sendShipmentAcceptRequest(Element $shipmentConfirmResponse) @@ -1719,7 +1719,7 @@ private function requestShipments(array $quoteIds): array * * @param DataObject $request * @return DataObject - * @deprecated New asynchronous methods introduced. + * @deprecated 100.3.3 New asynchronous methods introduced. * @see requestToShipment */ protected function _doShipmentRequest(DataObject $request) diff --git a/app/code/Magento/Ups/composer.json b/app/code/Magento/Ups/composer.json index fad62c1f02a53..acb701f7e8ce2 100644 --- a/app/code/Magento/Ups/composer.json +++ b/app/code/Magento/Ups/composer.json @@ -6,17 +6,17 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-backend": "*", - "magento/module-catalog-inventory": "*", - "magento/module-directory": "*", - "magento/module-quote": "*", - "magento/module-sales": "*", - "magento/module-shipping": "*", - "magento/module-store": "*" + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog-inventory": "100.3.*", + "magento/module-directory": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-sales": "102.0.*", + "magento/module-shipping": "100.3.*", + "magento/module-store": "101.0.*" }, "suggest": { - "magento/module-config": "*" + "magento/module-config": "101.1.*" }, "type": "magento2-module", "license": [ @@ -30,5 +30,6 @@ "psr-4": { "Magento\\Ups\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/UrlRewrite/Model/Exception/UrlAlreadyExistsException.php b/app/code/Magento/UrlRewrite/Model/Exception/UrlAlreadyExistsException.php index 906ba1f625477..12620edf460d2 100644 --- a/app/code/Magento/UrlRewrite/Model/Exception/UrlAlreadyExistsException.php +++ b/app/code/Magento/UrlRewrite/Model/Exception/UrlAlreadyExistsException.php @@ -11,7 +11,7 @@ * Exception for already created url. * * @api - * @since 100.2.0 + * @since 101.0.0 */ class UrlAlreadyExistsException extends \Magento\Framework\Exception\AlreadyExistsException { @@ -39,7 +39,7 @@ public function __construct(Phrase $phrase = null, \Exception $cause = null, $co * Get URLs * * @return array - * @since 100.2.0 + * @since 101.0.0 */ public function getUrls() { diff --git a/app/code/Magento/UrlRewrite/Model/Storage/DbStorage.php b/app/code/Magento/UrlRewrite/Model/Storage/DbStorage.php index 2ac1bdd712114..4968cf58b8dc1 100644 --- a/app/code/Magento/UrlRewrite/Model/Storage/DbStorage.php +++ b/app/code/Magento/UrlRewrite/Model/Storage/DbStorage.php @@ -333,7 +333,7 @@ protected function insertMultiple($data) * * @param UrlRewrite[] $urls * @return array - * @deprecated Not used anymore. + * @deprecated 101.0.3 Not used anymore. */ protected function createFilterDataBasedOnUrls($urls) { diff --git a/app/code/Magento/UrlRewrite/composer.json b/app/code/Magento/UrlRewrite/composer.json index 90f11accfe503..30b4063fd5c2a 100644 --- a/app/code/Magento/UrlRewrite/composer.json +++ b/app/code/Magento/UrlRewrite/composer.json @@ -6,13 +6,13 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-backend": "*", - "magento/module-catalog": "*", - "magento/module-catalog-url-rewrite": "*", - "magento/module-cms": "*", - "magento/module-cms-url-rewrite": "*", - "magento/module-store": "*" + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-url-rewrite": "100.3.*", + "magento/module-cms": "103.0.*", + "magento/module-cms-url-rewrite": "100.3.*", + "magento/module-store": "101.0.*" }, "type": "magento2-module", "license": [ @@ -26,5 +26,6 @@ "psr-4": { "Magento\\UrlRewrite\\": "" } - } + }, + "version": "101.1.3" } diff --git a/app/code/Magento/UrlRewriteGraphQl/composer.json b/app/code/Magento/UrlRewriteGraphQl/composer.json index 24eb3753aa858..ab6edc6d8b37c 100644 --- a/app/code/Magento/UrlRewriteGraphQl/composer.json +++ b/app/code/Magento/UrlRewriteGraphQl/composer.json @@ -4,11 +4,11 @@ "type": "magento2-module", "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-url-rewrite": "*" + "magento/framework": "102.0.*", + "magento/module-url-rewrite": "101.1.*" }, "suggest": { - "magento/module-graph-ql": "*" + "magento/module-graph-ql": "100.3.*" }, "license": [ "OSL-3.0", @@ -21,5 +21,6 @@ "psr-4": { "Magento\\UrlRewriteGraphQl\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/User/Block/User/Edit.php b/app/code/Magento/User/Block/User/Edit.php index 6e036cf20fa25..233fe1e0cfee5 100644 --- a/app/code/Magento/User/Block/User/Edit.php +++ b/app/code/Magento/User/Block/User/Edit.php @@ -87,7 +87,7 @@ protected function _construct() * - click "Delete User" at top left part of the page; * * @return \Magento\Framework\Phrase - * @since 100.2.0 + * @since 101.0.0 */ public function getDeleteMessage() { @@ -100,7 +100,7 @@ public function getDeleteMessage() * Magento\User\Controller\Adminhtml\User\Delete * * @return string - * @since 100.2.0 + * @since 101.0.0 */ public function getDeleteUrl() { @@ -113,7 +113,7 @@ public function getDeleteUrl() * to create a new user account OR to edit the previously created user account * * @return int - * @since 100.2.0 + * @since 101.0.0 */ public function getObjectId() { diff --git a/app/code/Magento/User/Controller/Adminhtml/User/Delete.php b/app/code/Magento/User/Controller/Adminhtml/User/Delete.php index 4e7d18774c2f9..bc3ea4d8e9f62 100644 --- a/app/code/Magento/User/Controller/Adminhtml/User/Delete.php +++ b/app/code/Magento/User/Controller/Adminhtml/User/Delete.php @@ -1,6 +1,5 @@ <?php /** - * * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ @@ -9,10 +8,16 @@ use Magento\User\Block\User\Edit\Tab\Main as UserEdit; use Magento\Framework\Exception\AuthenticationException; +use Magento\Framework\App\Action\HttpPostActionInterface as HttpPostActionInterface; -class Delete extends \Magento\User\Controller\Adminhtml\User +/** + * Delete admin user. + */ +class Delete extends \Magento\User\Controller\Adminhtml\User implements HttpPostActionInterface { /** + * Execute delete action. + * * @return void */ public function execute() @@ -37,7 +42,7 @@ public function execute() $currentUser->performIdentityCheck($currentUserPassword); /** @var \Magento\User\Model\User $model */ $model = $this->_userFactory->create(); - $model->setId($userId); + $model->load($userId); $model->delete(); $this->messageManager->addSuccess(__('You deleted the user.')); $this->_redirect('adminhtml/*/'); diff --git a/app/code/Magento/User/Model/ResourceModel/User.php b/app/code/Magento/User/Model/ResourceModel/User.php index b3e4936266a3f..5bbfec7c6e492 100644 --- a/app/code/Magento/User/Model/ResourceModel/User.php +++ b/app/code/Magento/User/Model/ResourceModel/User.php @@ -255,6 +255,7 @@ protected function _afterLoad(\Magento\Framework\Model\AbstractModel $user) */ public function delete(\Magento\Framework\Model\AbstractModel $user) { + $user->beforeDelete(); $this->_beforeDelete($user); $connection = $this->getConnection(); @@ -268,11 +269,14 @@ public function delete(\Magento\Framework\Model\AbstractModel $user) ); } catch (\Magento\Framework\Exception\LocalizedException $e) { throw $e; + // phpcs:ignore Magento2.Exceptions.ThrowCatch } catch (\Exception $e) { $connection->rollBack(); return false; } + $user->afterDelete(); $connection->commit(); + $user->afterDeleteCommit(); $this->_afterDelete($user); return true; } @@ -476,7 +480,7 @@ public function updateRoleUsersAcl(\Magento\Authorization\Model\Role $role) $users = $role->getRoleUsers(); $rowsCount = 0; - if (sizeof($users) > 0) { + if (count($users) > 0) { $bind = ['reload_acl_flag' => 1]; $where = ['user_id IN(?)' => $users]; $rowsCount = $connection->update($this->getTable('admin_user'), $bind, $where); @@ -617,8 +621,10 @@ public function trackPassword($user, $passwordHash, $lifetime = 0) } /** - * Get latest password for specified user id - * Possible false positive when password was changed several times with different lifetime configuration + * Get latest password for specified user id. + * + * Possible false positive when password was changed several times + * with different lifetime configuration. * * @param int $userId * @return array diff --git a/app/code/Magento/User/Model/ResourceModel/User/Collection.php b/app/code/Magento/User/Model/ResourceModel/User/Collection.php index 7683adae84365..422afb47f0a0e 100644 --- a/app/code/Magento/User/Model/ResourceModel/User/Collection.php +++ b/app/code/Magento/User/Model/ResourceModel/User/Collection.php @@ -27,6 +27,7 @@ protected function _construct() * Collection Init Select * * @return $this + * @since 101.1.0 */ protected function _initSelect() { diff --git a/app/code/Magento/User/Model/User.php b/app/code/Magento/User/Model/User.php index dc0aa0cd38343..eec5480c7c917 100644 --- a/app/code/Magento/User/Model/User.php +++ b/app/code/Magento/User/Model/User.php @@ -115,12 +115,12 @@ class User extends AbstractModel implements StorageInterface, UserInterface protected $_encryptor; /** - * @deprecated + * @deprecated 101.1.0 */ protected $_transportBuilder; /** - * @deprecated + * @deprecated 101.1.0 */ protected $_storeManager; @@ -140,7 +140,7 @@ class User extends AbstractModel implements StorageInterface, UserInterface private $notificator; /** - * @deprecated + * @deprecated 101.1.0 */ private $deploymentConfig; @@ -446,7 +446,7 @@ public function roleUserExists() * * @return $this * @throws NotificationExceptionInterface - * @deprecated + * @deprecated 101.1.0 * @see NotificatorInterface::sendForgotPassword() */ public function sendPasswordResetConfirmationEmail() @@ -524,7 +524,7 @@ protected function createChangesDescriptionString() * @throws NotificationExceptionInterface * @return $this * @since 100.1.0 - * @deprecated + * @deprecated 101.1.0 * @see NotificatorInterface::sendUpdated() * @SuppressWarnings(PHPMD.UnusedFormalParameter) */ diff --git a/app/code/Magento/User/Test/Unit/Controller/Adminhtml/User/DeleteTest.php b/app/code/Magento/User/Test/Unit/Controller/Adminhtml/User/DeleteTest.php index 62e6dfcd61cc2..360349b0cb1b7 100644 --- a/app/code/Magento/User/Test/Unit/Controller/Adminhtml/User/DeleteTest.php +++ b/app/code/Magento/User/Test/Unit/Controller/Adminhtml/User/DeleteTest.php @@ -81,7 +81,7 @@ protected function setUp() $this->userMock = $this->getMockBuilder(\Magento\User\Model\User::class) ->disableOriginalConstructor() - ->setMethods(['getId', 'performIdentityCheck', 'delete']) + ->setMethods(['getId', 'performIdentityCheck', 'delete', 'load']) ->getMock(); $this->userFactoryMock = $this->getMockBuilder(\Magento\User\Model\UserFactory::class) @@ -134,15 +134,18 @@ public function testExecute($currentUserPassword, $userId, $currentUserId, $resu $this->requestMock->expects($this->any()) ->method('getPost') - ->willReturnMap([ - ['user_id', $userId], - [\Magento\User\Block\User\Edit\Tab\Main::CURRENT_USER_PASSWORD_FIELD, $currentUserPassword], - ]); + ->willReturnMap( + [ + ['user_id', $userId], + [\Magento\User\Block\User\Edit\Tab\Main::CURRENT_USER_PASSWORD_FIELD, $currentUserPassword], + ] + ); $userMock = clone $currentUserMock; $this->userFactoryMock->expects($this->any())->method('create')->will($this->returnValue($userMock)); $this->responseMock->expects($this->any())->method('setRedirect')->willReturnSelf(); + $this->userMock->expects($this->any())->method('load')->with($userId)->willReturn($this->userFactoryMock); $this->userMock->expects($this->any())->method('delete')->willReturnSelf(); $this->messageManagerMock->expects($this->once())->method($resultMethod); @@ -172,10 +175,12 @@ public function testEmptyPassword() $this->requestMock->expects($this->any()) ->method('getPost') - ->willReturnMap([ - ['user_id', $userId], - [\Magento\User\Block\User\Edit\Tab\Main::CURRENT_USER_PASSWORD_FIELD, ''], - ]); + ->willReturnMap( + [ + ['user_id', $userId], + [\Magento\User\Block\User\Edit\Tab\Main::CURRENT_USER_PASSWORD_FIELD, ''], + ] + ); $result = $this->controller->execute(); $this->assertNull($result); @@ -191,8 +196,8 @@ public function executeDataProvider() return [ [ 'currentUserPassword' => '123123q', - 'userId' => 1, - 'currentUserId' => 2, + 'userId' => 2, + 'currentUserId' => 1, 'resultMethod' => 'addSuccess', ], [ diff --git a/app/code/Magento/User/composer.json b/app/code/Magento/User/composer.json index 4390889f66fee..479813a5ffecd 100644 --- a/app/code/Magento/User/composer.json +++ b/app/code/Magento/User/composer.json @@ -6,13 +6,13 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-authorization": "*", - "magento/module-backend": "*", - "magento/module-email": "*", - "magento/module-integration": "*", - "magento/module-security": "*", - "magento/module-store": "*" + "magento/framework": "102.0.*", + "magento/module-authorization": "100.3.*", + "magento/module-backend": "101.0.*", + "magento/module-email": "101.0.*", + "magento/module-integration": "100.3.*", + "magento/module-security": "100.3.*", + "magento/module-store": "101.0.*" }, "type": "magento2-module", "license": [ @@ -26,5 +26,6 @@ "psr-4": { "Magento\\User\\": "" } - } + }, + "version": "101.1.3-p1" } diff --git a/app/code/Magento/User/view/adminhtml/email/new_user_notification.html b/app/code/Magento/User/view/adminhtml/email/new_user_notification.html index 891faf5fb8c2b..87f4e4669c4b6 100644 --- a/app/code/Magento/User/view/adminhtml/email/new_user_notification.html +++ b/app/code/Magento/User/view/adminhtml/email/new_user_notification.html @@ -6,7 +6,13 @@ --> <!--@subject {{trans "New admin user '%user_name' created" user_name=$user.name}} @--> <!--@vars { -"var store.getFrontendName()|escape":"Store Name" +"var store.frontend_name":"Store Name", +"var user.name":"User Name", +"var user.first_name":"User First Name", +"var user.last_name":"User Last Name", +"var user.email":"User Email", +"var store_email":"Store Email", +"var store_phone":"Store Phone" } @--> {{trans "Hello,"}} @@ -15,4 +21,4 @@ {{trans "If you have not authorized this action, please contact us immediately at %store_email" store_email=$store_email |escape}}{{depend store_phone}} {{trans "or call us at %store_phone" store_phone=$store_phone |escape}}{{/depend}}. {{trans "Thanks,"}} -{{var store.getFrontendName()}} +{{var store.frontend_name}} diff --git a/app/code/Magento/User/view/adminhtml/email/password_reset_confirmation.html b/app/code/Magento/User/view/adminhtml/email/password_reset_confirmation.html index 62bac389e6dc4..dacfa640464a3 100644 --- a/app/code/Magento/User/view/adminhtml/email/password_reset_confirmation.html +++ b/app/code/Magento/User/view/adminhtml/email/password_reset_confirmation.html @@ -6,6 +6,9 @@ --> <!--@subject {{trans "Password Reset Confirmation for %name" name=$user.name}} @--> <!--@vars { +"var store.frontend_name":"Store Name", +"var user.id":"Account Holder Id", +"var user.rp_token":"Reset Password Token", "var user.name":"Account Holder Name", "store url=\"admin\/auth\/resetpassword\/\" _query_id=$user.id _query_token=$user.rp_token":"Reset Password URL" } @--> @@ -21,4 +24,4 @@ {{trans "If you did not make this request, you can ignore this email and your password will remain the same."}} {{trans "Thank you,"}} -{{var store.getFrontendName()}} +{{var store.frontend_name}} diff --git a/app/code/Magento/User/view/adminhtml/email/user_notification.html b/app/code/Magento/User/view/adminhtml/email/user_notification.html index 3b6ffb2ce14b1..82657531a10df 100644 --- a/app/code/Magento/User/view/adminhtml/email/user_notification.html +++ b/app/code/Magento/User/view/adminhtml/email/user_notification.html @@ -6,13 +6,18 @@ --> <!--@subject {{trans "New %changes for %user_name" changes=$changes user_name=$user.name}} @--> <!--@vars { -"var store.getFrontendName()|escape":"Store Name" +"var store.frontend_name":"Store Name", +"var store_name":"Store Name", +"var store_email":"Store Email", +"var store_phone":"Store Phone", +"var changes":"Changes", +"var user.name":"User Name" } @--> {{trans "Hello,"}} -{{trans "We have received a request to change the following information associated with your account at %store_name: %changes." store_name=$store.getFrontendName() changes=$changes}} +{{trans "We have received a request to change the following information associated with your account at %store_name: %changes." store_name=$store.frontend_name changes=$changes}} {{trans "If you have not authorized this action, please contact us immediately at %store_email" store_email=$store_email |escape}}{{depend store_phone}} {{trans "or call us at %store_phone" store_phone=$store_phone |escape}}{{/depend}}. {{trans "Thanks,"}} -{{var store.getFrontendName()}} +{{var store.frontend_name}} diff --git a/app/code/Magento/Usps/Model/Carrier.php b/app/code/Magento/Usps/Model/Carrier.php index 1c8ff0ce9efa9..85e0cf2f6999a 100644 --- a/app/code/Magento/Usps/Model/Carrier.php +++ b/app/code/Magento/Usps/Model/Carrier.php @@ -1470,7 +1470,7 @@ protected function _filterServiceName($name) * * @param \Magento\Framework\DataObject $request * @return string - * @deprecated This method should not be used anymore. + * @deprecated 100.2.1 This method should not be used anymore. * @see \Magento\Usps\Model\Carrier::_doShipmentRequest method doc block. */ protected function _formUsExpressShipmentRequest(\Magento\Framework\DataObject $request) @@ -1647,7 +1647,7 @@ protected function _convertPoundOunces($weightInPounds) * @SuppressWarnings(PHPMD.CyclomaticComplexity) * @SuppressWarnings(PHPMD.NPathComplexity) * @SuppressWarnings(PHPMD.ExcessiveMethodLength) - * @deprecated Should not be used anymore. + * @deprecated 100.2.1 Should not be used anymore. * @see \Magento\Usps\Model\Carrier::_doShipmentRequest doc block. */ protected function _formIntlShipmentRequest(\Magento\Framework\DataObject $request) @@ -1902,7 +1902,7 @@ protected function _formIntlShipmentRequest(\Magento\Framework\DataObject $reque * @param \Magento\Framework\DataObject $request * @return \Magento\Framework\DataObject * @SuppressWarnings(PHPMD.CyclomaticComplexity) - * @deprecated This method must not be used anymore. Starting from 23.02.2018 USPS elimates API usage for + * @deprecated 100.2.1 This method must not be used anymore. Starting from 23.02.2018 USPS elimates API usage for * free shipping labels generating. */ protected function _doShipmentRequest(\Magento\Framework\DataObject $request) diff --git a/app/code/Magento/Usps/composer.json b/app/code/Magento/Usps/composer.json index a3ee4ed777b7f..2363221a08caf 100644 --- a/app/code/Magento/Usps/composer.json +++ b/app/code/Magento/Usps/composer.json @@ -7,15 +7,15 @@ "require": { "php": "~7.1.3||~7.2.0||~7.3.0", "lib-libxml": "*", - "magento/framework": "*", - "magento/module-catalog": "*", - "magento/module-catalog-inventory": "*", - "magento/module-config": "*", - "magento/module-directory": "*", - "magento/module-quote": "*", - "magento/module-sales": "*", - "magento/module-shipping": "*", - "magento/module-store": "*" + "magento/framework": "102.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-inventory": "100.3.*", + "magento/module-config": "101.1.*", + "magento/module-directory": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-sales": "102.0.*", + "magento/module-shipping": "100.3.*", + "magento/module-store": "101.0.*" }, "type": "magento2-module", "license": [ @@ -29,5 +29,6 @@ "psr-4": { "Magento\\Usps\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/Variable/composer.json b/app/code/Magento/Variable/composer.json index 54a5ab663c80c..aab2e5bd0b4ab 100644 --- a/app/code/Magento/Variable/composer.json +++ b/app/code/Magento/Variable/composer.json @@ -6,11 +6,11 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-backend": "*", - "magento/module-store": "*", - "magento/module-config": "*", - "magento/module-ui": "*" + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-store": "101.0.*", + "magento/module-config": "101.1.*", + "magento/module-ui": "101.1.*" }, "type": "magento2-module", "license": [ @@ -24,5 +24,6 @@ "psr-4": { "Magento\\Variable\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/Vault/Api/Data/PaymentTokenFactoryInterface.php b/app/code/Magento/Vault/Api/Data/PaymentTokenFactoryInterface.php index bb6343691f726..94d14dc14228c 100644 --- a/app/code/Magento/Vault/Api/Data/PaymentTokenFactoryInterface.php +++ b/app/code/Magento/Vault/Api/Data/PaymentTokenFactoryInterface.php @@ -9,7 +9,7 @@ /** * Interface PaymentTokenFactoryInterface * @api - * @since 100.3.0 + * @since 101.0.0 */ interface PaymentTokenFactoryInterface { @@ -24,7 +24,7 @@ interface PaymentTokenFactoryInterface * Create payment token entity * @param $type string|null * @return PaymentTokenInterface - * @since 100.3.0 + * @since 101.0.0 */ public function create($type = null); } diff --git a/app/code/Magento/Vault/Api/Data/PaymentTokenInterfaceFactory.php b/app/code/Magento/Vault/Api/Data/PaymentTokenInterfaceFactory.php index 1a854ec814844..501e516841b6e 100644 --- a/app/code/Magento/Vault/Api/Data/PaymentTokenInterfaceFactory.php +++ b/app/code/Magento/Vault/Api/Data/PaymentTokenInterfaceFactory.php @@ -8,7 +8,7 @@ /** * Interface PaymentTokenInterfaceFactory - * @deprecated 100.3.0 + * @deprecated 101.0.0 * @see PaymentTokenFactoryInterface * @codingStandardsIgnoreStart */ diff --git a/app/code/Magento/Vault/Model/AbstractPaymentTokenFactory.php b/app/code/Magento/Vault/Model/AbstractPaymentTokenFactory.php index d568a91c0421b..ab1e2ccd783d5 100644 --- a/app/code/Magento/Vault/Model/AbstractPaymentTokenFactory.php +++ b/app/code/Magento/Vault/Model/AbstractPaymentTokenFactory.php @@ -12,7 +12,7 @@ /** * Class AbstractPaymentTokenFactory - * @deprecated 100.3.0 + * @deprecated 101.0.0 * @see PaymentTokenFactoryInterface */ abstract class AbstractPaymentTokenFactory implements PaymentTokenInterfaceFactory diff --git a/app/code/Magento/Vault/Model/AccountPaymentTokenFactory.php b/app/code/Magento/Vault/Model/AccountPaymentTokenFactory.php index 8fb060b41a24f..e9178ccaf50a8 100644 --- a/app/code/Magento/Vault/Model/AccountPaymentTokenFactory.php +++ b/app/code/Magento/Vault/Model/AccountPaymentTokenFactory.php @@ -7,7 +7,7 @@ /** * Class AccountPaymentTokenFactory - * @deprecated 100.3.0 + * @deprecated 101.0.0 * @see PaymentTokenFactoryInterface */ class AccountPaymentTokenFactory extends AbstractPaymentTokenFactory diff --git a/app/code/Magento/Vault/Model/CreditCardTokenFactory.php b/app/code/Magento/Vault/Model/CreditCardTokenFactory.php index 735dc7c706f62..b0015e3f78316 100644 --- a/app/code/Magento/Vault/Model/CreditCardTokenFactory.php +++ b/app/code/Magento/Vault/Model/CreditCardTokenFactory.php @@ -7,7 +7,7 @@ /** * Class CreditCardTokenFactory - * @deprecated 100.3.0 + * @deprecated 101.0.0 * @see PaymentTokenFactoryInterface */ class CreditCardTokenFactory extends AbstractPaymentTokenFactory diff --git a/app/code/Magento/Vault/Model/PaymentTokenFactory.php b/app/code/Magento/Vault/Model/PaymentTokenFactory.php index 6249fa4944a2c..cee838d622749 100644 --- a/app/code/Magento/Vault/Model/PaymentTokenFactory.php +++ b/app/code/Magento/Vault/Model/PaymentTokenFactory.php @@ -13,7 +13,7 @@ /** * PaymentTokenFactory class * @api - * @since 100.3.0 + * @since 101.0.0 */ class PaymentTokenFactory implements PaymentTokenFactoryInterface { @@ -42,7 +42,7 @@ public function __construct(ObjectManagerInterface $objectManager, array $tokenT * Create payment token entity * @param $type string * @return PaymentTokenInterface - * @since 100.3.0 + * @since 101.0.0 */ public function create($type = null) { diff --git a/app/code/Magento/Vault/Model/PaymentTokenRepository.php b/app/code/Magento/Vault/Model/PaymentTokenRepository.php index 2ccd6181b9b81..46d7b6d2e80fe 100644 --- a/app/code/Magento/Vault/Model/PaymentTokenRepository.php +++ b/app/code/Magento/Vault/Model/PaymentTokenRepository.php @@ -158,7 +158,7 @@ public function save(Data\PaymentTokenInterface $paymentToken) * @param FilterGroup $filterGroup * @param Collection $collection * @return void - * @deprecated 100.3.0 + * @deprecated 101.0.0 * @throws \Magento\Framework\Exception\InputException */ protected function addFilterGroupToCollection(FilterGroup $filterGroup, Collection $collection) @@ -172,7 +172,7 @@ protected function addFilterGroupToCollection(FilterGroup $filterGroup, Collecti /** * Retrieve collection processor * - * @deprecated 100.3.0 + * @deprecated 101.0.0 * @return CollectionProcessorInterface */ private function getCollectionProcessor() diff --git a/app/code/Magento/Vault/composer.json b/app/code/Magento/Vault/composer.json index 7dc2e0be78640..2dc49f37247d8 100644 --- a/app/code/Magento/Vault/composer.json +++ b/app/code/Magento/Vault/composer.json @@ -6,13 +6,13 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-checkout": "*", - "magento/module-customer": "*", - "magento/module-payment": "*", - "magento/module-quote": "*", - "magento/module-sales": "*", - "magento/module-store": "*" + "magento/framework": "102.0.*", + "magento/module-checkout": "100.3.*", + "magento/module-customer": "102.0.*", + "magento/module-payment": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-sales": "102.0.*", + "magento/module-store": "101.0.*" }, "type": "magento2-module", "license": [ @@ -26,5 +26,6 @@ "psr-4": { "Magento\\Vault\\": "" } - } + }, + "version": "101.1.3" } diff --git a/app/code/Magento/VaultGraphQl/composer.json b/app/code/Magento/VaultGraphQl/composer.json index 3595eeee2565b..a317622fb0421 100644 --- a/app/code/Magento/VaultGraphQl/composer.json +++ b/app/code/Magento/VaultGraphQl/composer.json @@ -4,9 +4,9 @@ "type": "magento2-module", "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-vault": "*", - "magento/module-graph-ql": "*" + "magento/framework": "102.0.*", + "magento/module-vault": "101.1.*", + "magento/module-graph-ql": "100.3.*" }, "license": [ "OSL-3.0", @@ -19,5 +19,6 @@ "psr-4": { "Magento\\VaultGraphQl\\": "" } - } + }, + "version": "100.3.1" } diff --git a/app/code/Magento/Version/composer.json b/app/code/Magento/Version/composer.json index 8d67a0ac087e4..0fb96fa08e97e 100644 --- a/app/code/Magento/Version/composer.json +++ b/app/code/Magento/Version/composer.json @@ -6,7 +6,7 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*" + "magento/framework": "102.0.*" }, "type": "magento2-module", "license": [ @@ -20,5 +20,6 @@ "psr-4": { "Magento\\Version\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/Webapi/Controller/Soap/Request/Handler.php b/app/code/Magento/Webapi/Controller/Soap/Request/Handler.php index 5e50cdee794ce..a01c5054f9b5f 100644 --- a/app/code/Magento/Webapi/Controller/Soap/Request/Handler.php +++ b/app/code/Magento/Webapi/Controller/Soap/Request/Handler.php @@ -179,7 +179,7 @@ private function prepareOperationInput(string $serviceClass, array $methodMetada * @param string $serviceMethod * @param array $arguments * @return array - * @deprecated + * @deprecated 100.3.2 * @see Handler::prepareOperationInput() */ protected function _prepareRequestData($serviceClass, $serviceMethod, $arguments) diff --git a/app/code/Magento/Webapi/Model/ConfigInterface.php b/app/code/Magento/Webapi/Model/ConfigInterface.php index 338c18795595f..a0467fb840ccb 100644 --- a/app/code/Magento/Webapi/Model/ConfigInterface.php +++ b/app/code/Magento/Webapi/Model/ConfigInterface.php @@ -12,6 +12,7 @@ * This class gives access to consolidated web API configuration from <Module_Name>/etc/webapi.xml files. * * @api + * @since 100.2.4 */ interface ConfigInterface { @@ -19,6 +20,7 @@ interface ConfigInterface * Return services loaded from cache if enabled or from files merged previously * * @return array + * @since 100.2.4 */ public function getServices(); } diff --git a/app/code/Magento/Webapi/composer.json b/app/code/Magento/Webapi/composer.json index 58ee9f2207b7f..f1b1b503ef024 100644 --- a/app/code/Magento/Webapi/composer.json +++ b/app/code/Magento/Webapi/composer.json @@ -6,15 +6,15 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-authorization": "*", - "magento/module-backend": "*", - "magento/module-integration": "*", - "magento/module-store": "*" + "magento/framework": "102.0.*", + "magento/module-authorization": "100.3.*", + "magento/module-backend": "101.0.*", + "magento/module-integration": "100.3.*", + "magento/module-store": "101.0.*" }, "suggest": { - "magento/module-user": "*", - "magento/module-customer": "*" + "magento/module-user": "101.1.*", + "magento/module-customer": "102.0.*" }, "type": "magento2-module", "license": [ @@ -28,5 +28,6 @@ "psr-4": { "Magento\\Webapi\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/WebapiAsync/Model/BulkServiceConfig.php b/app/code/Magento/WebapiAsync/Model/BulkServiceConfig.php index a0499087c35b9..febe7cba0b7fc 100644 --- a/app/code/Magento/WebapiAsync/Model/BulkServiceConfig.php +++ b/app/code/Magento/WebapiAsync/Model/BulkServiceConfig.php @@ -15,6 +15,7 @@ /** * @api + * @since 100.2.0 */ class BulkServiceConfig implements \Magento\Webapi\Model\ConfigInterface { @@ -58,6 +59,7 @@ public function __construct( * Return services loaded from cache if enabled or from files merged previously * * @return array + * @since 100.2.0 */ public function getServices() { diff --git a/app/code/Magento/WebapiAsync/Model/ServiceConfig.php b/app/code/Magento/WebapiAsync/Model/ServiceConfig.php index 4c085935090bd..8387b2dc53118 100644 --- a/app/code/Magento/WebapiAsync/Model/ServiceConfig.php +++ b/app/code/Magento/WebapiAsync/Model/ServiceConfig.php @@ -17,6 +17,7 @@ * This class gives access to consolidated web API configuration from <Module_Name>/etc/webapi_async.xml files. * * @api + * @since 100.2.0 */ class ServiceConfig { @@ -63,6 +64,7 @@ public function __construct( * Return services loaded from cache if enabled or from files merged previously * * @return array + * @since 100.2.0 */ public function getServices() { diff --git a/app/code/Magento/WebapiAsync/composer.json b/app/code/Magento/WebapiAsync/composer.json index d076897d61e2e..a2b0d0c73a68b 100644 --- a/app/code/Magento/WebapiAsync/composer.json +++ b/app/code/Magento/WebapiAsync/composer.json @@ -6,13 +6,13 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-webapi": "*", - "magento/module-asynchronous-operations": "*" + "magento/framework": "102.0.*", + "magento/module-webapi": "100.3.*", + "magento/module-asynchronous-operations": "100.3.*" }, "suggest": { - "magento/module-user": "*", - "magento/module-customer": "*" + "magento/module-user": "101.1.*", + "magento/module-customer": "102.0.*" }, "type": "magento2-module", "license": [ @@ -26,5 +26,6 @@ "psr-4": { "Magento\\WebapiAsync\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/WebapiSecurity/composer.json b/app/code/Magento/WebapiSecurity/composer.json index fffb6d967e033..5ad10e97c7c28 100644 --- a/app/code/Magento/WebapiSecurity/composer.json +++ b/app/code/Magento/WebapiSecurity/composer.json @@ -6,8 +6,8 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-webapi": "*" + "magento/framework": "102.0.*", + "magento/module-webapi": "100.3.*" }, "type": "magento2-module", "license": [ @@ -21,5 +21,6 @@ "psr-4": { "Magento\\WebapiSecurity\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/Weee/composer.json b/app/code/Magento/Weee/composer.json index cf3b8e6e62dd4..c32b8583837ad 100644 --- a/app/code/Magento/Weee/composer.json +++ b/app/code/Magento/Weee/composer.json @@ -6,22 +6,22 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-backend": "*", - "magento/module-catalog": "*", - "magento/module-checkout": "*", - "magento/module-customer": "*", - "magento/module-directory": "*", - "magento/module-eav": "*", - "magento/module-page-cache": "*", - "magento/module-quote": "*", - "magento/module-sales": "*", - "magento/module-store": "*", - "magento/module-tax": "*", - "magento/module-ui": "*" + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-checkout": "100.3.*", + "magento/module-customer": "102.0.*", + "magento/module-directory": "100.3.*", + "magento/module-eav": "102.0.*", + "magento/module-page-cache": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-sales": "102.0.*", + "magento/module-store": "101.0.*", + "magento/module-tax": "100.3.*", + "magento/module-ui": "101.1.*" }, "suggest": { - "magento/module-bundle": "*" + "magento/module-bundle": "100.3.*" }, "type": "magento2-module", "license": [ @@ -35,5 +35,6 @@ "psr-4": { "Magento\\Weee\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/WeeeGraphQl/composer.json b/app/code/Magento/WeeeGraphQl/composer.json index 0bf303f789a7f..b059a101df918 100644 --- a/app/code/Magento/WeeeGraphQl/composer.json +++ b/app/code/Magento/WeeeGraphQl/composer.json @@ -4,11 +4,11 @@ "type": "magento2-module", "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*" + "magento/framework": "102.0.*" }, "suggest": { - "magento/module-weee": "*", - "magento/module-catalog-graph-ql": "*" + "magento/module-weee": "100.3.*", + "magento/module-catalog-graph-ql": "100.3.*" }, "license": [ "OSL-3.0", @@ -21,5 +21,6 @@ "psr-4": { "Magento\\WeeeGraphQl\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/Widget/Controller/Adminhtml/Widget/LoadOptions.php b/app/code/Magento/Widget/Controller/Adminhtml/Widget/LoadOptions.php index 03d9d10311382..fe96cbecb425a 100644 --- a/app/code/Magento/Widget/Controller/Adminhtml/Widget/LoadOptions.php +++ b/app/code/Magento/Widget/Controller/Adminhtml/Widget/LoadOptions.php @@ -60,7 +60,7 @@ public function execute() /** * @return \Magento\Widget\Helper\Conditions - * @deprecated 100.1.4 + * @deprecated 101.0.0 */ private function getConditionsHelper() { diff --git a/app/code/Magento/Widget/Model/ResourceModel/Widget.php b/app/code/Magento/Widget/Model/ResourceModel/Widget.php index 8d78bb5a56800..4ed77b48f297d 100644 --- a/app/code/Magento/Widget/Model/ResourceModel/Widget.php +++ b/app/code/Magento/Widget/Model/ResourceModel/Widget.php @@ -9,7 +9,7 @@ /** * Resource model for widget. * - * @deprecated 100.2.0 Data from this table was moved to xml(widget.xml). + * @deprecated 101.0.0 Data from this table was moved to xml(widget.xml). */ class Widget extends \Magento\Framework\Model\ResourceModel\Db\AbstractDb { diff --git a/app/code/Magento/Widget/Model/ResourceModel/Widget/Instance/Options/ThemeId.php b/app/code/Magento/Widget/Model/ResourceModel/Widget/Instance/Options/ThemeId.php index 8e5d8d63840fb..0532c57f0306d 100644 --- a/app/code/Magento/Widget/Model/ResourceModel/Widget/Instance/Options/ThemeId.php +++ b/app/code/Magento/Widget/Model/ResourceModel/Widget/Instance/Options/ThemeId.php @@ -9,7 +9,7 @@ /** * Widget Instance Theme Id Options * - * @deprecated 100.2.0 created new class that correctly loads theme options and whose name follows naming convention + * @deprecated 100.1.7 created new class that correctly loads theme options and whose name follows naming convention * @see \Magento\Widget\Model\ResourceModel\Widget\Instance\Options\Themes */ class ThemeId implements \Magento\Framework\Option\ArrayInterface diff --git a/app/code/Magento/Widget/Model/Widget.php b/app/code/Magento/Widget/Model/Widget.php index d07e84186b2c9..195c3f397ff18 100644 --- a/app/code/Magento/Widget/Model/Widget.php +++ b/app/code/Magento/Widget/Model/Widget.php @@ -88,7 +88,7 @@ public function __construct( * * @return \Magento\Framework\Math\Random * - * @deprecated 100.1.0 + * @deprecated 100.0.10 */ private function getMathRandom() { @@ -127,7 +127,7 @@ public function getWidgetByClassType($type) * @param string $type Widget type * @return null|\Magento\Framework\Simplexml\Element * - * @deprecated 100.2.0 + * @deprecated 101.0.0 */ public function getConfigAsXml($type) { diff --git a/app/code/Magento/Widget/Model/Widget/Instance.php b/app/code/Magento/Widget/Model/Widget/Instance.php index 4ca126e659e09..7f4e3ae8610ba 100644 --- a/app/code/Magento/Widget/Model/Widget/Instance.php +++ b/app/code/Magento/Widget/Model/Widget/Instance.php @@ -99,11 +99,13 @@ class Instance extends \Magento\Framework\Model\AbstractModel /** * @var \Magento\Catalog\Model\Product\Type + * @since 101.0.4 */ protected $_productType; /** * @var \Magento\Widget\Model\Config\Reader + * @since 101.0.4 */ protected $_reader; diff --git a/app/code/Magento/Widget/composer.json b/app/code/Magento/Widget/composer.json index 3e2a4b588b7ee..815befc923f71 100644 --- a/app/code/Magento/Widget/composer.json +++ b/app/code/Magento/Widget/composer.json @@ -6,16 +6,16 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-backend": "*", - "magento/module-catalog": "*", - "magento/module-cms": "*", - "magento/module-store": "*", - "magento/module-theme": "*", - "magento/module-variable": "*" + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-cms": "103.0.*", + "magento/module-store": "101.0.*", + "magento/module-theme": "101.0.*", + "magento/module-variable": "100.3.*" }, "suggest": { - "magento/module-widget-sample-data": "*" + "magento/module-widget-sample-data": "Sample Data version: 100.3.*" }, "type": "magento2-module", "license": [ @@ -29,5 +29,6 @@ "psr-4": { "Magento\\Widget\\": "" } - } + }, + "version": "101.1.3" } diff --git a/app/code/Magento/Wishlist/Block/AbstractBlock.php b/app/code/Magento/Wishlist/Block/AbstractBlock.php index 981a0da1d241f..5f4a7c8f3814b 100644 --- a/app/code/Magento/Wishlist/Block/AbstractBlock.php +++ b/app/code/Magento/Wishlist/Block/AbstractBlock.php @@ -231,7 +231,7 @@ public function hasDescription($item) * Retrieve formatted Date * * @param string $date - * @deprecated + * @deprecated 101.1.1 * @return string */ public function getFormatedDate($date) diff --git a/app/code/Magento/Wishlist/Block/Customer/Wishlist.php b/app/code/Magento/Wishlist/Block/Customer/Wishlist.php index d02f2229401c1..bc94f53a7625a 100644 --- a/app/code/Magento/Wishlist/Block/Customer/Wishlist.php +++ b/app/code/Magento/Wishlist/Block/Customer/Wishlist.php @@ -31,6 +31,7 @@ class Wishlist extends \Magento\Wishlist\Block\AbstractBlock /** * @var \Magento\Wishlist\Model\ResourceModel\Item\Collection + * @since 101.1.1 */ protected $_collection; @@ -101,6 +102,7 @@ private function paginateCollection() * Retrieve Wishlist Product Items collection * * @return \Magento\Wishlist\Model\ResourceModel\Item\Collection + * @since 101.1.1 */ public function getWishlistItems() { diff --git a/app/code/Magento/Wishlist/Block/Customer/Wishlist/Item/Column/Actions.php b/app/code/Magento/Wishlist/Block/Customer/Wishlist/Item/Column/Actions.php index 40882ae00dae1..db92a10907d39 100644 --- a/app/code/Magento/Wishlist/Block/Customer/Wishlist/Item/Column/Actions.php +++ b/app/code/Magento/Wishlist/Block/Customer/Wishlist/Item/Column/Actions.php @@ -13,7 +13,7 @@ * Model for item column in customer wishlist. * * @api - * @deprecated + * @deprecated 101.1.2 * @since 100.0.2 */ class Actions extends \Magento\Wishlist\Block\Customer\Wishlist\Item\Column diff --git a/app/code/Magento/Wishlist/Block/Customer/Wishlist/Item/Column/Comment.php b/app/code/Magento/Wishlist/Block/Customer/Wishlist/Item/Column/Comment.php index 53f67626e956d..57d182dee4e1c 100644 --- a/app/code/Magento/Wishlist/Block/Customer/Wishlist/Item/Column/Comment.php +++ b/app/code/Magento/Wishlist/Block/Customer/Wishlist/Item/Column/Comment.php @@ -13,7 +13,7 @@ * Wishlist block customer item cart column. * * @api - * @deprecated + * @deprecated 101.1.2 * @since 100.0.2 */ class Comment extends \Magento\Wishlist\Block\Customer\Wishlist\Item\Column diff --git a/app/code/Magento/Wishlist/Block/Customer/Wishlist/Item/Column/Edit.php b/app/code/Magento/Wishlist/Block/Customer/Wishlist/Item/Column/Edit.php index c4c786961694b..f41146051ae96 100644 --- a/app/code/Magento/Wishlist/Block/Customer/Wishlist/Item/Column/Edit.php +++ b/app/code/Magento/Wishlist/Block/Customer/Wishlist/Item/Column/Edit.php @@ -13,7 +13,7 @@ * Edit item in customer wishlist table. * * @api - * @deprecated + * @deprecated 101.1.2 * @since 100.0.2 */ class Edit extends \Magento\Wishlist\Block\Customer\Wishlist\Item\Column diff --git a/app/code/Magento/Wishlist/Block/Customer/Wishlist/Item/Column/Image.php b/app/code/Magento/Wishlist/Block/Customer/Wishlist/Item/Column/Image.php index 5595d189b15eb..c578e9d1c5d22 100644 --- a/app/code/Magento/Wishlist/Block/Customer/Wishlist/Item/Column/Image.php +++ b/app/code/Magento/Wishlist/Block/Customer/Wishlist/Item/Column/Image.php @@ -53,6 +53,7 @@ public function __construct( * Identify the product from which thumbnail should be taken. * * @return \Magento\Catalog\Model\Product + * @since 101.0.5 */ public function getProductForThumbnail(\Magento\Wishlist\Model\Item $item) : \Magento\Catalog\Model\Product { diff --git a/app/code/Magento/Wishlist/Block/Customer/Wishlist/Item/Column/Info.php b/app/code/Magento/Wishlist/Block/Customer/Wishlist/Item/Column/Info.php index b7eaf53fc23b5..092ede9ceb016 100644 --- a/app/code/Magento/Wishlist/Block/Customer/Wishlist/Item/Column/Info.php +++ b/app/code/Magento/Wishlist/Block/Customer/Wishlist/Item/Column/Info.php @@ -13,7 +13,7 @@ * Wishlist block customer item cart column. * * @api - * @deprecated + * @deprecated 101.1.2 * @since 100.0.2 */ class Info extends \Magento\Wishlist\Block\Customer\Wishlist\Item\Column diff --git a/app/code/Magento/Wishlist/Block/Customer/Wishlist/Item/Column/Remove.php b/app/code/Magento/Wishlist/Block/Customer/Wishlist/Item/Column/Remove.php index 09f5014edead6..472cd3cc70f09 100644 --- a/app/code/Magento/Wishlist/Block/Customer/Wishlist/Item/Column/Remove.php +++ b/app/code/Magento/Wishlist/Block/Customer/Wishlist/Item/Column/Remove.php @@ -13,7 +13,7 @@ * Delete item column in customer wishlist table * * @api - * @deprecated + * @deprecated 101.1.2 * @since 100.0.2 */ class Remove extends \Magento\Wishlist\Block\Customer\Wishlist\Item\Column diff --git a/app/code/Magento/Wishlist/Block/Link.php b/app/code/Magento/Wishlist/Block/Link.php index 2d78852f0fd32..c410a1254edee 100644 --- a/app/code/Magento/Wishlist/Block/Link.php +++ b/app/code/Magento/Wishlist/Block/Link.php @@ -75,7 +75,7 @@ public function getLabel() /** * {@inheritdoc} - * @since 100.2.0 + * @since 101.0.0 */ public function getSortOrder() { diff --git a/app/code/Magento/Wishlist/Model/ResourceModel/Item/Collection.php b/app/code/Magento/Wishlist/Model/ResourceModel/Item/Collection.php index 61d444f786ca8..92592e8417c64 100644 --- a/app/code/Magento/Wishlist/Model/ResourceModel/Item/Collection.php +++ b/app/code/Magento/Wishlist/Model/ResourceModel/Item/Collection.php @@ -352,6 +352,7 @@ protected function _assignProducts() /** * @inheritdoc + * @since 101.1.3 */ protected function _renderFiltersBefore() { diff --git a/app/code/Magento/Wishlist/Observer/AddToCart.php b/app/code/Magento/Wishlist/Observer/AddToCart.php index 1ab24d87efbf7..e31a8993670c6 100644 --- a/app/code/Magento/Wishlist/Observer/AddToCart.php +++ b/app/code/Magento/Wishlist/Observer/AddToCart.php @@ -15,7 +15,7 @@ /** * Class AddToCart - * @deprecated 100.2.0 + * @deprecated 101.0.0 * @package Magento\Wishlist\Observer */ class AddToCart implements ObserverInterface diff --git a/app/code/Magento/Wishlist/composer.json b/app/code/Magento/Wishlist/composer.json index dc43315c6839d..2059b71616cb8 100644 --- a/app/code/Magento/Wishlist/composer.json +++ b/app/code/Magento/Wishlist/composer.json @@ -6,26 +6,26 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-backend": "*", - "magento/module-catalog": "*", - "magento/module-catalog-inventory": "*", - "magento/module-checkout": "*", - "magento/module-customer": "*", - "magento/module-rss": "*", - "magento/module-sales": "*", - "magento/module-store": "*", - "magento/module-theme": "*", - "magento/module-ui": "*", - "magento/module-captcha": "*" + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-inventory": "100.3.*", + "magento/module-checkout": "100.3.*", + "magento/module-customer": "102.0.*", + "magento/module-rss": "100.3.*", + "magento/module-sales": "102.0.*", + "magento/module-store": "101.0.*", + "magento/module-theme": "101.0.*", + "magento/module-ui": "101.1.*", + "magento/module-captcha": "100.3.*" }, "suggest": { - "magento/module-configurable-product": "*", - "magento/module-downloadable": "*", - "magento/module-bundle": "*", - "magento/module-cookie": "*", - "magento/module-grouped-product": "*", - "magento/module-wishlist-sample-data": "*" + "magento/module-configurable-product": "100.3.*", + "magento/module-downloadable": "100.3.*", + "magento/module-bundle": "100.3.*", + "magento/module-cookie": "100.3.*", + "magento/module-grouped-product": "100.3.*", + "magento/module-wishlist-sample-data": "Sample Data version: 100.3.*" }, "type": "magento2-module", "license": [ @@ -39,5 +39,6 @@ "psr-4": { "Magento\\Wishlist\\": "" } - } + }, + "version": "101.1.3-p1" } diff --git a/app/code/Magento/Wishlist/view/frontend/email/share_notification.html b/app/code/Magento/Wishlist/view/frontend/email/share_notification.html index 31ea2f72346ea..d5c31ab858de8 100644 --- a/app/code/Magento/Wishlist/view/frontend/email/share_notification.html +++ b/app/code/Magento/Wishlist/view/frontend/email/share_notification.html @@ -6,6 +6,7 @@ --> <!--@subject {{trans "Take a look at %customer_name's Wish List" customer_name=$customerName}} @--> <!--@vars { +"var store.frontend_name":"Store Name", "var customerName":"Customer Name", "var viewOnSiteLink":"View Wish List URL", "var items|raw":"Wish List Items", @@ -14,7 +15,7 @@ {{template config_path="design/email/header_template"}} -<p>{{trans "%customer_name wants to share this Wish List from %store_name with you:" customer_name=$customerName store_name=$store.getFrontendName()}}</p> +<p>{{trans "%customer_name wants to share this Wish List from %store_name with you:" customer_name=$customerName store_name=$store.frontend_name}}</p> {{depend message}} <table class="message-info"> diff --git a/app/code/Magento/WishlistAnalytics/composer.json b/app/code/Magento/WishlistAnalytics/composer.json index fbd0b9e2d5c2e..f09caabb459f3 100644 --- a/app/code/Magento/WishlistAnalytics/composer.json +++ b/app/code/Magento/WishlistAnalytics/composer.json @@ -3,9 +3,9 @@ "description": "N/A", "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-wishlist": "*", - "magento/module-analytics": "*" + "magento/framework": "102.0.*", + "magento/module-wishlist": "101.1.*", + "magento/module-analytics": "100.3.*" }, "type": "magento2-module", "license": [ @@ -19,5 +19,6 @@ "psr-4": { "Magento\\WishlistAnalytics\\": "" } - } + }, + "version": "100.3.3" } diff --git a/app/code/Magento/WishlistGraphQl/composer.json b/app/code/Magento/WishlistGraphQl/composer.json index 11dd9944d6938..0e46bdb75509e 100644 --- a/app/code/Magento/WishlistGraphQl/composer.json +++ b/app/code/Magento/WishlistGraphQl/composer.json @@ -4,10 +4,10 @@ "type": "magento2-module", "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/module-catalog-graph-ql": "*", - "magento/module-wishlist": "*", - "magento/module-store": "*" + "magento/framework": "102.0.*", + "magento/module-catalog-graph-ql": "100.3.*", + "magento/module-wishlist": "101.1.*", + "magento/module-store": "101.0.*" }, "license": [ "OSL-3.0", @@ -20,5 +20,6 @@ "psr-4": { "Magento\\WishlistGraphQl\\": "" } - } + }, + "version": "100.3.2" } diff --git a/app/design/adminhtml/Magento/backend/composer.json b/app/design/adminhtml/Magento/backend/composer.json index a7553f8b6fb09..8d5f61f466f28 100644 --- a/app/design/adminhtml/Magento/backend/composer.json +++ b/app/design/adminhtml/Magento/backend/composer.json @@ -6,7 +6,7 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*" + "magento/framework": "102.0.*" }, "type": "magento2-theme", "license": [ @@ -17,5 +17,6 @@ "files": [ "registration.php" ] - } + }, + "version": "100.3.3-p1" } diff --git a/app/design/frontend/Magento/blank/composer.json b/app/design/frontend/Magento/blank/composer.json index 1857d9d597d05..f0f10e9f43c2b 100644 --- a/app/design/frontend/Magento/blank/composer.json +++ b/app/design/frontend/Magento/blank/composer.json @@ -6,7 +6,7 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*" + "magento/framework": "102.0.*" }, "type": "magento2-theme", "license": [ @@ -17,5 +17,6 @@ "files": [ "registration.php" ] - } + }, + "version": "100.3.3" } diff --git a/app/design/frontend/Magento/luma/Magento_Customer/email/account_new.html b/app/design/frontend/Magento/luma/Magento_Customer/email/account_new.html index c8b10aa6dffc7..4a897a62a9235 100644 --- a/app/design/frontend/Magento/luma/Magento_Customer/email/account_new.html +++ b/app/design/frontend/Magento/luma/Magento_Customer/email/account_new.html @@ -4,17 +4,19 @@ * See COPYING.txt for license details. */ --> -<!--@subject {{trans "Welcome to %store_name" store_name=$store.getFrontendName()}} @--> +<!--@subject {{trans "Welcome to %store_name" store_name=$store.frontend_name}} @--> <!--@vars { -"var this.getUrl($store, 'customer/account/')":"Customer Account URL", +"var store.frontend_name":"Store Name", +"var this.getUrl($store,'customer/account/',[_nosid:1])":"Customer Account URL", "var customer.email":"Customer Email", -"var customer.name":"Customer Name" +"var customer.name":"Customer Name", +"var this.getUrl($store,'customer/account/createPassword/',[_query:[id:$customer.id,token:$customer.rp_token],_nosid:1])":"Password Reset URL" } @--> {{template config_path="design/email/header_template"}} <p class="greeting">{{trans "%name," name=$customer.name}}</p> -<p>{{trans "Welcome to %store_name." store_name=$store.getFrontendName()}}</p> +<p>{{trans "Welcome to %store_name." store_name=$store.frontend_name}}</p> <p> {{trans 'To sign in to our site, use these credentials during checkout or on the <a href="%customer_url">My Account</a> page:' diff --git a/app/design/frontend/Magento/luma/Magento_Email/email/footer.html b/app/design/frontend/Magento/luma/Magento_Email/email/footer.html index 0fc8e36a82076..9620e5c446e60 100644 --- a/app/design/frontend/Magento/luma/Magento_Email/email/footer.html +++ b/app/design/frontend/Magento/luma/Magento_Email/email/footer.html @@ -6,7 +6,12 @@ --> <!--@subject {{trans "Footer"}} @--> <!--@vars { -"var store.getFrontendName()":"Store Name" +"var store.frontend_name":"Store Name", +"var url_about_us":"About Us URL", +"var url_customer_service":"Customer Service URL", +"var store_phone":"Store Phone", +"var store_hours":"Store Hours", +"var store.formatted_address|raw":"Store Address" } @--> <!-- End Content --> @@ -42,7 +47,7 @@ </td> <td> <p class="address"> - {{var store.getFormattedAddress()|raw}} + {{var store.formatted_address|raw}} </p> </td> </tr> diff --git a/app/design/frontend/Magento/luma/Magento_Sales/email/creditmemo_new.html b/app/design/frontend/Magento/luma/Magento_Sales/email/creditmemo_new.html index 098a610adaddf..86e3cf01e965e 100644 --- a/app/design/frontend/Magento/luma/Magento_Sales/email/creditmemo_new.html +++ b/app/design/frontend/Magento/luma/Magento_Sales/email/creditmemo_new.html @@ -4,28 +4,32 @@ * See COPYING.txt for license details. */ --> -<!--@subject {{trans "Credit memo for your %store_name order" store_name=$store.getFrontendName()}} @--> +<!--@subject {{trans "Credit memo for your %store_name order" store_name=$store.frontend_name}} @--> <!--@vars { "var formattedBillingAddress|raw":"Billing Address", -"var comment":"Credit Memo Comment", +"var comment|escape|nl2br":"Credit Memo Comment", "var creditmemo.increment_id":"Credit Memo Id", "layout handle=\"sales_email_order_creditmemo_items\" creditmemo=$creditmemo order=$order":"Credit Memo Items Grid", -"var this.getUrl($store, 'customer/account/')":"Customer Account URL", -"var order.getCustomerName()":"Customer Name", +"var this.getUrl($store,'customer/account/',[_nosid:1])":"Customer Account URL", +"var order_data.customer_name":"Customer Name", "var order.increment_id":"Order Id", "var payment_html|raw":"Payment Details", "var formattedShippingAddress|raw":"Shipping Address", -"var order.getShippingDescription()":"Shipping Description", -"var order.shipping_description":"Shipping Description" +"var order.shipping_description":"Shipping Description", +"var store.frontend_name":"Store Frontend Name", +"var store_email":"Store Email", +"var creditmemo":"Credit Memo", +"var order":"Order", +"var order_data.is_not_virtual":"Order Type" } @--> {{template config_path="design/email/header_template"}} <table> <tr class="email-intro"> <td> - <p class="greeting">{{trans "%name," name=$order.getCustomerName()}}</p> + <p class="greeting">{{trans "%name," name=$order_data.customer_name}}</p> <p> - {{trans "Thank you for your order from %store_name." store_name=$store.getFrontendName()}} + {{trans "Thank you for your order from %store_name." store_name=$store.frontend_name}} {{trans 'You can check the status of your order by <a href="%account_url">logging into your account</a>.' account_url=$this.getUrl($store,'customer/account/',[_nosid:1]) |raw}} </p> <p> @@ -55,7 +59,7 @@ <h1>{{trans "Your Credit Memo #%creditmemo_id for Order #%order_id" creditmemo_i <h3>{{trans "Billing Info"}}</h3> <p>{{var formattedBillingAddress|raw}}</p> </td> - {{depend order.getIsNotVirtual()}} + {{depend order_data.is_not_virtual}} <td class="address-details"> <h3>{{trans "Shipping Info"}}</h3> <p>{{var formattedShippingAddress|raw}}</p> @@ -67,10 +71,10 @@ <h3>{{trans "Shipping Info"}}</h3> <h3>{{trans "Payment Method"}}</h3> {{var payment_html|raw}} </td> - {{depend order.getIsNotVirtual()}} + {{depend order_data.is_not_virtual}} <td class="method-info"> <h3>{{trans "Shipping Method"}}</h3> - <p>{{var order.getShippingDescription()}}</p> + <p>{{var order.shipping_description}}</p> </td> {{/depend}} </tr> diff --git a/app/design/frontend/Magento/luma/Magento_Sales/email/creditmemo_new_guest.html b/app/design/frontend/Magento/luma/Magento_Sales/email/creditmemo_new_guest.html index f116e86eeeb06..d0310a8e2c7b6 100644 --- a/app/design/frontend/Magento/luma/Magento_Sales/email/creditmemo_new_guest.html +++ b/app/design/frontend/Magento/luma/Magento_Sales/email/creditmemo_new_guest.html @@ -4,27 +4,31 @@ * See COPYING.txt for license details. */ --> -<!--@subject {{trans "Credit memo for your %store_name order" store_name=$store.getFrontendName()}} @--> +<!--@subject {{trans "Credit memo for your %store_name order" store_name=$store.frontend_name}} @--> <!--@vars { "var formattedBillingAddress|raw":"Billing Address", -"var comment":"Credit Memo Comment", +"var comment|escape|nl2br":"Credit Memo Comment", "var creditmemo.increment_id":"Credit Memo Id", "layout handle=\"sales_email_order_creditmemo_items\" creditmemo=$creditmemo order=$order":"Credit Memo Items Grid", -"var billing.getName()":"Guest Customer Name (Billing)", +"var billing.name":"Guest Customer Name (Billing)", "var order.increment_id":"Order Id", "var payment_html|raw":"Payment Details", "var formattedShippingAddress|raw":"Shipping Address", -"var order.getShippingDescription()":"Shipping Description", -"var order.shipping_description":"Shipping Description" +"var order.shipping_description":"Shipping Description", +"var store.frontend_name":"Store Frontend Name", +"var store_email":"Store Email", +"var creditmemo":"Credit Memo", +"var order":"Order", +"var order_data.is_not_virtual":"Order Type" } @--> {{template config_path="design/email/header_template"}} <table> <tr class="email-intro"> <td> - <p class="greeting">{{trans "%name," name=$billing.getName()}}</p> + <p class="greeting">{{trans "%name," name=$billing.name}}</p> <p> - {{trans "Thank you for your order from %store_name." store_name=$store.getFrontendName()}} + {{trans "Thank you for your order from %store_name." store_name=$store.frontend_name}} </p> <p> {{trans 'If you have questions about your order, you can email us at <a href="mailto:%store_email">%store_email</a>.' store_email=$store_email |raw}} @@ -53,7 +57,7 @@ <h1>{{trans "Your Credit Memo #%creditmemo_id for Order #%order_id" creditmemo_i <h3>{{trans "Billing Info"}}</h3> <p>{{var formattedBillingAddress|raw}}</p> </td> - {{depend order.getIsNotVirtual()}} + {{depend order_data.is_not_virtual}} <td class="address-details"> <h3>{{trans "Shipping Info"}}</h3> <p>{{var formattedShippingAddress|raw}}</p> @@ -65,10 +69,10 @@ <h3>{{trans "Shipping Info"}}</h3> <h3>{{trans "Payment Method"}}</h3> {{var payment_html|raw}} </td> - {{depend order.getIsNotVirtual()}} + {{depend order_data.is_not_virtual}} <td class="method-info"> <h3>{{trans "Shipping Method"}}</h3> - <p>{{var order.getShippingDescription()}}</p> + <p>{{var order.shipping_description}}</p> </td> {{/depend}} </tr> diff --git a/app/design/frontend/Magento/luma/Magento_Sales/email/creditmemo_update.html b/app/design/frontend/Magento/luma/Magento_Sales/email/creditmemo_update.html index 269e46d752084..352c9ab4fddf4 100644 --- a/app/design/frontend/Magento/luma/Magento_Sales/email/creditmemo_update.html +++ b/app/design/frontend/Magento/luma/Magento_Sales/email/creditmemo_update.html @@ -4,27 +4,29 @@ * See COPYING.txt for license details. */ --> -<!--@subject {{trans "Update to your %store_name credit memo" store_name=$store.getFrontendName()}} @--> +<!--@subject {{trans "Update to your %store_name credit memo" store_name=$store.frontend_name}} @--> <!--@vars { -"var comment":"Credit Memo Comment", +"var comment|escape|nl2br":"Credit Memo Comment", "var creditmemo.increment_id":"Credit Memo Id", -"var this.getUrl($store, 'customer/account/')":"Customer Account URL", -"var order.getCustomerName()":"Customer Name", +"var this.getUrl($store,'customer/account/',[_nosid:1])":"Customer Account URL", +"var order_data.customer_name":"Customer Name", "var order.increment_id":"Order Id", -"var order.getFrontendStatusLabel()":"Order Status" +"var order_data.frontend_status_label":"Order Status", +"var store.frontend_name":"Store Frontend Name", +"var store_email":"Store Email" } @--> {{template config_path="design/email/header_template"}} <table> <tr class="email-intro"> <td> - <p class="greeting">{{trans "%name," name=$order.getCustomerName()}}</p> + <p class="greeting">{{trans "%name," name=$order_data.customer_name}}</p> <p> {{trans "Your order #%increment_id has been updated with a status of <strong>%order_status</strong>." increment_id=$order.increment_id - order_status=$order.getFrontendStatusLabel() + order_status=$order_data.frontend_status_label |raw}} {{trans 'You can check the status of your order by <a href="%account_url">logging into your account</a>.' account_url=$this.getUrl($store,'customer/account/',[_nosid:1]) |raw}} </p> diff --git a/app/design/frontend/Magento/luma/Magento_Sales/email/creditmemo_update_guest.html b/app/design/frontend/Magento/luma/Magento_Sales/email/creditmemo_update_guest.html index c8bdae7b08fa5..9b09760c1fa4a 100644 --- a/app/design/frontend/Magento/luma/Magento_Sales/email/creditmemo_update_guest.html +++ b/app/design/frontend/Magento/luma/Magento_Sales/email/creditmemo_update_guest.html @@ -4,26 +4,28 @@ * See COPYING.txt for license details. */ --> -<!--@subject {{trans "Update to your %store_name credit memo" store_name=$store.getFrontendName()}} @--> +<!--@subject {{trans "Update to your %store_name credit memo" store_name=$store.frontend_name}} @--> <!--@vars { -"var comment":"Credit Memo Comment", +"var comment|escape|nl2br":"Credit Memo Comment", "var creditmemo.increment_id":"Credit Memo Id", -"var billing.getName()":"Guest Customer Name", +"var billing.name":"Guest Customer Name", "var order.increment_id":"Order Id", -"var order.getFrontendStatusLabel()":"Order Status" +"var order_data.frontend_status_label":"Order Status", +"var store_email":"Store Email", +"var store.frontend_name":"Store Frontend Name" } @--> {{template config_path="design/email/header_template"}} <table> <tr class="email-intro"> <td> - <p class="greeting">{{trans "%name," name=$billing.getName()}}</p> + <p class="greeting">{{trans "%name," name=$billing.name}}</p> <p> {{trans "Your order #%increment_id has been updated with a status of <strong>%order_status</strong>." increment_id=$order.increment_id - order_status=$order.getFrontendStatusLabel() + order_status=$order_data.frontend_status_label |raw}} </p> <p> diff --git a/app/design/frontend/Magento/luma/Magento_Sales/email/invoice_new.html b/app/design/frontend/Magento/luma/Magento_Sales/email/invoice_new.html index 8d7ba99312375..636fa9ac5f425 100644 --- a/app/design/frontend/Magento/luma/Magento_Sales/email/invoice_new.html +++ b/app/design/frontend/Magento/luma/Magento_Sales/email/invoice_new.html @@ -4,28 +4,32 @@ * See COPYING.txt for license details. */ --> -<!--@subject {{trans "Invoice for your %store_name order" store_name=$store.getFrontendName()}} @--> +<!--@subject {{trans "Invoice for your %store_name order" store_name=$store.frontend_name}} @--> <!--@vars { "var formattedBillingAddress|raw":"Billing Address", -"var this.getUrl($store, 'customer/account/')":"Customer Account URL", -"var order.getCustomerName()":"Customer Name", -"var comment":"Invoice Comment", +"var this.getUrl($store,'customer/account/',[_nosid:1])":"Customer Account URL", +"var order_data.customer_name":"Customer Name", +"var comment|escape|nl2br":"Invoice Comment", "var invoice.increment_id":"Invoice Id", "layout area=\"frontend\" handle=\"sales_email_order_invoice_items\" invoice=$invoice order=$order":"Invoice Items Grid", "var order.increment_id":"Order Id", "var payment_html|raw":"Payment Details", "var formattedShippingAddress|raw":"Shipping Address", "var order.shipping_description":"Shipping Description", -"var order.getShippingDescription()":"Shipping Description" +"var store.frontend_name":"Store Frontend Name", +"var store_email":"Store Email", +"var invoice": "Invoice", +"var order": "Order", +"var order_data.is_not_virtual": "Order Type" } @--> {{template config_path="design/email/header_template"}} <table> <tr class="email-intro"> <td> - <p class="greeting">{{trans "%name," name=$order.getCustomerName()}}</p> + <p class="greeting">{{trans "%name," name=$order_data.customer_name}}</p> <p> - {{trans "Thank you for your order from %store_name." store_name=$store.getFrontendName()}} + {{trans "Thank you for your order from %store_name." store_name=$store.frontend_name}} {{trans 'You can check the status of your order by <a href="%account_url">logging into your account</a>.' account_url=$this.getUrl($store,'customer/account/',[_nosid:1]) |raw}} </p> <p> @@ -55,7 +59,7 @@ <h1>{{trans "Your Invoice #%invoice_id for Order #%order_id" invoice_id=$invoice <h3>{{trans "Billing Info"}}</h3> <p>{{var formattedBillingAddress|raw}}</p> </td> - {{depend order.getIsNotVirtual()}} + {{depend order_data.is_not_virtual}} <td class="address-details"> <h3>{{trans "Shipping Info"}}</h3> <p>{{var formattedShippingAddress|raw}}</p> @@ -67,10 +71,10 @@ <h3>{{trans "Shipping Info"}}</h3> <h3>{{trans "Payment Method"}}</h3> {{var payment_html|raw}} </td> - {{depend order.getIsNotVirtual()}} + {{depend order_data.is_not_virtual}} <td class="method-info"> <h3>{{trans "Shipping Method"}}</h3> - <p>{{var order.getShippingDescription()}}</p> + <p>{{var order.shipping_description}}</p> </td> {{/depend}} </tr> diff --git a/app/design/frontend/Magento/luma/Magento_Sales/email/invoice_new_guest.html b/app/design/frontend/Magento/luma/Magento_Sales/email/invoice_new_guest.html index b8c604daf824b..7df5ffe5f4ab8 100644 --- a/app/design/frontend/Magento/luma/Magento_Sales/email/invoice_new_guest.html +++ b/app/design/frontend/Magento/luma/Magento_Sales/email/invoice_new_guest.html @@ -4,27 +4,31 @@ * See COPYING.txt for license details. */ --> -<!--@subject {{trans "Invoice for your %store_name order" store_name=$store.getFrontendName()}} @--> +<!--@subject {{trans "Invoice for your %store_name order" store_name=$store.frontend_name}} @--> <!--@vars { "var formattedBillingAddress|raw":"Billing Address", -"var billing.getName()":"Guest Customer Name", -"var comment":"Invoice Comment", +"var billing.name":"Guest Customer Name", +"var comment|escape|nl2br":"Invoice Comment", "var invoice.increment_id":"Invoice Id", "layout handle=\"sales_email_order_invoice_items\" invoice=$invoice order=$order":"Invoice Items Grid", "var order.increment_id":"Order Id", "var payment_html|raw":"Payment Details", "var formattedShippingAddress|raw":"Shipping Address", -"var order.getShippingDescription()":"Shipping Description", -"var order.shipping_description":"Shipping Description" +"var order.shipping_description":"Shipping Description", +"var store.frontend_name":"Store Frontend Name", +"var store_email":"Store Email", +"var invoice": "Invoice", +"var order": "Order", +"var order_data.is_not_virtual": "Order Type" } @--> {{template config_path="design/email/header_template"}} <table> <tr class="email-intro"> <td> - <p class="greeting">{{trans "%name," name=$billing.getName()}}</p> + <p class="greeting">{{trans "%name," name=$billing.name}}</p> <p> - {{trans "Thank you for your order from %store_name." store_name=$store.getFrontendName()}} + {{trans "Thank you for your order from %store_name." store_name=$store.frontend_name}} </p> <p> {{trans 'If you have questions about your order, you can email us at <a href="mailto:%store_email">%store_email</a>.' store_email=$store_email |raw}} @@ -53,7 +57,7 @@ <h1>{{trans "Your Invoice #%invoice_id for Order #%order_id" invoice_id=$invoice <h3>{{trans "Billing Info"}}</h3> <p>{{var formattedBillingAddress|raw}}</p> </td> - {{depend order.getIsNotVirtual()}} + {{depend order_data.is_not_virtual}} <td class="address-details"> <h3>{{trans "Shipping Info"}}</h3> <p>{{var formattedShippingAddress|raw}}</p> @@ -65,10 +69,10 @@ <h3>{{trans "Shipping Info"}}</h3> <h3>{{trans "Payment Method"}}</h3> {{var payment_html|raw}} </td> - {{depend order.getIsNotVirtual()}} + {{depend order_data.is_not_virtual}} <td class="method-info"> <h3>{{trans "Shipping Method"}}</h3> - <p>{{var order.getShippingDescription()}}</p> + <p>{{var order.shipping_description}}</p> </td> {{/depend}} </tr> diff --git a/app/design/frontend/Magento/luma/Magento_Sales/email/invoice_update.html b/app/design/frontend/Magento/luma/Magento_Sales/email/invoice_update.html index 8ec54f1e64d9c..834b512f82fb7 100644 --- a/app/design/frontend/Magento/luma/Magento_Sales/email/invoice_update.html +++ b/app/design/frontend/Magento/luma/Magento_Sales/email/invoice_update.html @@ -4,27 +4,29 @@ * See COPYING.txt for license details. */ --> -<!--@subject {{trans "Update to your %store_name invoice" store_name=$store.getFrontendName()}} @--> +<!--@subject {{trans "Update to your %store_name invoice" store_name=$store.frontend_name}} @--> <!--@vars { -"var this.getUrl($store, 'customer/account/')":"Customer Account URL", -"var order.getCustomerName()":"Customer Name", -"var comment":"Invoice Comment", +"var this.getUrl($store,'customer/account/',[_nosid:1])":"Customer Account URL", +"var order_data.customer_name":"Customer Name", +"var comment|escape|nl2br":"Invoice Comment", "var invoice.increment_id":"Invoice Id", "var order.increment_id":"Order Id", -"var order.getFrontendStatusLabel()":"Order Status" +"var order_data.frontend_status_label":"Order Status", +"var store.frontend_name":"Store Frontend Name", +"var store_email":"Store Email" } @--> {{template config_path="design/email/header_template"}} <table> <tr class="email-intro"> <td> - <p class="greeting">{{trans "%name," name=$order.getCustomerName()}}</p> + <p class="greeting">{{trans "%name," name=$order_data.customer_name}}</p> <p> {{trans "Your order #%increment_id has been updated with a status of <strong>%order_status</strong>." increment_id=$order.increment_id - order_status=$order.getFrontendStatusLabel() + order_status=$order_data.frontend_status_label |raw}} {{trans 'You can check the status of your order by <a href="%account_url">logging into your account</a>.' account_url=$this.getUrl($store,'customer/account/',[_nosid:1]) |raw}} </p> diff --git a/app/design/frontend/Magento/luma/Magento_Sales/email/invoice_update_guest.html b/app/design/frontend/Magento/luma/Magento_Sales/email/invoice_update_guest.html index 6028db7b97730..f9e1498763cba 100644 --- a/app/design/frontend/Magento/luma/Magento_Sales/email/invoice_update_guest.html +++ b/app/design/frontend/Magento/luma/Magento_Sales/email/invoice_update_guest.html @@ -4,26 +4,28 @@ * See COPYING.txt for license details. */ --> -<!--@subject {{trans "Update to your %store_name invoice" store_name=$store.getFrontendName()}} @--> +<!--@subject {{trans "Update to your %store_name invoice" store_name=$store.frontend_name}} @--> <!--@vars { -"var billing.getName()":"Guest Customer Name", -"var comment":"Invoice Comment", +"var billing.name":"Guest Customer Name", +"var comment|escape|nl2br":"Invoice Comment", "var invoice.increment_id":"Invoice Id", "var order.increment_id":"Order Id", -"var order.getFrontendStatusLabel()":"Order Status" +"var order_data.frontend_status_label":"Order Status", +"var store.frontend_name":"Store Frontend Name", +"var store_email":"Store Email" } @--> {{template config_path="design/email/header_template"}} <table> <tr class="email-intro"> <td> - <p class="greeting">{{trans "%name," name=$billing.getName()}}</p> + <p class="greeting">{{trans "%name," name=$billing.name}}</p> <p> {{trans "Your order #%increment_id has been updated with a status of <strong>%order_status</strong>." increment_id=$order.increment_id - order_status=$order.getFrontendStatusLabel() + order_status=$order_data.frontend_status_label |raw}} </p> <p> diff --git a/app/design/frontend/Magento/luma/Magento_Sales/email/order_new.html b/app/design/frontend/Magento/luma/Magento_Sales/email/order_new.html index b663dc92d1af8..745bf5c9c2eff 100644 --- a/app/design/frontend/Magento/luma/Magento_Sales/email/order_new.html +++ b/app/design/frontend/Magento/luma/Magento_Sales/email/order_new.html @@ -4,16 +4,23 @@ * See COPYING.txt for license details. */ --> -<!--@subject {{trans "Your %store_name order confirmation" store_name=$store.getFrontendName()}} @--> +<!--@subject {{trans "Your %store_name order confirmation" store_name=$store.frontend_name}} @--> <!--@vars { "var formattedBillingAddress|raw":"Billing Address", -"var order.getEmailCustomerNote()":"Email Order Note", +"var order_data.email_customer_note|escape|nl2br":"Email Order Note", "var order.increment_id":"Order Id", "layout handle=\"sales_email_order_items\" order=$order area=\"frontend\"":"Order Items Grid", "var payment_html|raw":"Payment Details", "var formattedShippingAddress|raw":"Shipping Address", -"var order.getShippingDescription()":"Shipping Description", -"var shipping_msg":"Shipping message" +"var order.shipping_description":"Shipping Description", +"var shipping_msg":"Shipping message", +"var created_at_formatted":"Order Created At (datetime)", +"var store.frontend_name":"Store Frontend Name", +"var store_email":"Store Email", +"var order":"Order", +"var order_data.is_not_virtual":"Order Type", +"var order_data.customer_name":"Customer Name", +"var this.getUrl($store,'customer/account/',[_nosid:1])":"Customer Account URL" } @--> {{template config_path="design/email/header_template"}} @@ -21,9 +28,9 @@ <table> <tr class="email-intro"> <td> - <p class="greeting">{{trans "%customer_name," customer_name=$order.getCustomerName()}}</p> + <p class="greeting">{{trans "%customer_name," customer_name=$order_data.customer_name}}</p> <p> - {{trans "Thank you for your order from %store_name." store_name=$store.getFrontendName()}} + {{trans "Thank you for your order from %store_name." store_name=$store.frontend_name}} {{trans "Once your package ships we will send you a tracking number."}} {{trans 'You can check the status of your order by <a href="%account_url">logging into your account</a>.' account_url=$this.getUrl($store,'customer/account/',[_nosid:1]) |raw}} </p> @@ -35,16 +42,16 @@ <tr class="email-summary"> <td> <h1>{{trans 'Your Order <span class="no-link">#%increment_id</span>' increment_id=$order.increment_id |raw}}</h1> - <p>{{trans 'Placed on <span class="no-link">%created_at</span>' created_at=$order.getCreatedAtFormatted(1) |raw}}</p> + <p>{{trans 'Placed on <span class="no-link">%created_at</span>' created_at=$created_at_formatted |raw}}</p> </td> </tr> <tr class="email-information"> <td> - {{depend order.getEmailCustomerNote()}} + {{depend order_data.email_customer_note}} <table class="message-info"> <tr> <td> - {{var order.getEmailCustomerNote()|escape|nl2br}} + {{var order_data.email_customer_note|escape|nl2br}} </td> </tr> </table> @@ -55,7 +62,7 @@ <h1>{{trans 'Your Order <span class="no-link">#%increment_id</span>' increment_i <h3>{{trans "Billing Info"}}</h3> <p>{{var formattedBillingAddress|raw}}</p> </td> - {{depend order.getIsNotVirtual()}} + {{depend order_data.is_not_virtual}} <td class="address-details"> <h3>{{trans "Shipping Info"}}</h3> <p>{{var formattedShippingAddress|raw}}</p> @@ -67,10 +74,10 @@ <h3>{{trans "Shipping Info"}}</h3> <h3>{{trans "Payment Method"}}</h3> {{var payment_html|raw}} </td> - {{depend order.getIsNotVirtual()}} + {{depend order_data.is_not_virtual}} <td class="method-info"> <h3>{{trans "Shipping Method"}}</h3> - <p>{{var order.getShippingDescription()}}</p> + <p>{{var order.shipping_description}}</p> {{if shipping_msg}} <p>{{var shipping_msg}}</p> {{/if}} diff --git a/app/design/frontend/Magento/luma/Magento_Sales/email/order_new_guest.html b/app/design/frontend/Magento/luma/Magento_Sales/email/order_new_guest.html index cc32aa4a12676..907be4d45a6c5 100644 --- a/app/design/frontend/Magento/luma/Magento_Sales/email/order_new_guest.html +++ b/app/design/frontend/Magento/luma/Magento_Sales/email/order_new_guest.html @@ -4,27 +4,31 @@ * See COPYING.txt for license details. */ --> -<!--@subject {{trans "Your %store_name order confirmation" store_name=$store.getFrontendName()}} @--> +<!--@subject {{trans "Your %store_name order confirmation" store_name=$store.frontend_name}} @--> <!--@vars { "var formattedBillingAddress|raw":"Billing Address", -"var order.getEmailCustomerNote()":"Email Order Note", -"var order.getBillingAddress().getName()":"Guest Customer Name", -"var order.getCreatedAtFormatted(1)":"Order Created At (datetime)", +"var order_data.email_customer_note|escape|nl2br":"Email Order Note", +"var order.billing_address.name":"Guest Customer Name", +"var created_at_formatted":"Order Created At (datetime)", "var order.increment_id":"Order Id", "layout handle=\"sales_email_order_items\" order=$order":"Order Items Grid", "var payment_html|raw":"Payment Details", "var formattedShippingAddress|raw":"Shipping Address", -"var order.getShippingDescription()":"Shipping Description", -"var shipping_msg":"Shipping message" +"var order.shipping_description":"Shipping Description", +"var shipping_msg":"Shipping message", +"var store.frontend_name":"Store Frontend Name", +"var store_email":"Store Email", +"var order":"Order", +"var order_data.is_not_virtual":"Order Type" } @--> {{template config_path="design/email/header_template"}} <table> <tr class="email-intro"> <td> - <p class="greeting">{{trans "%name," name=$order.getBillingAddress().getName()}}</p> + <p class="greeting">{{trans "%name," name=$order.billing_address.name}}</p> <p> - {{trans "Thank you for your order from %store_name." store_name=$store.getFrontendName()}} + {{trans "Thank you for your order from %store_name." store_name=$store.frontend_name}} {{trans "Once your package ships we will send you a tracking number."}} </p> <p> @@ -35,16 +39,16 @@ <tr class="email-summary"> <td> <h1>{{trans 'Your Order <span class="no-link">#%increment_id</span>' increment_id=$order.increment_id |raw}}</h1> - <p>{{trans 'Placed on <span class="no-link">%created_at</span>' created_at=$order.getCreatedAtFormatted(1) |raw}}</p> + <p>{{trans 'Placed on <span class="no-link">%created_at</span>' created_at=$created_at_formatted |raw}}</p> </td> </tr> <tr class="email-information"> <td> - {{depend order.getEmailCustomerNote()}} + {{depend order_data.email_customer_note}} <table class="message-info"> <tr> <td> - {{var order.getEmailCustomerNote()|escape|nl2br}} + {{var order_data.email_customer_note|escape|nl2br}} </td> </tr> </table> @@ -55,7 +59,7 @@ <h1>{{trans 'Your Order <span class="no-link">#%increment_id</span>' increment_i <h3>{{trans "Billing Info"}}</h3> <p>{{var formattedBillingAddress|raw}}</p> </td> - {{depend order.getIsNotVirtual()}} + {{depend order_data.is_not_virtual}} <td class="address-details"> <h3>{{trans "Shipping Info"}}</h3> <p>{{var formattedShippingAddress|raw}}</p> @@ -67,10 +71,10 @@ <h3>{{trans "Shipping Info"}}</h3> <h3>{{trans "Payment Method"}}</h3> {{var payment_html|raw}} </td> - {{depend order.getIsNotVirtual()}} + {{depend order_data.is_not_virtual}} <td class="method-info"> <h3>{{trans "Shipping Method"}}</h3> - <p>{{var order.getShippingDescription()}}</p> + <p>{{var order.shipping_description}}</p> {{if shipping_msg}} <p>{{var shipping_msg}}</p> {{/if}} diff --git a/app/design/frontend/Magento/luma/Magento_Sales/email/order_update.html b/app/design/frontend/Magento/luma/Magento_Sales/email/order_update.html index fa16ac2196bf4..cec5649755b3d 100644 --- a/app/design/frontend/Magento/luma/Magento_Sales/email/order_update.html +++ b/app/design/frontend/Magento/luma/Magento_Sales/email/order_update.html @@ -4,26 +4,30 @@ * See COPYING.txt for license details. */ --> -<!--@subject {{trans "Update to your %store_name order" store_name=$store.getFrontendName()}} @--> +<!--@subject {{trans "Update to your %store_name order" store_name=$store.frontend_name}} @--> <!--@vars { -"var this.getUrl($store, 'customer/account/')":"Customer Account URL", -"var order.getCustomerName()":"Customer Name", -"var comment":"Order Comment", +"var this.getUrl($store,'customer/account/',[_nosid:1])":"Customer Account URL", +"var order_data.customer_name":"Customer Name", +"var comment|escape|nl2br":"Order Comment", "var order.increment_id":"Order Id", -"var order.getFrontendStatusLabel()":"Order Status" +"var order_data.frontend_status_label":"Order Status", +"var store.frontend_name":"Store Frontend Name", +"var store_email":"Store Email", +"var order":"Order", +"var order_data.is_not_virtual":"Order Type" } @--> {{template config_path="design/email/header_template"}} <table> <tr class="email-intro"> <td> - <p class="greeting">{{trans "%name," name=$order.getCustomerName()}}</p> + <p class="greeting">{{trans "%name," name=$order_data.customer_name}}</p> <p> {{trans "Your order #%increment_id has been updated with a status of <strong>%order_status</strong>." increment_id=$order.increment_id - order_status=$order.getFrontendStatusLabel() + order_status=$order_data.frontend_status_label |raw}} {{trans 'You can check the status of your order by <a href="%account_url">logging into your account</a>.' account_url=$this.getUrl($store,'customer/account/',[_nosid:1]) |raw}} </p> diff --git a/app/design/frontend/Magento/luma/Magento_Sales/email/order_update_guest.html b/app/design/frontend/Magento/luma/Magento_Sales/email/order_update_guest.html index 8ead615fe01ca..5f23898b50018 100644 --- a/app/design/frontend/Magento/luma/Magento_Sales/email/order_update_guest.html +++ b/app/design/frontend/Magento/luma/Magento_Sales/email/order_update_guest.html @@ -4,25 +4,27 @@ * See COPYING.txt for license details. */ --> -<!--@subject {{trans "Update to your %store_name order" store_name=$store.getFrontendName()}} @--> +<!--@subject {{trans "Update to your %store_name order" store_name=$store.frontend_name}} @--> <!--@vars { -"var billing.getName()":"Guest Customer Name", -"var comment":"Order Comment", +"var billing.name":"Guest Customer Name", +"var comment|escape|nl2br":"Order Comment", "var order.increment_id":"Order Id", -"var order.getFrontendStatusLabel()":"Order Status" +"var order_data.frontend_status_label":"Order Status", +"var store.frontend_name":"Store Frontend Name", +"var store_email":"Store Email" } @--> {{template config_path="design/email/header_template"}} <table> <tr class="email-intro"> <td> - <p class="greeting">{{trans "%name," name=$billing.getName()}}</p> + <p class="greeting">{{trans "%name," name=$billing.name}}</p> <p> {{trans "Your order #%increment_id has been updated with a status of <strong>%order_status</strong>." increment_id=$order.increment_id - order_status=$order.getFrontendStatusLabel() + order_status=$order_data.frontend_status_label |raw}} </p> <p> diff --git a/app/design/frontend/Magento/luma/Magento_Sales/email/shipment_new.html b/app/design/frontend/Magento/luma/Magento_Sales/email/shipment_new.html index e467aa843e2f4..4ff9da3a31b27 100644 --- a/app/design/frontend/Magento/luma/Magento_Sales/email/shipment_new.html +++ b/app/design/frontend/Magento/luma/Magento_Sales/email/shipment_new.html @@ -4,29 +4,33 @@ * See COPYING.txt for license details. */ --> -<!--@subject {{trans "Your %store_name order has shipped" store_name=$store.getFrontendName()}} @--> +<!--@subject {{trans "Your %store_name order has shipped" store_name=$store.frontend_name}} @--> <!--@vars { "var formattedBillingAddress|raw":"Billing Address", -"var this.getUrl($store, 'customer/account/')":"Customer Account URL", -"var order.getCustomerName()":"Customer Name", +"var this.getUrl($store,'customer/account/',[_nosid:1])":"Customer Account URL", +"var order_data.customer_name":"Customer Name", "var order.increment_id":"Order Id", "var payment_html|raw":"Payment Details", -"var comment":"Shipment Comment", +"var comment|escape|nl2br":"Shipment Comment", "var shipment.increment_id":"Shipment Id", "layout handle=\"sales_email_order_shipment_items\" shipment=$shipment order=$order":"Shipment Items Grid", "block class='Magento\\\\Framework\\\\View\\\\Element\\\\Template' area='frontend' template='Magento_Sales::email\/shipment\/track.phtml' shipment=$shipment order=$order":"Shipment Track Details", "var formattedShippingAddress|raw":"Shipping Address", "var order.shipping_description":"Shipping Description", -"var order.getShippingDescription()":"Shipping Description" +"var store.frontend_name":"Store Frontend Name", +"var store_email":"Store Email", +"var order_data.is_not_virtual": "Order Type", +"var shipment": "Shipment", +"var order": "Order" } @--> {{template config_path="design/email/header_template"}} <table> <tr class="email-intro"> <td> - <p class="greeting">{{trans "%name," name=$order.getCustomerName()}}</p> + <p class="greeting">{{trans "%name," name=$order_data.customer_name}}</p> <p> - {{trans "Thank you for your order from %store_name." store_name=$store.getFrontendName()}} + {{trans "Thank you for your order from %store_name." store_name=$store.frontend_name}} {{trans 'You can check the status of your order by <a href="%account_url">logging into your account</a>.' account_url=$this.getUrl($store,'customer/account/',[_nosid:1]) |raw}} </p> <p> @@ -58,7 +62,7 @@ <h1>{{trans "Your Shipment #%shipment_id for Order #%order_id" shipment_id=$ship <h3>{{trans "Billing Info"}}</h3> <p>{{var formattedBillingAddress|raw}}</p> </td> - {{depend order.getIsNotVirtual()}} + {{depend order_data.is_not_virtual}} <td class="address-details"> <h3>{{trans "Shipping Info"}}</h3> <p>{{var formattedShippingAddress|raw}}</p> @@ -70,10 +74,10 @@ <h3>{{trans "Shipping Info"}}</h3> <h3>{{trans "Payment Method"}}</h3> {{var payment_html|raw}} </td> - {{depend order.getIsNotVirtual()}} + {{depend order_data.is_not_virtual}} <td class="method-info"> <h3>{{trans "Shipping Method"}}</h3> - <p>{{var order.getShippingDescription()}}</p> + <p>{{var order.shipping_description}}</p> </td> {{/depend}} </tr> diff --git a/app/design/frontend/Magento/luma/Magento_Sales/email/shipment_new_guest.html b/app/design/frontend/Magento/luma/Magento_Sales/email/shipment_new_guest.html index 385110f8f037e..ac7eaae6b7ff7 100644 --- a/app/design/frontend/Magento/luma/Magento_Sales/email/shipment_new_guest.html +++ b/app/design/frontend/Magento/luma/Magento_Sales/email/shipment_new_guest.html @@ -4,28 +4,33 @@ * See COPYING.txt for license details. */ --> -<!--@subject {{trans "Your %store_name order has shipped" store_name=$store.getFrontendName()}} @--> +<!--@subject {{trans "Your %store_name order has shipped" store_name=$store.frontend_name}} @--> <!--@vars { "var formattedBillingAddress|raw":"Billing Address", -"var billing.getName()":"Guest Customer Name", +"var billing.name":"Guest Customer Name", "var order.increment_id":"Order Id", "var payment_html|raw":"Payment Details", -"var comment":"Shipment Comment", +"var comment|escape|nl2br":"Shipment Comment", "var shipment.increment_id":"Shipment Id", "layout handle=\"sales_email_order_shipment_items\" shipment=$shipment order=$order":"Shipment Items Grid", "block class='Magento\\\\Framework\\\\View\\\\Element\\\\Template' area='frontend' template='Magento_Sales::email\/shipment\/track.phtml' shipment=$shipment order=$order":"Shipment Track Details", "var formattedShippingAddress|raw":"Shipping Address", "var order.shipping_description":"Shipping Description", -"var order.getShippingDescription()":"Shipping Description" +"var store.frontend_name":"Store Frontend Name", +"var store_email":"Store Email", +"var order_data.is_not_virtual": "Order Type", +"var shipment": "Shipment", +"var order": "Order", +"var this.getUrl($store,'customer/account/',[_nosid:1])":"Customer Account URL" } @--> {{template config_path="design/email/header_template"}} <table> <tr class="email-intro"> <td> - <p class="greeting">{{trans "%name," name=$billing.getName()}}</p> + <p class="greeting">{{trans "%name," name=$billing.name}}</p> <p> - {{trans "Thank you for your order from %store_name." store_name=$store.getFrontendName()}} + {{trans "Thank you for your order from %store_name." store_name=$store.frontend_name}} </p> <p> {{trans 'If you have questions about your order, you can email us at <a href="mailto:%store_email">%store_email</a>.' store_email=$store_email |raw}} @@ -56,7 +61,7 @@ <h1>{{trans "Your Shipment #%shipment_id for Order #%order_id" shipment_id=$ship <h3>{{trans "Billing Info"}}</h3> <p>{{var formattedBillingAddress|raw}}</p> </td> - {{depend order.getIsNotVirtual()}} + {{depend order_data.is_not_virtual}} <td class="address-details"> <h3>{{trans "Shipping Info"}}</h3> <p>{{var formattedShippingAddress|raw}}</p> @@ -68,10 +73,10 @@ <h3>{{trans "Shipping Info"}}</h3> <h3>{{trans "Payment Method"}}</h3> {{var payment_html|raw}} </td> - {{depend order.getIsNotVirtual()}} + {{depend order_data.is_not_virtual}} <td class="method-info"> <h3>{{trans "Shipping Method"}}</h3> - <p>{{var order.getShippingDescription()}}</p> + <p>{{var order.shipping_description}}</p> </td> {{/depend}} </tr> diff --git a/app/design/frontend/Magento/luma/Magento_Sales/email/shipment_update.html b/app/design/frontend/Magento/luma/Magento_Sales/email/shipment_update.html index 4f9b7286f3ae4..f1bd61ebec3dd 100644 --- a/app/design/frontend/Magento/luma/Magento_Sales/email/shipment_update.html +++ b/app/design/frontend/Magento/luma/Magento_Sales/email/shipment_update.html @@ -4,27 +4,29 @@ * See COPYING.txt for license details. */ --> -<!--@subject {{trans "Update to your %store_name shipment" store_name=$store.getFrontendName()}} @--> +<!--@subject {{trans "Update to your %store_name shipment" store_name=$store.frontend_name}} @--> <!--@vars { -"var this.getUrl($store, 'customer/account/')":"Customer Account URL", -"var order.getCustomerName()":"Customer Name", -"var comment":"Order Comment", +"var this.getUrl($store,'customer/account/',[_nosid:1])":"Customer Account URL", +"var order_data.customer_name":"Customer Name", +"var comment|escape|nl2br":"Order Comment", "var order.increment_id":"Order Id", -"var order.getFrontendStatusLabel()":"Order Status", -"var shipment.increment_id":"Shipment Id" +"var order_data.frontend_status_label":"Order Status", +"var shipment.increment_id":"Shipment Id", +"var store.frontend_name":"Store Frontend Name", +"var store_email":"Store Email" } @--> {{template config_path="design/email/header_template"}} <table> <tr class="email-intro"> <td> - <p class="greeting">{{trans "%name," name=$order.getCustomerName()}}</p> + <p class="greeting">{{trans "%name," name=$order_data.customer_name}}</p> <p> {{trans "Your order #%increment_id has been updated with a status of <strong>%order_status</strong>." increment_id=$order.increment_id - order_status=$order.getFrontendStatusLabel() + order_status=$order_data.frontend_status_label |raw}} {{trans 'You can check the status of your order by <a href="%account_url">logging into your account</a>.' account_url=$this.getUrl($store,'customer/account/',[_nosid:1]) |raw}} </p> diff --git a/app/design/frontend/Magento/luma/Magento_Sales/email/shipment_update_guest.html b/app/design/frontend/Magento/luma/Magento_Sales/email/shipment_update_guest.html index 3ef26463ea755..5887ff73c6398 100644 --- a/app/design/frontend/Magento/luma/Magento_Sales/email/shipment_update_guest.html +++ b/app/design/frontend/Magento/luma/Magento_Sales/email/shipment_update_guest.html @@ -4,26 +4,28 @@ * See COPYING.txt for license details. */ --> -<!--@subject {{trans "Update to your %store_name shipment" store_name=$store.getFrontendName()}} @--> +<!--@subject {{trans "Update to your %store_name shipment" store_name=$store.frontend_name}} @--> <!--@vars { -"var billing.getName()":"Guest Customer Name", -"var comment":"Order Comment", +"var billing.name":"Guest Customer Name", +"var comment|escape|nl2br":"Order Comment", "var order.increment_id":"Order Id", -"var order.getFrontendStatusLabel()":"Order Status", -"var shipment.increment_id":"Shipment Id" +"var order_data.frontend_status_label":"Order Status", +"var shipment.increment_id":"Shipment Id", +"var store.frontend_name":"Store Frontend Name", +"var store_email":"Store Email" } @--> {{template config_path="design/email/header_template"}} <table> <tr class="email-intro"> <td> - <p class="greeting">{{trans "%name," name=$billing.getName()}}</p> + <p class="greeting">{{trans "%name," name=$billing.name}}</p> <p> {{trans "Your order #%increment_id has been updated with a status of <strong>%order_status</strong>." increment_id=$order.increment_id - order_status=$order.getFrontendStatusLabel() + order_status=$order_data.frontend_status_label |raw}} </p> <p> diff --git a/app/design/frontend/Magento/luma/composer.json b/app/design/frontend/Magento/luma/composer.json index 586d255cf4ec7..6330b968f68bb 100644 --- a/app/design/frontend/Magento/luma/composer.json +++ b/app/design/frontend/Magento/luma/composer.json @@ -6,8 +6,8 @@ }, "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "magento/framework": "*", - "magento/theme-frontend-blank": "*" + "magento/framework": "102.0.*", + "magento/theme-frontend-blank": "100.3.*" }, "type": "magento2-theme", "license": [ @@ -18,5 +18,6 @@ "files": [ "registration.php" ] - } + }, + "version": "100.3.3-p1" } diff --git a/app/etc/di.xml b/app/etc/di.xml index 2863c5d4708df..97ba8198fccc6 100755 --- a/app/etc/di.xml +++ b/app/etc/di.xml @@ -1794,4 +1794,5 @@ type="Magento\Framework\Mail\MimeMessage" /> <preference for="Magento\Framework\Mail\MimePartInterface" type="Magento\Framework\Mail\MimePart" /> + <preference for="Magento\Framework\Filter\VariableResolverInterface" type="Magento\Framework\Filter\VariableResolver\StrategyResolver"/> </config> diff --git a/app/i18n/Magento/de_DE/composer.json b/app/i18n/Magento/de_DE/composer.json index 5a488a3e32c2b..dd9c809235a8d 100644 --- a/app/i18n/Magento/de_DE/composer.json +++ b/app/i18n/Magento/de_DE/composer.json @@ -9,12 +9,13 @@ "sort-packages": true }, "require": { - "magento/framework": "*" + "magento/framework": "102.0.*" }, "type": "magento2-language", "autoload": { "files": [ "registration.php" ] - } + }, + "version": "100.3.3" } diff --git a/app/i18n/Magento/en_US/composer.json b/app/i18n/Magento/en_US/composer.json index 1108c70de28a6..a1a90a0edc75a 100644 --- a/app/i18n/Magento/en_US/composer.json +++ b/app/i18n/Magento/en_US/composer.json @@ -9,12 +9,13 @@ "sort-packages": true }, "require": { - "magento/framework": "*" + "magento/framework": "102.0.*" }, "type": "magento2-language", "autoload": { "files": [ "registration.php" ] - } + }, + "version": "100.3.3" } diff --git a/app/i18n/Magento/es_ES/composer.json b/app/i18n/Magento/es_ES/composer.json index 5bc3cb5730adf..a0d0ed4e7bc2c 100644 --- a/app/i18n/Magento/es_ES/composer.json +++ b/app/i18n/Magento/es_ES/composer.json @@ -9,12 +9,13 @@ "sort-packages": true }, "require": { - "magento/framework": "*" + "magento/framework": "102.0.*" }, "type": "magento2-language", "autoload": { "files": [ "registration.php" ] - } + }, + "version": "100.3.3" } diff --git a/app/i18n/Magento/fr_FR/composer.json b/app/i18n/Magento/fr_FR/composer.json index 50c541308673b..fa21d36c9c080 100644 --- a/app/i18n/Magento/fr_FR/composer.json +++ b/app/i18n/Magento/fr_FR/composer.json @@ -9,12 +9,13 @@ "sort-packages": true }, "require": { - "magento/framework": "*" + "magento/framework": "102.0.*" }, "type": "magento2-language", "autoload": { "files": [ "registration.php" ] - } + }, + "version": "100.3.3" } diff --git a/app/i18n/Magento/nl_NL/composer.json b/app/i18n/Magento/nl_NL/composer.json index a182e179d4103..faf109972b90c 100644 --- a/app/i18n/Magento/nl_NL/composer.json +++ b/app/i18n/Magento/nl_NL/composer.json @@ -9,12 +9,13 @@ "sort-packages": true }, "require": { - "magento/framework": "*" + "magento/framework": "102.0.*" }, "type": "magento2-language", "autoload": { "files": [ "registration.php" ] - } + }, + "version": "100.3.3" } diff --git a/app/i18n/Magento/pt_BR/composer.json b/app/i18n/Magento/pt_BR/composer.json index 46734cc09b363..526344d7445cb 100644 --- a/app/i18n/Magento/pt_BR/composer.json +++ b/app/i18n/Magento/pt_BR/composer.json @@ -9,12 +9,13 @@ "sort-packages": true }, "require": { - "magento/framework": "*" + "magento/framework": "102.0.*" }, "type": "magento2-language", "autoload": { "files": [ "registration.php" ] - } + }, + "version": "100.3.3" } diff --git a/app/i18n/Magento/zh_Hans_CN/composer.json b/app/i18n/Magento/zh_Hans_CN/composer.json index ce214ce649f56..7e028f79b7860 100644 --- a/app/i18n/Magento/zh_Hans_CN/composer.json +++ b/app/i18n/Magento/zh_Hans_CN/composer.json @@ -9,12 +9,13 @@ "sort-packages": true }, "require": { - "magento/framework": "*" + "magento/framework": "102.0.*" }, "type": "magento2-language", "autoload": { "files": [ "registration.php" ] - } + }, + "version": "100.3.3" } diff --git a/composer.json b/composer.json index e4596256f4427..7550ee1b63cfe 100644 --- a/composer.json +++ b/composer.json @@ -99,191 +99,191 @@ "ext-pcntl": "Need for run processes in parallel mode" }, "replace": { - "magento/module-marketplace": "*", - "magento/module-admin-analytics": "*", - "magento/module-admin-notification": "*", - "magento/module-advanced-pricing-import-export": "*", - "magento/module-amqp": "*", - "magento/module-amqp-store": "*", - "magento/module-analytics": "*", - "magento/module-asynchronous-operations": "*", - "magento/module-authorization": "*", - "magento/module-authorizenet": "*", - "magento/module-authorizenet-acceptjs": "*", - "magento/module-authorizenet-cardinal": "*", - "magento/module-authorizenet-graph-ql": "*", - "magento/module-advanced-search": "*", - "magento/module-backend": "*", - "magento/module-backup": "*", - "magento/module-braintree": "*", - "magento/module-braintree-graph-ql": "*", - "magento/module-bundle": "*", - "magento/module-bundle-graph-ql": "*", - "magento/module-bundle-import-export": "*", - "magento/module-cache-invalidate": "*", - "magento/module-captcha": "*", - "magento/module-cardinal-commerce": "*", - "magento/module-catalog": "*", - "magento/module-catalog-analytics": "*", - "magento/module-catalog-import-export": "*", - "magento/module-catalog-inventory": "*", - "magento/module-catalog-inventory-graph-ql": "*", - "magento/module-catalog-rule": "*", - "magento/module-catalog-rule-configurable": "*", - "magento/module-catalog-search": "*", - "magento/module-catalog-url-rewrite": "*", - "magento/module-catalog-widget": "*", - "magento/module-checkout": "*", - "magento/module-checkout-agreements": "*", - "magento/module-checkout-agreements-graph-ql": "*", - "magento/module-cms": "*", - "magento/module-cms-url-rewrite": "*", - "magento/module-config": "*", - "magento/module-configurable-import-export": "*", - "magento/module-configurable-product": "*", - "magento/module-configurable-product-sales": "*", - "magento/module-contact": "*", - "magento/module-cookie": "*", - "magento/module-cron": "*", - "magento/module-currency-symbol": "*", - "magento/module-customer": "*", - "magento/module-customer-analytics": "*", - "magento/module-customer-import-export": "*", - "magento/module-deploy": "*", - "magento/module-developer": "*", - "magento/module-dhl": "*", - "magento/module-directory": "*", - "magento/module-directory-graph-ql": "*", - "magento/module-downloadable": "*", - "magento/module-downloadable-graph-ql": "*", - "magento/module-downloadable-import-export": "*", - "magento/module-eav": "*", - "magento/module-elasticsearch": "*", - "magento/module-elasticsearch-6": "*", - "magento/module-email": "*", - "magento/module-encryption-key": "*", - "magento/module-fedex": "*", - "magento/module-gift-message": "*", - "magento/module-google-adwords": "*", - "magento/module-google-analytics": "*", - "magento/module-google-optimizer": "*", - "magento/module-graph-ql": "*", - "magento/module-graph-ql-cache": "*", - "magento/module-catalog-graph-ql": "*", - "magento/module-catalog-url-rewrite-graph-ql": "*", - "magento/module-configurable-product-graph-ql": "*", - "magento/module-customer-graph-ql": "*", - "magento/module-eav-graph-ql": "*", - "magento/module-swatches-graph-ql": "*", - "magento/module-tax-graph-ql": "*", - "magento/module-url-rewrite-graph-ql": "*", - "magento/module-cms-url-rewrite-graph-ql": "*", - "magento/module-weee-graph-ql": "*", - "magento/module-cms-graph-ql": "*", - "magento/module-grouped-import-export": "*", - "magento/module-grouped-product": "*", - "magento/module-grouped-catalog-inventory": "*", - "magento/module-grouped-product-graph-ql": "*", - "magento/module-import-export": "*", - "magento/module-indexer": "*", - "magento/module-instant-purchase": "*", - "magento/module-integration": "*", - "magento/module-layered-navigation": "*", - "magento/module-media-storage": "*", - "magento/module-message-queue": "*", - "magento/module-msrp": "*", - "magento/module-msrp-configurable-product": "*", - "magento/module-msrp-grouped-product": "*", - "magento/module-multishipping": "*", - "magento/module-mysql-mq": "*", - "magento/module-new-relic-reporting": "*", - "magento/module-newsletter": "*", - "magento/module-offline-payments": "*", - "magento/module-offline-shipping": "*", - "magento/module-page-cache": "*", - "magento/module-payment": "*", - "magento/module-paypal": "*", - "magento/module-paypal-captcha": "*", - "magento/module-paypal-graph-ql": "*", - "magento/module-persistent": "*", - "magento/module-product-alert": "*", - "magento/module-product-video": "*", - "magento/module-quote": "*", - "magento/module-quote-analytics": "*", - "magento/module-quote-graph-ql": "*", - "magento/module-related-product-graph-ql": "*", - "magento/module-release-notification": "*", - "magento/module-reports": "*", - "magento/module-require-js": "*", - "magento/module-review": "*", - "magento/module-review-analytics": "*", - "magento/module-robots": "*", - "magento/module-rss": "*", - "magento/module-rule": "*", - "magento/module-sales": "*", - "magento/module-sales-analytics": "*", - "magento/module-sales-graph-ql": "*", - "magento/module-sales-inventory": "*", - "magento/module-sales-rule": "*", - "magento/module-sales-sequence": "*", - "magento/module-sample-data": "*", - "magento/module-search": "*", - "magento/module-security": "*", - "magento/module-send-friend": "*", - "magento/module-send-friend-graph-ql": "*", - "magento/module-shipping": "*", - "magento/module-signifyd": "*", - "magento/module-sitemap": "*", - "magento/module-store": "*", - "magento/module-store-graph-ql": "*", - "magento/module-swagger": "*", - "magento/module-swagger-webapi": "*", - "magento/module-swagger-webapi-async": "*", - "magento/module-swatches": "*", - "magento/module-swatches-layered-navigation": "*", - "magento/module-tax": "*", - "magento/module-tax-import-export": "*", - "magento/module-theme": "*", - "magento/module-theme-graph-ql": "*", - "magento/module-translation": "*", - "magento/module-ui": "*", - "magento/module-ups": "*", - "magento/module-url-rewrite": "*", - "magento/module-user": "*", - "magento/module-usps": "*", - "magento/module-variable": "*", - "magento/module-vault": "*", - "magento/module-vault-graph-ql": "*", - "magento/module-version": "*", - "magento/module-webapi": "*", - "magento/module-webapi-async": "*", - "magento/module-webapi-security": "*", - "magento/module-weee": "*", - "magento/module-widget": "*", - "magento/module-wishlist": "*", - "magento/module-wishlist-graph-ql": "*", - "magento/module-wishlist-analytics": "*", - "magento/theme-adminhtml-backend": "*", - "magento/theme-frontend-blank": "*", - "magento/theme-frontend-luma": "*", - "magento/language-de_de": "*", - "magento/language-en_us": "*", - "magento/language-es_es": "*", - "magento/language-fr_fr": "*", - "magento/language-nl_nl": "*", - "magento/language-pt_br": "*", - "magento/language-zh_hans_cn": "*", - "magento/framework": "*", - "magento/framework-amqp": "*", - "magento/framework-bulk": "*", - "magento/framework-message-queue": "*", + "magento/module-marketplace": "100.3.3", + "magento/module-admin-analytics": "100.3.0", + "magento/module-admin-notification": "100.3.3", + "magento/module-advanced-pricing-import-export": "100.3.3", + "magento/module-amqp": "100.3.3", + "magento/module-amqp-store": "100.3.0", + "magento/module-analytics": "100.3.3", + "magento/module-asynchronous-operations": "100.3.3", + "magento/module-authorization": "100.3.3", + "magento/module-authorizenet": "100.3.3", + "magento/module-authorizenet-acceptjs": "100.3.2", + "magento/module-authorizenet-cardinal": "100.3.0", + "magento/module-authorizenet-graph-ql": "100.3.0", + "magento/module-advanced-search": "100.3.3", + "magento/module-backend": "101.0.3", + "magento/module-backup": "100.3.3", + "magento/module-braintree": "100.3.3", + "magento/module-braintree-graph-ql": "100.3.0", + "magento/module-bundle": "100.3.3", + "magento/module-bundle-graph-ql": "100.3.3", + "magento/module-bundle-import-export": "100.3.3", + "magento/module-cache-invalidate": "100.3.3", + "magento/module-captcha": "100.3.3", + "magento/module-cardinal-commerce": "100.3.0", + "magento/module-catalog": "103.0.3-p1", + "magento/module-catalog-analytics": "100.3.3", + "magento/module-catalog-import-export": "101.0.3", + "magento/module-catalog-inventory": "100.3.3", + "magento/module-catalog-inventory-graph-ql": "100.3.3", + "magento/module-catalog-rule": "101.1.3", + "magento/module-catalog-rule-configurable": "100.3.3", + "magento/module-catalog-search": "101.0.3-p1", + "magento/module-catalog-url-rewrite": "100.3.3", + "magento/module-catalog-widget": "100.3.3", + "magento/module-checkout": "100.3.3-p1", + "magento/module-checkout-agreements": "100.3.3", + "magento/module-checkout-agreements-graph-ql": "100.3.0", + "magento/module-cms": "103.0.3-p1", + "magento/module-cms-url-rewrite": "100.3.3", + "magento/module-config": "101.1.3-p1", + "magento/module-configurable-import-export": "100.3.3", + "magento/module-configurable-product": "100.3.3", + "magento/module-configurable-product-sales": "100.3.3", + "magento/module-contact": "100.3.3", + "magento/module-cookie": "100.3.3", + "magento/module-cron": "100.3.3", + "magento/module-currency-symbol": "100.3.3", + "magento/module-customer": "102.0.3-p1", + "magento/module-customer-analytics": "100.3.3", + "magento/module-customer-import-export": "100.3.3-p1", + "magento/module-deploy": "100.3.3", + "magento/module-developer": "100.3.3", + "magento/module-dhl": "100.3.3", + "magento/module-directory": "100.3.3", + "magento/module-directory-graph-ql": "100.3.2", + "magento/module-downloadable": "100.3.3", + "magento/module-downloadable-graph-ql": "100.3.3", + "magento/module-downloadable-import-export": "100.3.3", + "magento/module-eav": "102.0.3", + "magento/module-elasticsearch": "100.3.3", + "magento/module-elasticsearch-6": "100.3.2", + "magento/module-email": "101.0.3-p1", + "magento/module-encryption-key": "100.3.3", + "magento/module-fedex": "100.3.3", + "magento/module-gift-message": "100.3.3", + "magento/module-google-adwords": "100.3.3", + "magento/module-google-analytics": "100.3.3", + "magento/module-google-optimizer": "100.3.3", + "magento/module-graph-ql": "100.3.3", + "magento/module-graph-ql-cache": "100.3.1", + "magento/module-catalog-graph-ql": "100.3.3", + "magento/module-catalog-url-rewrite-graph-ql": "100.3.3", + "magento/module-configurable-product-graph-ql": "100.3.3", + "magento/module-customer-graph-ql": "100.3.3", + "magento/module-eav-graph-ql": "100.3.3", + "magento/module-swatches-graph-ql": "100.3.3", + "magento/module-tax-graph-ql": "100.3.3", + "magento/module-url-rewrite-graph-ql": "100.3.3", + "magento/module-cms-url-rewrite-graph-ql": "100.3.3", + "magento/module-weee-graph-ql": "100.3.3", + "magento/module-cms-graph-ql": "100.3.3", + "magento/module-grouped-import-export": "100.3.3", + "magento/module-grouped-product": "100.3.3", + "magento/module-grouped-catalog-inventory": "100.3.2", + "magento/module-grouped-product-graph-ql": "100.3.3", + "magento/module-import-export": "100.3.3-p1", + "magento/module-indexer": "100.3.3", + "magento/module-instant-purchase": "100.3.3", + "magento/module-integration": "100.3.3", + "magento/module-layered-navigation": "100.3.3", + "magento/module-media-storage": "100.3.3", + "magento/module-message-queue": "100.3.3", + "magento/module-msrp": "100.3.3", + "magento/module-msrp-configurable-product": "100.3.2", + "magento/module-msrp-grouped-product": "100.3.2", + "magento/module-multishipping": "100.3.3", + "magento/module-mysql-mq": "100.3.3", + "magento/module-new-relic-reporting": "100.3.3", + "magento/module-newsletter": "100.3.3-p1", + "magento/module-offline-payments": "100.3.3", + "magento/module-offline-shipping": "100.3.3", + "magento/module-page-cache": "100.3.3-p1", + "magento/module-payment": "100.3.3", + "magento/module-paypal": "100.3.3", + "magento/module-paypal-captcha": "100.3.1", + "magento/module-paypal-graph-ql": "100.3.0", + "magento/module-persistent": "100.3.3", + "magento/module-product-alert": "100.3.3", + "magento/module-product-video": "100.3.3", + "magento/module-quote": "101.1.3", + "magento/module-quote-analytics": "100.3.3", + "magento/module-quote-graph-ql": "100.3.3", + "magento/module-related-product-graph-ql": "100.3.0", + "magento/module-release-notification": "100.3.3", + "magento/module-reports": "100.3.3", + "magento/module-require-js": "100.3.3", + "magento/module-review": "100.3.3-p1", + "magento/module-review-analytics": "100.3.3", + "magento/module-robots": "101.0.3", + "magento/module-rss": "100.3.3", + "magento/module-rule": "100.3.3", + "magento/module-sales": "102.0.3-p1", + "magento/module-sales-analytics": "100.3.3", + "magento/module-sales-graph-ql": "100.3.2", + "magento/module-sales-inventory": "100.3.3", + "magento/module-sales-rule": "101.1.3", + "magento/module-sales-sequence": "100.3.3", + "magento/module-sample-data": "100.3.3", + "magento/module-search": "101.0.3", + "magento/module-security": "100.3.3", + "magento/module-send-friend": "100.3.3-p1", + "magento/module-send-friend-graph-ql": "100.3.2", + "magento/module-shipping": "100.3.3", + "magento/module-signifyd": "100.3.3", + "magento/module-sitemap": "100.3.3", + "magento/module-store": "101.0.3-p1", + "magento/module-store-graph-ql": "100.3.3", + "magento/module-swagger": "100.3.3", + "magento/module-swagger-webapi": "100.3.3", + "magento/module-swagger-webapi-async": "100.3.3", + "magento/module-swatches": "100.3.3", + "magento/module-swatches-layered-navigation": "100.3.3", + "magento/module-tax": "100.3.3", + "magento/module-tax-import-export": "100.3.3", + "magento/module-theme": "101.0.3", + "magento/module-theme-graph-ql": "100.3.2", + "magento/module-translation": "100.3.3", + "magento/module-ui": "101.1.3", + "magento/module-ups": "100.3.3", + "magento/module-url-rewrite": "101.1.3", + "magento/module-user": "101.1.3-p1", + "magento/module-usps": "100.3.3", + "magento/module-variable": "100.3.3", + "magento/module-vault": "101.1.3", + "magento/module-vault-graph-ql": "100.3.1", + "magento/module-version": "100.3.3", + "magento/module-webapi": "100.3.3", + "magento/module-webapi-async": "100.3.3", + "magento/module-webapi-security": "100.3.3", + "magento/module-weee": "100.3.3", + "magento/module-widget": "101.1.3", + "magento/module-wishlist": "101.1.3-p1", + "magento/module-wishlist-graph-ql": "100.3.2", + "magento/module-wishlist-analytics": "100.3.3", + "magento/theme-adminhtml-backend": "100.3.3-p1", + "magento/theme-frontend-blank": "100.3.3", + "magento/theme-frontend-luma": "100.3.3-p1", + "magento/language-de_de": "100.3.3", + "magento/language-en_us": "100.3.3", + "magento/language-es_es": "100.3.3", + "magento/language-fr_fr": "100.3.3", + "magento/language-nl_nl": "100.3.3", + "magento/language-pt_br": "100.3.3", + "magento/language-zh_hans_cn": "100.3.3", + "magento/framework": "102.0.3-p1", + "magento/framework-amqp": "100.3.3", + "magento/framework-bulk": "100.3.3", + "magento/framework-message-queue": "100.3.3", "trentrichardson/jquery-timepicker-addon": "1.4.3", "components/jquery": "1.11.0", "blueimp/jquery-file-upload": "5.6.14", "components/jqueryui": "1.10.4", "twbs/bootstrap": "3.1.0", "tinymce/tinymce": "3.4.7", - "magento/module-tinymce-3": "*" + "magento/module-tinymce-3": "100.3.3" }, "conflict": { "gene/bluefoot": "*" @@ -337,5 +337,6 @@ "Magento\\TestFramework\\Utility\\": "dev/tests/static/framework/Magento/TestFramework/Utility/" } }, - "prefer-stable": true + "version": "2.3.3-p1", + "minimum-stability": "stable" } diff --git a/composer.lock b/composer.lock index ae4219a2fd5dd..87f5983c72b40 100644 --- a/composer.lock +++ b/composer.lock @@ -1,10 +1,10 @@ { "_readme": [ "This file locks the dependencies of your project to a known state", - "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "content-hash": "d6f99cc06f1aa39a903b382958676ba2", + "content-hash": "91fd1074ab85916a0a2af22b45b7c1f4", "packages": [ { "name": "braintree/braintree_php", @@ -164,16 +164,16 @@ }, { "name": "colinmollenhour/php-redis-session-abstract", - "version": "v1.4.1", + "version": "v1.4.2", "source": { "type": "git", "url": "https://github.com/colinmollenhour/php-redis-session-abstract.git", - "reference": "4949ca28b86037abb44984c77bab9d0a4e075643" + "reference": "669521218794f125c7b668252f4f576eda65e1e4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/colinmollenhour/php-redis-session-abstract/zipball/4949ca28b86037abb44984c77bab9d0a4e075643", - "reference": "4949ca28b86037abb44984c77bab9d0a4e075643", + "url": "https://api.github.com/repos/colinmollenhour/php-redis-session-abstract/zipball/669521218794f125c7b668252f4f576eda65e1e4", + "reference": "669521218794f125c7b668252f4f576eda65e1e4", "shasum": "" }, "require": { @@ -197,20 +197,20 @@ ], "description": "A Redis-based session handler with optimistic locking", "homepage": "https://github.com/colinmollenhour/php-redis-session-abstract", - "time": "2019-03-18T14:43:14+00:00" + "time": "2020-01-08T17:41:01+00:00" }, { "name": "composer/ca-bundle", - "version": "1.2.1", + "version": "1.2.5", "source": { "type": "git", "url": "https://github.com/composer/ca-bundle.git", - "reference": "33810d865dd06a674130fceb729b2f279dc79e8c" + "reference": "62e8fc2dc550e5d6d8c9360c7721662670f58149" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/ca-bundle/zipball/33810d865dd06a674130fceb729b2f279dc79e8c", - "reference": "33810d865dd06a674130fceb729b2f279dc79e8c", + "url": "https://api.github.com/repos/composer/ca-bundle/zipball/62e8fc2dc550e5d6d8c9360c7721662670f58149", + "reference": "62e8fc2dc550e5d6d8c9360c7721662670f58149", "shasum": "" }, "require": { @@ -221,7 +221,7 @@ "require-dev": { "phpunit/phpunit": "^4.8.35 || ^5.7 || 6.5 - 8", "psr/log": "^1.0", - "symfony/process": "^2.5 || ^3.0 || ^4.0" + "symfony/process": "^2.5 || ^3.0 || ^4.0 || ^5.0" }, "type": "library", "extra": { @@ -253,20 +253,20 @@ "ssl", "tls" ], - "time": "2019-07-31T08:13:16+00:00" + "time": "2019-12-11T14:44:42+00:00" }, { "name": "composer/composer", - "version": "1.8.6", + "version": "1.9.1", "source": { "type": "git", "url": "https://github.com/composer/composer.git", - "reference": "19b5f66a0e233eb944f134df34091fe1c5dfcc11" + "reference": "bb01f2180df87ce7992b8331a68904f80439dd2f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/composer/zipball/19b5f66a0e233eb944f134df34091fe1c5dfcc11", - "reference": "19b5f66a0e233eb944f134df34091fe1c5dfcc11", + "url": "https://api.github.com/repos/composer/composer/zipball/bb01f2180df87ce7992b8331a68904f80439dd2f", + "reference": "bb01f2180df87ce7992b8331a68904f80439dd2f", "shasum": "" }, "require": { @@ -302,7 +302,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.8-dev" + "dev-master": "1.9-dev" } }, "autoload": { @@ -326,14 +326,14 @@ "homepage": "http://seld.be" } ], - "description": "Composer helps you declare, manage and install dependencies of PHP projects, ensuring you have the right stack everywhere.", + "description": "Composer helps you declare, manage and install dependencies of PHP projects. It ensures you have the right stack everywhere.", "homepage": "https://getcomposer.org/", "keywords": [ "autoload", "dependency", "package" ], - "time": "2019-06-11T13:03:06+00:00" + "time": "2019-11-01T16:20:17+00:00" }, { "name": "composer/semver", @@ -459,24 +459,24 @@ }, { "name": "composer/xdebug-handler", - "version": "1.3.3", + "version": "1.4.0", "source": { "type": "git", "url": "https://github.com/composer/xdebug-handler.git", - "reference": "46867cbf8ca9fb8d60c506895449eb799db1184f" + "reference": "cbe23383749496fe0f373345208b79568e4bc248" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/46867cbf8ca9fb8d60c506895449eb799db1184f", - "reference": "46867cbf8ca9fb8d60c506895449eb799db1184f", + "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/cbe23383749496fe0f373345208b79568e4bc248", + "reference": "cbe23383749496fe0f373345208b79568e4bc248", "shasum": "" }, "require": { - "php": "^5.3.2 || ^7.0", + "php": "^5.3.2 || ^7.0 || ^8.0", "psr/log": "^1.0" }, "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5" + "phpunit/phpunit": "^4.8.35 || ^5.7 || 6.5 - 8" }, "type": "library", "autoload": { @@ -494,12 +494,12 @@ "email": "john-stevenson@blueyonder.co.uk" } ], - "description": "Restarts a process without xdebug.", + "description": "Restarts a process without Xdebug.", "keywords": [ "Xdebug", "performance" ], - "time": "2019-05-27T17:52:04+00:00" + "time": "2019-11-06T16:40:04+00:00" }, { "name": "container-interop/container-interop", @@ -530,6 +530,7 @@ ], "description": "Promoting the interoperability of container objects (DIC, SL, etc.)", "homepage": "https://github.com/container-interop/container-interop", + "abandoned": "psr/container", "time": "2017-02-14T19:40:03+00:00" }, { @@ -594,44 +595,46 @@ }, { "name": "guzzlehttp/guzzle", - "version": "6.3.3", + "version": "6.5.2", "source": { "type": "git", "url": "https://github.com/guzzle/guzzle.git", - "reference": "407b0cb880ace85c9b63c5f9551db498cb2d50ba" + "reference": "43ece0e75098b7ecd8d13918293029e555a50f82" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/407b0cb880ace85c9b63c5f9551db498cb2d50ba", - "reference": "407b0cb880ace85c9b63c5f9551db498cb2d50ba", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/43ece0e75098b7ecd8d13918293029e555a50f82", + "reference": "43ece0e75098b7ecd8d13918293029e555a50f82", "shasum": "" }, "require": { + "ext-json": "*", "guzzlehttp/promises": "^1.0", - "guzzlehttp/psr7": "^1.4", + "guzzlehttp/psr7": "^1.6.1", "php": ">=5.5" }, "require-dev": { "ext-curl": "*", "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.4 || ^7.0", - "psr/log": "^1.0" + "psr/log": "^1.1" }, "suggest": { + "ext-intl": "Required for Internationalized Domain Name (IDN) support", "psr/log": "Required for using the Log middleware" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "6.3-dev" + "dev-master": "6.5-dev" } }, "autoload": { - "files": [ - "src/functions_include.php" - ], "psr-4": { "GuzzleHttp\\": "src/" - } + }, + "files": [ + "src/functions_include.php" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -655,7 +658,7 @@ "rest", "web service" ], - "time": "2018-04-22T15:46:56+00:00" + "time": "2019-12-23T11:57:10+00:00" }, { "name": "guzzlehttp/promises", @@ -882,23 +885,23 @@ }, { "name": "justinrainbow/json-schema", - "version": "5.2.8", + "version": "5.2.9", "source": { "type": "git", "url": "https://github.com/justinrainbow/json-schema.git", - "reference": "dcb6e1006bb5fd1e392b4daa68932880f37550d4" + "reference": "44c6787311242a979fa15c704327c20e7221a0e4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/dcb6e1006bb5fd1e392b4daa68932880f37550d4", - "reference": "dcb6e1006bb5fd1e392b4daa68932880f37550d4", + "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/44c6787311242a979fa15c704327c20e7221a0e4", + "reference": "44c6787311242a979fa15c704327c20e7221a0e4", "shasum": "" }, "require": { "php": ">=5.3.3" }, "require-dev": { - "friendsofphp/php-cs-fixer": "~2.2.20", + "friendsofphp/php-cs-fixer": "~2.2.20||~2.15.1", "json-schema/json-schema-test-suite": "1.2.0", "phpunit/phpunit": "^4.8.35" }, @@ -944,26 +947,26 @@ "json", "schema" ], - "time": "2019-01-14T23:55:14+00:00" + "time": "2019-09-25T14:49:45+00:00" }, { "name": "magento/composer", - "version": "1.5.0", + "version": "1.5.1", "source": { "type": "git", "url": "https://github.com/magento/composer.git", - "reference": "ea12b95be5c0833b3d9497aaefa08816c19e5dcd" + "reference": "b2dcb2194629bc2eb03fd81cb9f4586ffe4b65b0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/magento/composer/zipball/ea12b95be5c0833b3d9497aaefa08816c19e5dcd", - "reference": "ea12b95be5c0833b3d9497aaefa08816c19e5dcd", + "url": "https://api.github.com/repos/magento/composer/zipball/b2dcb2194629bc2eb03fd81cb9f4586ffe4b65b0", + "reference": "b2dcb2194629bc2eb03fd81cb9f4586ffe4b65b0", "shasum": "" }, "require": { "composer/composer": "^1.6", "php": "~7.1.3||~7.2.0||~7.3.0", - "symfony/console": "~4.0.0 || ~4.1.0" + "symfony/console": "~4.0.0||~4.1.0||~4.2.0||~4.3.0||~4.4.0" }, "require-dev": { "phpunit/phpunit": "~7.0.0" @@ -980,7 +983,7 @@ "AFL-3.0" ], "description": "Magento composer library helps to instantiate Composer application and run composer commands.", - "time": "2019-07-29T19:52:05+00:00" + "time": "2020-01-07T22:16:08+00:00" }, { "name": "magento/magento-composer-installer", @@ -1063,16 +1066,16 @@ }, { "name": "magento/zendframework1", - "version": "1.14.2", + "version": "1.14.3", "source": { "type": "git", "url": "https://github.com/magento/zf1.git", - "reference": "8221062d42a198e431d183bbe672e5e1a2f98c5f" + "reference": "726855dfb080089dc7bc7b016624129f8e7bc4e5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/magento/zf1/zipball/8221062d42a198e431d183bbe672e5e1a2f98c5f", - "reference": "8221062d42a198e431d183bbe672e5e1a2f98c5f", + "url": "https://api.github.com/repos/magento/zf1/zipball/726855dfb080089dc7bc7b016624129f8e7bc4e5", + "reference": "726855dfb080089dc7bc7b016624129f8e7bc4e5", "shasum": "" }, "require": { @@ -1106,20 +1109,20 @@ "ZF1", "framework" ], - "time": "2019-07-26T16:43:11+00:00" + "time": "2019-11-26T15:09:40+00:00" }, { "name": "monolog/monolog", - "version": "1.24.0", + "version": "1.25.3", "source": { "type": "git", "url": "https://github.com/Seldaek/monolog.git", - "reference": "bfc9ebb28f97e7a24c45bdc3f0ff482e47bb0266" + "reference": "fa82921994db851a8becaf3787a9e73c5976b6f1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/bfc9ebb28f97e7a24c45bdc3f0ff482e47bb0266", - "reference": "bfc9ebb28f97e7a24c45bdc3f0ff482e47bb0266", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/fa82921994db851a8becaf3787a9e73c5976b6f1", + "reference": "fa82921994db851a8becaf3787a9e73c5976b6f1", "shasum": "" }, "require": { @@ -1184,7 +1187,7 @@ "logging", "psr-3" ], - "time": "2018-11-05T09:00:11+00:00" + "time": "2019-12-20T14:15:16+00:00" }, { "name": "paragonie/random_compat", @@ -1233,16 +1236,16 @@ }, { "name": "paragonie/sodium_compat", - "version": "v1.10.1", + "version": "v1.12.2", "source": { "type": "git", "url": "https://github.com/paragonie/sodium_compat.git", - "reference": "5115fa44886d1c2785d2f135ef4626db868eac4b" + "reference": "3b953109fdfc821c1979bc829c8b7421721fef82" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/paragonie/sodium_compat/zipball/5115fa44886d1c2785d2f135ef4626db868eac4b", - "reference": "5115fa44886d1c2785d2f135ef4626db868eac4b", + "url": "https://api.github.com/repos/paragonie/sodium_compat/zipball/3b953109fdfc821c1979bc829c8b7421721fef82", + "reference": "3b953109fdfc821c1979bc829c8b7421721fef82", "shasum": "" }, "require": { @@ -1250,7 +1253,7 @@ "php": "^5.2.4|^5.3|^5.4|^5.5|^5.6|^7|^8" }, "require-dev": { - "phpunit/phpunit": "^3|^4|^5" + "phpunit/phpunit": "^3|^4|^5|^6|^7" }, "suggest": { "ext-libsodium": "PHP < 7.0: Better performance, password hashing (Argon2i), secure memory management (memzero), and better security.", @@ -1311,20 +1314,20 @@ "secret-key cryptography", "side-channel resistant" ], - "time": "2019-07-12T16:36:59+00:00" + "time": "2019-12-30T03:11:08+00:00" }, { "name": "pelago/emogrifier", - "version": "v2.1.1", + "version": "v2.2.0", "source": { "type": "git", "url": "https://github.com/MyIntervals/emogrifier.git", - "reference": "8ee7fb5ad772915451ed3415c1992bd3697d4983" + "reference": "2472bc1c3a2dee8915ecc2256139c6100024332f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/MyIntervals/emogrifier/zipball/8ee7fb5ad772915451ed3415c1992bd3697d4983", - "reference": "8ee7fb5ad772915451ed3415c1992bd3697d4983", + "url": "https://api.github.com/repos/MyIntervals/emogrifier/zipball/2472bc1c3a2dee8915ecc2256139c6100024332f", + "reference": "2472bc1c3a2dee8915ecc2256139c6100024332f", "shasum": "" }, "require": { @@ -1342,7 +1345,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.1.x-dev" + "dev-master": "3.0.x-dev" } }, "autoload": { @@ -1355,16 +1358,6 @@ "MIT" ], "authors": [ - { - "name": "John Reeve", - "email": "jreeve@pelagodesign.com" - }, - { - "name": "Cameron Brooks" - }, - { - "name": "Jaime Prado" - }, { "name": "Oliver Klee", "email": "github@oliverklee.de" @@ -1373,9 +1366,19 @@ "name": "Zoli Szabó", "email": "zoli.szabo+github@gmail.com" }, + { + "name": "John Reeve", + "email": "jreeve@pelagodesign.com" + }, { "name": "Jake Hotson", "email": "jake@qzdesign.co.uk" + }, + { + "name": "Cameron Brooks" + }, + { + "name": "Jaime Prado" } ], "description": "Converts CSS styles into inline style attributes in your HTML code", @@ -1385,7 +1388,7 @@ "email", "pre-processing" ], - "time": "2018-12-10T10:36:30+00:00" + "time": "2019-09-04T16:07:59+00:00" }, { "name": "php-amqplib/php-amqplib", @@ -1509,16 +1512,16 @@ }, { "name": "phpseclib/phpseclib", - "version": "2.0.21", + "version": "2.0.23", "source": { "type": "git", "url": "https://github.com/phpseclib/phpseclib.git", - "reference": "9f1287e68b3f283339a9f98f67515dd619e5bf9d" + "reference": "c78eb5058d5bb1a183133c36d4ba5b6675dfa099" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/9f1287e68b3f283339a9f98f67515dd619e5bf9d", - "reference": "9f1287e68b3f283339a9f98f67515dd619e5bf9d", + "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/c78eb5058d5bb1a183133c36d4ba5b6675dfa099", + "reference": "c78eb5058d5bb1a183133c36d4ba5b6675dfa099", "shasum": "" }, "require": { @@ -1552,28 +1555,28 @@ "authors": [ { "name": "Jim Wigginton", - "role": "Lead Developer", - "email": "terrafrost@php.net" + "email": "terrafrost@php.net", + "role": "Lead Developer" }, { "name": "Patrick Monnerat", - "role": "Developer", - "email": "pm@datasphere.ch" + "email": "pm@datasphere.ch", + "role": "Developer" }, { "name": "Andreas Fischer", - "role": "Developer", - "email": "bantu@phpbb.com" + "email": "bantu@phpbb.com", + "role": "Developer" }, { "name": "Hans-Jürgen Petrich", - "role": "Developer", - "email": "petrich@tronic-media.com" + "email": "petrich@tronic-media.com", + "role": "Developer" }, { "name": "Graham Campbell", - "role": "Developer", - "email": "graham@alt-three.com" + "email": "graham@alt-three.com", + "role": "Developer" } ], "description": "PHP Secure Communications Library - Pure-PHP implementations of RSA, AES, SSH2, SFTP, X.509 etc.", @@ -1597,7 +1600,7 @@ "x.509", "x509" ], - "time": "2019-07-12T12:53:49+00:00" + "time": "2019-09-17T03:41:22+00:00" }, { "name": "psr/container", @@ -1700,16 +1703,16 @@ }, { "name": "psr/log", - "version": "1.1.0", + "version": "1.1.2", "source": { "type": "git", "url": "https://github.com/php-fig/log.git", - "reference": "6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd" + "reference": "446d54b4cb6bf489fc9d75f55843658e6f25d801" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd", - "reference": "6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd", + "url": "https://api.github.com/repos/php-fig/log/zipball/446d54b4cb6bf489fc9d75f55843658e6f25d801", + "reference": "446d54b4cb6bf489fc9d75f55843658e6f25d801", "shasum": "" }, "require": { @@ -1718,7 +1721,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "1.1.x-dev" } }, "autoload": { @@ -1743,7 +1746,7 @@ "psr", "psr-3" ], - "time": "2018-11-20T15:27:04+00:00" + "time": "2019-11-01T11:05:21+00:00" }, { "name": "ralouphie/getallheaders", @@ -1915,16 +1918,16 @@ }, { "name": "seld/jsonlint", - "version": "1.7.1", + "version": "1.7.2", "source": { "type": "git", "url": "https://github.com/Seldaek/jsonlint.git", - "reference": "d15f59a67ff805a44c50ea0516d2341740f81a38" + "reference": "e2e5d290e4d2a4f0eb449f510071392e00e10d19" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/d15f59a67ff805a44c50ea0516d2341740f81a38", - "reference": "d15f59a67ff805a44c50ea0516d2341740f81a38", + "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/e2e5d290e4d2a4f0eb449f510071392e00e10d19", + "reference": "e2e5d290e4d2a4f0eb449f510071392e00e10d19", "shasum": "" }, "require": { @@ -1960,7 +1963,7 @@ "parser", "validator" ], - "time": "2018-01-24T12:46:19+00:00" + "time": "2019-10-24T14:27:39+00:00" }, { "name": "seld/phar-utils", @@ -2008,24 +2011,27 @@ }, { "name": "symfony/console", - "version": "v4.1.12", + "version": "v4.3.9", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "9e87c798f67dc9fceeb4f3d57847b52d945d1a02" + "reference": "92e3577f4310553c83e362db25cc73f9673217de" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/9e87c798f67dc9fceeb4f3d57847b52d945d1a02", - "reference": "9e87c798f67dc9fceeb4f3d57847b52d945d1a02", + "url": "https://api.github.com/repos/symfony/console/zipball/92e3577f4310553c83e362db25cc73f9673217de", + "reference": "92e3577f4310553c83e362db25cc73f9673217de", "shasum": "" }, "require": { "php": "^7.1.3", - "symfony/polyfill-mbstring": "~1.0" + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php73": "^1.8", + "symfony/service-contracts": "^1.1" }, "conflict": { "symfony/dependency-injection": "<3.4", + "symfony/event-dispatcher": "<4.3", "symfony/process": "<3.3" }, "provide": { @@ -2035,9 +2041,10 @@ "psr/log": "~1.0", "symfony/config": "~3.4|~4.0", "symfony/dependency-injection": "~3.4|~4.0", - "symfony/event-dispatcher": "~3.4|~4.0", + "symfony/event-dispatcher": "^4.3", "symfony/lock": "~3.4|~4.0", - "symfony/process": "~3.4|~4.0" + "symfony/process": "~3.4|~4.0", + "symfony/var-dumper": "^4.3" }, "suggest": { "psr/log": "For using the console logger", @@ -2048,7 +2055,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.1-dev" + "dev-master": "4.3-dev" } }, "autoload": { @@ -2075,20 +2082,20 @@ ], "description": "Symfony Console Component", "homepage": "https://symfony.com", - "time": "2019-01-25T14:34:37+00:00" + "time": "2019-12-01T10:04:59+00:00" }, { "name": "symfony/css-selector", - "version": "v4.3.3", + "version": "v4.4.2", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", - "reference": "105c98bb0c5d8635bea056135304bd8edcc42b4d" + "reference": "64acec7e0d67125e9f4656c68d4a38a42ab5a0b7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/105c98bb0c5d8635bea056135304bd8edcc42b4d", - "reference": "105c98bb0c5d8635bea056135304bd8edcc42b4d", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/64acec7e0d67125e9f4656c68d4a38a42ab5a0b7", + "reference": "64acec7e0d67125e9f4656c68d4a38a42ab5a0b7", "shasum": "" }, "require": { @@ -2097,7 +2104,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.3-dev" + "dev-master": "4.4-dev" } }, "autoload": { @@ -2128,20 +2135,20 @@ ], "description": "Symfony CssSelector Component", "homepage": "https://symfony.com", - "time": "2019-01-16T21:53:39+00:00" + "time": "2019-10-12T00:35:04+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v4.3.3", + "version": "v4.3.9", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "212b020949331b6531250584531363844b34a94e" + "reference": "87a1ae7480f2020818013605a65776b9033bcc4f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/212b020949331b6531250584531363844b34a94e", - "reference": "212b020949331b6531250584531363844b34a94e", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/87a1ae7480f2020818013605a65776b9033bcc4f", + "reference": "87a1ae7480f2020818013605a65776b9033bcc4f", "shasum": "" }, "require": { @@ -2198,20 +2205,20 @@ ], "description": "Symfony EventDispatcher Component", "homepage": "https://symfony.com", - "time": "2019-06-27T06:42:14+00:00" + "time": "2019-11-28T13:25:45+00:00" }, { "name": "symfony/event-dispatcher-contracts", - "version": "v1.1.5", + "version": "v1.1.7", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "c61766f4440ca687de1084a5c00b08e167a2575c" + "reference": "c43ab685673fb6c8d84220c77897b1d6cdbe1d18" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/c61766f4440ca687de1084a5c00b08e167a2575c", - "reference": "c61766f4440ca687de1084a5c00b08e167a2575c", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/c43ab685673fb6c8d84220c77897b1d6cdbe1d18", + "reference": "c43ab685673fb6c8d84220c77897b1d6cdbe1d18", "shasum": "" }, "require": { @@ -2256,20 +2263,20 @@ "interoperability", "standards" ], - "time": "2019-06-20T06:46:26+00:00" + "time": "2019-09-17T09:54:03+00:00" }, { "name": "symfony/filesystem", - "version": "v4.3.3", + "version": "v4.4.2", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "b9896d034463ad6fd2bf17e2bf9418caecd6313d" + "reference": "40c2606131d56eff6f193b6e2ceb92414653b591" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/b9896d034463ad6fd2bf17e2bf9418caecd6313d", - "reference": "b9896d034463ad6fd2bf17e2bf9418caecd6313d", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/40c2606131d56eff6f193b6e2ceb92414653b591", + "reference": "40c2606131d56eff6f193b6e2ceb92414653b591", "shasum": "" }, "require": { @@ -2279,7 +2286,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.3-dev" + "dev-master": "4.4-dev" } }, "autoload": { @@ -2306,20 +2313,20 @@ ], "description": "Symfony Filesystem Component", "homepage": "https://symfony.com", - "time": "2019-06-23T08:51:25+00:00" + "time": "2019-11-26T23:16:41+00:00" }, { "name": "symfony/finder", - "version": "v4.3.3", + "version": "v4.4.2", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "9638d41e3729459860bb96f6247ccb61faaa45f2" + "reference": "ce8743441da64c41e2a667b8eb66070444ed911e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/9638d41e3729459860bb96f6247ccb61faaa45f2", - "reference": "9638d41e3729459860bb96f6247ccb61faaa45f2", + "url": "https://api.github.com/repos/symfony/finder/zipball/ce8743441da64c41e2a667b8eb66070444ed911e", + "reference": "ce8743441da64c41e2a667b8eb66070444ed911e", "shasum": "" }, "require": { @@ -2328,7 +2335,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.3-dev" + "dev-master": "4.4-dev" } }, "autoload": { @@ -2355,20 +2362,20 @@ ], "description": "Symfony Finder Component", "homepage": "https://symfony.com", - "time": "2019-06-28T13:16:30+00:00" + "time": "2019-11-17T21:56:56+00:00" }, { "name": "symfony/polyfill-ctype", - "version": "v1.11.0", + "version": "v1.13.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "82ebae02209c21113908c229e9883c419720738a" + "reference": "f8f0b461be3385e56d6de3dbb5a0df24c0c275e3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/82ebae02209c21113908c229e9883c419720738a", - "reference": "82ebae02209c21113908c229e9883c419720738a", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/f8f0b461be3385e56d6de3dbb5a0df24c0c275e3", + "reference": "f8f0b461be3385e56d6de3dbb5a0df24c0c275e3", "shasum": "" }, "require": { @@ -2380,7 +2387,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.11-dev" + "dev-master": "1.13-dev" } }, "autoload": { @@ -2396,13 +2403,13 @@ "MIT" ], "authors": [ - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - }, { "name": "Gert de Pagter", "email": "BackEndTea@gmail.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], "description": "Symfony polyfill for ctype functions", @@ -2413,20 +2420,20 @@ "polyfill", "portable" ], - "time": "2019-02-06T07:57:58+00:00" + "time": "2019-11-27T13:56:44+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.11.0", + "version": "v1.13.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "fe5e94c604826c35a32fa832f35bd036b6799609" + "reference": "7b4aab9743c30be783b73de055d24a39cf4b954f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/fe5e94c604826c35a32fa832f35bd036b6799609", - "reference": "fe5e94c604826c35a32fa832f35bd036b6799609", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/7b4aab9743c30be783b73de055d24a39cf4b954f", + "reference": "7b4aab9743c30be783b73de055d24a39cf4b954f", "shasum": "" }, "require": { @@ -2438,7 +2445,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.11-dev" + "dev-master": "1.13-dev" } }, "autoload": { @@ -2472,20 +2479,78 @@ "portable", "shim" ], - "time": "2019-02-06T07:57:58+00:00" + "time": "2019-11-27T14:18:11+00:00" + }, + { + "name": "symfony/polyfill-php73", + "version": "v1.13.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php73.git", + "reference": "4b0e2222c55a25b4541305a053013d5647d3a25f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/4b0e2222c55a25b4541305a053013d5647d3a25f", + "reference": "4b0e2222c55a25b4541305a053013d5647d3a25f", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.13-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php73\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "time": "2019-11-27T16:25:15+00:00" }, { "name": "symfony/process", - "version": "v4.3.3", + "version": "v4.3.9", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "856d35814cf287480465bb7a6c413bb7f5f5e69c" + "reference": "207dab1f17d34ad71ea72e9741ab8049a9d8251b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/856d35814cf287480465bb7a6c413bb7f5f5e69c", - "reference": "856d35814cf287480465bb7a6c413bb7f5f5e69c", + "url": "https://api.github.com/repos/symfony/process/zipball/207dab1f17d34ad71ea72e9741ab8049a9d8251b", + "reference": "207dab1f17d34ad71ea72e9741ab8049a9d8251b", "shasum": "" }, "require": { @@ -2521,7 +2586,65 @@ ], "description": "Symfony Process Component", "homepage": "https://symfony.com", - "time": "2019-05-30T16:10:05+00:00" + "time": "2019-11-28T10:05:26+00:00" + }, + { + "name": "symfony/service-contracts", + "version": "v1.1.8", + "source": { + "type": "git", + "url": "https://github.com/symfony/service-contracts.git", + "reference": "ffc7f5692092df31515df2a5ecf3b7302b3ddacf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/ffc7f5692092df31515df2a5ecf3b7302b3ddacf", + "reference": "ffc7f5692092df31515df2a5ecf3b7302b3ddacf", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "psr/container": "^1.0" + }, + "suggest": { + "symfony/service-implementation": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Service\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to writing services", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "time": "2019-10-14T12:27:06+00:00" }, { "name": "tedivm/jshrink", @@ -2830,20 +2953,21 @@ "captcha", "zf" ], + "abandoned": "laminas/laminas-captcha", "time": "2019-06-18T09:32:52+00:00" }, { "name": "zendframework/zend-code", - "version": "3.3.1", + "version": "3.3.2", "source": { "type": "git", "url": "https://github.com/zendframework/zend-code.git", - "reference": "c21db169075c6ec4b342149f446e7b7b724f95eb" + "reference": "936fa7ad4d53897ea3e3eb41b5b760828246a20b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-code/zipball/c21db169075c6ec4b342149f446e7b7b724f95eb", - "reference": "c21db169075c6ec4b342149f446e7b7b724f95eb", + "url": "https://api.github.com/repos/zendframework/zend-code/zipball/936fa7ad4d53897ea3e3eb41b5b760828246a20b", + "reference": "936fa7ad4d53897ea3e3eb41b5b760828246a20b", "shasum": "" }, "require": { @@ -2851,10 +2975,10 @@ "zendframework/zend-eventmanager": "^2.6 || ^3.0" }, "require-dev": { - "doctrine/annotations": "~1.0", + "doctrine/annotations": "^1.0", "ext-phar": "*", - "phpunit/phpunit": "^6.2.3", - "zendframework/zend-coding-standard": "^1.0.0", + "phpunit/phpunit": "^7.5.15", + "zendframework/zend-coding-standard": "^1.0", "zendframework/zend-stdlib": "^2.7 || ^3.0" }, "suggest": { @@ -2877,13 +3001,14 @@ "license": [ "BSD-3-Clause" ], - "description": "provides facilities to generate arbitrary code using an object oriented interface", - "homepage": "https://github.com/zendframework/zend-code", + "description": "Extensions to the PHP Reflection API, static code scanning, and code generation", "keywords": [ + "ZendFramework", "code", - "zf2" + "zf" ], - "time": "2018-08-13T20:36:59+00:00" + "abandoned": "laminas/laminas-code", + "time": "2019-08-31T14:14:34+00:00" }, { "name": "zendframework/zend-config", @@ -2939,6 +3064,7 @@ "config", "zf2" ], + "abandoned": "laminas/laminas-config", "time": "2016-02-04T23:01:10+00:00" }, { @@ -2992,6 +3118,7 @@ "console", "zf" ], + "abandoned": "laminas/laminas-console", "time": "2019-02-04T19:48:22+00:00" }, { @@ -3042,20 +3169,21 @@ "crypt", "zf2" ], + "abandoned": "laminas/laminas-crypt", "time": "2016-02-03T23:46:30+00:00" }, { "name": "zendframework/zend-db", - "version": "2.10.0", + "version": "2.11.0", "source": { "type": "git", "url": "https://github.com/zendframework/zend-db.git", - "reference": "77022f06f6ffd384fa86d22ab8d8bbdb925a1e8e" + "reference": "71626f95f6f9ee326e4be3c34228c1c466300a2c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-db/zipball/77022f06f6ffd384fa86d22ab8d8bbdb925a1e8e", - "reference": "77022f06f6ffd384fa86d22ab8d8bbdb925a1e8e", + "url": "https://api.github.com/repos/zendframework/zend-db/zipball/71626f95f6f9ee326e4be3c34228c1c466300a2c", + "reference": "71626f95f6f9ee326e4be3c34228c1c466300a2c", "shasum": "" }, "require": { @@ -3063,7 +3191,7 @@ "zendframework/zend-stdlib": "^2.7 || ^3.0" }, "require-dev": { - "phpunit/phpunit": "^5.7.25 || ^6.4.4", + "phpunit/phpunit": "^5.7.27 || ^6.5.14", "zendframework/zend-coding-standard": "~1.0.0", "zendframework/zend-eventmanager": "^2.6.2 || ^3.0", "zendframework/zend-hydrator": "^1.1 || ^2.1 || ^3.0", @@ -3077,8 +3205,8 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.9-dev", - "dev-develop": "2.10-dev" + "dev-master": "2.11.x-dev", + "dev-develop": "2.12.x-dev" }, "zf": { "component": "Zend\\Db", @@ -3100,7 +3228,8 @@ "db", "zf" ], - "time": "2019-02-25T11:37:45+00:00" + "abandoned": "laminas/laminas-db", + "time": "2019-12-31T19:43:46+00:00" }, { "name": "zendframework/zend-di", @@ -3147,20 +3276,21 @@ "di", "zf2" ], + "abandoned": "laminas/laminas-di", "time": "2016-04-25T20:58:11+00:00" }, { "name": "zendframework/zend-diactoros", - "version": "1.8.6", + "version": "1.8.7", "source": { "type": "git", "url": "https://github.com/zendframework/zend-diactoros.git", - "reference": "20da13beba0dde8fb648be3cc19765732790f46e" + "reference": "a85e67b86e9b8520d07e6415fcbcb8391b44a75b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-diactoros/zipball/20da13beba0dde8fb648be3cc19765732790f46e", - "reference": "20da13beba0dde8fb648be3cc19765732790f46e", + "url": "https://api.github.com/repos/zendframework/zend-diactoros/zipball/a85e67b86e9b8520d07e6415fcbcb8391b44a75b", + "reference": "a85e67b86e9b8520d07e6415fcbcb8391b44a75b", "shasum": "" }, "require": { @@ -3180,9 +3310,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.8.x-dev", - "dev-develop": "1.9.x-dev", - "dev-release-2.0": "2.0.x-dev" + "dev-release-1.8": "1.8.x-dev" } }, "autoload": { @@ -3211,20 +3339,21 @@ "psr", "psr-7" ], - "time": "2018-09-05T19:29:37+00:00" + "abandoned": "laminas/laminas-diactoros", + "time": "2019-08-06T17:53:53+00:00" }, { "name": "zendframework/zend-escaper", - "version": "2.6.0", + "version": "2.6.1", "source": { "type": "git", "url": "https://github.com/zendframework/zend-escaper.git", - "reference": "31d8aafae982f9568287cb4dce987e6aff8fd074" + "reference": "3801caa21b0ca6aca57fa1c42b08d35c395ebd5f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-escaper/zipball/31d8aafae982f9568287cb4dce987e6aff8fd074", - "reference": "31d8aafae982f9568287cb4dce987e6aff8fd074", + "url": "https://api.github.com/repos/zendframework/zend-escaper/zipball/3801caa21b0ca6aca57fa1c42b08d35c395ebd5f", + "reference": "3801caa21b0ca6aca57fa1c42b08d35c395ebd5f", "shasum": "" }, "require": { @@ -3256,7 +3385,8 @@ "escaper", "zf" ], - "time": "2018-04-25T15:48:53+00:00" + "abandoned": "laminas/laminas-escaper", + "time": "2019-09-05T20:03:20+00:00" }, { "name": "zendframework/zend-eventmanager", @@ -3310,6 +3440,7 @@ "events", "zf2" ], + "abandoned": "laminas/laminas-eventmanager", "time": "2018-04-25T15:33:34+00:00" }, { @@ -3373,20 +3504,21 @@ "feed", "zf" ], + "abandoned": "laminas/laminas-feed", "time": "2019-03-05T20:08:49+00:00" }, { "name": "zendframework/zend-filter", - "version": "2.9.1", + "version": "2.9.2", "source": { "type": "git", "url": "https://github.com/zendframework/zend-filter.git", - "reference": "1c3e6d02f9cd5f6c929c9859498f5efbe216e86f" + "reference": "d78f2cdde1c31975e18b2a0753381ed7b61118ef" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-filter/zipball/1c3e6d02f9cd5f6c929c9859498f5efbe216e86f", - "reference": "1c3e6d02f9cd5f6c929c9859498f5efbe216e86f", + "url": "https://api.github.com/repos/zendframework/zend-filter/zipball/d78f2cdde1c31975e18b2a0753381ed7b61118ef", + "reference": "d78f2cdde1c31975e18b2a0753381ed7b61118ef", "shasum": "" }, "require": { @@ -3432,26 +3564,27 @@ "license": [ "BSD-3-Clause" ], - "description": "provides a set of commonly needed data filters", + "description": "Programmatically filter and normalize data and files", "keywords": [ "ZendFramework", "filter", "zf" ], - "time": "2018-12-17T16:00:04+00:00" + "abandoned": "laminas/laminas-filter", + "time": "2019-08-19T07:08:04+00:00" }, { "name": "zendframework/zend-form", - "version": "2.14.1", + "version": "2.14.3", "source": { "type": "git", "url": "https://github.com/zendframework/zend-form.git", - "reference": "ff9385b7d0d93d9bdbc2aa4af82ab616dbc7d4be" + "reference": "0b1616c59b1f3df194284e26f98c81ad0c377871" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-form/zipball/ff9385b7d0d93d9bdbc2aa4af82ab616dbc7d4be", - "reference": "ff9385b7d0d93d9bdbc2aa4af82ab616dbc7d4be", + "url": "https://api.github.com/repos/zendframework/zend-form/zipball/0b1616c59b1f3df194284e26f98c81ad0c377871", + "reference": "0b1616c59b1f3df194284e26f98c81ad0c377871", "shasum": "" }, "require": { @@ -3516,20 +3649,21 @@ "form", "zf" ], - "time": "2019-02-26T18:13:31+00:00" + "abandoned": "laminas/laminas-form", + "time": "2019-10-04T10:46:36+00:00" }, { "name": "zendframework/zend-http", - "version": "2.10.0", + "version": "2.11.2", "source": { "type": "git", "url": "https://github.com/zendframework/zend-http.git", - "reference": "4b4983178693a8fdda53b0bbee58552e2d2b1ac0" + "reference": "e15e0ce45a2a4f642cd0b7b4f4d4d0366b729a1a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-http/zipball/4b4983178693a8fdda53b0bbee58552e2d2b1ac0", - "reference": "4b4983178693a8fdda53b0bbee58552e2d2b1ac0", + "url": "https://api.github.com/repos/zendframework/zend-http/zipball/e15e0ce45a2a4f642cd0b7b4f4d4d0366b729a1a", + "reference": "e15e0ce45a2a4f642cd0b7b4f4d4d0366b729a1a", "shasum": "" }, "require": { @@ -3550,8 +3684,8 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.10.x-dev", - "dev-develop": "2.11.x-dev" + "dev-master": "2.11.x-dev", + "dev-develop": "2.12.x-dev" } }, "autoload": { @@ -3571,20 +3705,21 @@ "zend", "zf" ], - "time": "2019-02-19T18:58:14+00:00" + "abandoned": "laminas/laminas-http", + "time": "2019-12-30T20:47:33+00:00" }, { "name": "zendframework/zend-hydrator", - "version": "2.4.1", + "version": "2.4.2", "source": { "type": "git", "url": "https://github.com/zendframework/zend-hydrator.git", - "reference": "70b02f4d8676e64af932625751750b5ca72fff3a" + "reference": "2bfc6845019e7b6d38b0ab5e55190244dc510285" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-hydrator/zipball/70b02f4d8676e64af932625751750b5ca72fff3a", - "reference": "70b02f4d8676e64af932625751750b5ca72fff3a", + "url": "https://api.github.com/repos/zendframework/zend-hydrator/zipball/2bfc6845019e7b6d38b0ab5e55190244dc510285", + "reference": "2bfc6845019e7b6d38b0ab5e55190244dc510285", "shasum": "" }, "require": { @@ -3609,10 +3744,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-release-1.0": "1.0.x-dev", - "dev-release-1.1": "1.1.x-dev", - "dev-master": "2.4.x-dev", - "dev-develop": "2.5.x-dev" + "dev-release-2.4": "2.4.x-dev" }, "zf": { "component": "Zend\\Hydrator", @@ -3634,28 +3766,33 @@ "hydrator", "zf" ], - "time": "2018-11-19T19:16:10+00:00" + "abandoned": "laminas/laminas-hydrator", + "time": "2019-10-04T11:17:36+00:00" }, { "name": "zendframework/zend-i18n", - "version": "2.9.0", + "version": "2.10.1", "source": { "type": "git", "url": "https://github.com/zendframework/zend-i18n.git", - "reference": "6d69af5a04e1a4de7250043cb1322f077a0cdb7f" + "reference": "84038e6a1838b611dcc491b1c40321fa4c3a123c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-i18n/zipball/6d69af5a04e1a4de7250043cb1322f077a0cdb7f", - "reference": "6d69af5a04e1a4de7250043cb1322f077a0cdb7f", + "url": "https://api.github.com/repos/zendframework/zend-i18n/zipball/84038e6a1838b611dcc491b1c40321fa4c3a123c", + "reference": "84038e6a1838b611dcc491b1c40321fa4c3a123c", "shasum": "" }, "require": { + "ext-intl": "*", "php": "^5.6 || ^7.0", "zendframework/zend-stdlib": "^2.7 || ^3.0" }, + "conflict": { + "phpspec/prophecy": "<1.9.0" + }, "require-dev": { - "phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1.2", + "phpunit/phpunit": "^5.7.27 || ^6.5.14 || ^7.5.16", "zendframework/zend-cache": "^2.6.1", "zendframework/zend-coding-standard": "~1.0.0", "zendframework/zend-config": "^2.6", @@ -3666,7 +3803,6 @@ "zendframework/zend-view": "^2.6.3" }, "suggest": { - "ext-intl": "Required for most features of Zend\\I18n; included in default builds of PHP", "zendframework/zend-cache": "Zend\\Cache component", "zendframework/zend-config": "Zend\\Config component", "zendframework/zend-eventmanager": "You should install this package to use the events in the translator", @@ -3679,8 +3815,8 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.9.x-dev", - "dev-develop": "2.10.x-dev" + "dev-master": "2.10.x-dev", + "dev-develop": "2.11.x-dev" }, "zf": { "component": "Zend\\I18n", @@ -3702,20 +3838,21 @@ "i18n", "zf" ], - "time": "2018-05-16T16:39:13+00:00" + "abandoned": "laminas/laminas-i18n", + "time": "2019-12-12T14:08:22+00:00" }, { "name": "zendframework/zend-inputfilter", - "version": "2.10.0", + "version": "2.10.1", "source": { "type": "git", "url": "https://github.com/zendframework/zend-inputfilter.git", - "reference": "4f52b71ec9cef3a06e3bba8f5c2124e94055ec0c" + "reference": "1f44a2e9bc394a71638b43bc7024b572fa65410e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-inputfilter/zipball/4f52b71ec9cef3a06e3bba8f5c2124e94055ec0c", - "reference": "4f52b71ec9cef3a06e3bba8f5c2124e94055ec0c", + "url": "https://api.github.com/repos/zendframework/zend-inputfilter/zipball/1f44a2e9bc394a71638b43bc7024b572fa65410e", + "reference": "1f44a2e9bc394a71638b43bc7024b572fa65410e", "shasum": "" }, "require": { @@ -3726,7 +3863,7 @@ "zendframework/zend-validator": "^2.11" }, "require-dev": { - "phpunit/phpunit": "^5.7.23 || ^6.4.3", + "phpunit/phpunit": "^5.7.27 || ^6.5.14 || ^7.5.15", "psr/http-message": "^1.0", "zendframework/zend-coding-standard": "~1.0.0" }, @@ -3759,7 +3896,8 @@ "inputfilter", "zf" ], - "time": "2019-01-30T16:58:51+00:00" + "abandoned": "laminas/laminas-inputfilter", + "time": "2019-08-28T19:45:32+00:00" }, { "name": "zendframework/zend-json", @@ -3814,20 +3952,21 @@ "json", "zf2" ], + "abandoned": "laminas/laminas-json", "time": "2016-02-04T21:20:26+00:00" }, { "name": "zendframework/zend-loader", - "version": "2.6.0", + "version": "2.6.1", "source": { "type": "git", "url": "https://github.com/zendframework/zend-loader.git", - "reference": "78f11749ea340f6ca316bca5958eef80b38f9b6c" + "reference": "91da574d29b58547385b2298c020b257310898c6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-loader/zipball/78f11749ea340f6ca316bca5958eef80b38f9b6c", - "reference": "78f11749ea340f6ca316bca5958eef80b38f9b6c", + "url": "https://api.github.com/repos/zendframework/zend-loader/zipball/91da574d29b58547385b2298c020b257310898c6", + "reference": "91da574d29b58547385b2298c020b257310898c6", "shasum": "" }, "require": { @@ -3859,25 +3998,26 @@ "loader", "zf" ], - "time": "2018-04-30T15:20:54+00:00" + "abandoned": "laminas/laminas-loader", + "time": "2019-09-04T19:38:14+00:00" }, { "name": "zendframework/zend-log", - "version": "2.10.0", + "version": "2.12.0", "source": { "type": "git", "url": "https://github.com/zendframework/zend-log.git", - "reference": "9cec3b092acb39963659c2f32441cccc56b3f430" + "reference": "e5ec088dc8a7b4d96a3a6627761f720a738a36b8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-log/zipball/9cec3b092acb39963659c2f32441cccc56b3f430", - "reference": "9cec3b092acb39963659c2f32441cccc56b3f430", + "url": "https://api.github.com/repos/zendframework/zend-log/zipball/e5ec088dc8a7b4d96a3a6627761f720a738a36b8", + "reference": "e5ec088dc8a7b4d96a3a6627761f720a738a36b8", "shasum": "" }, "require": { "php": "^5.6 || ^7.0", - "psr/log": "^1.0", + "psr/log": "^1.1.2", "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3", "zendframework/zend-stdlib": "^2.7 || ^3.0" }, @@ -3885,8 +4025,8 @@ "psr/log-implementation": "1.0.0" }, "require-dev": { - "mikey179/vfsstream": "^1.6", - "phpunit/phpunit": "^5.7.15 || ^6.0.8", + "mikey179/vfsstream": "^1.6.7", + "phpunit/phpunit": "^5.7.27 || ^6.5.14 || ^7.5.15", "zendframework/zend-coding-standard": "~1.0.0", "zendframework/zend-db": "^2.6", "zendframework/zend-escaper": "^2.5", @@ -3897,7 +4037,6 @@ "suggest": { "ext-mongo": "mongo extension to use Mongo writer", "ext-mongodb": "mongodb extension to use MongoDB writer", - "zendframework/zend-console": "Zend\\Console component to use the RequestID log processor", "zendframework/zend-db": "Zend\\Db component to use the database log writer", "zendframework/zend-escaper": "Zend\\Escaper component, for use in the XML log formatter", "zendframework/zend-mail": "Zend\\Mail component to use the email log writer", @@ -3906,8 +4045,8 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.10.x-dev", - "dev-develop": "2.11.x-dev" + "dev-master": "2.12.x-dev", + "dev-develop": "2.13.x-dev" }, "zf": { "component": "Zend\\Log", @@ -3923,14 +4062,15 @@ "license": [ "BSD-3-Clause" ], - "description": "component for general purpose logging", - "homepage": "https://github.com/zendframework/zend-log", + "description": "Robust, composite logger with filtering, formatting, and PSR-3 support", "keywords": [ + "ZendFramework", "log", "logging", - "zf2" + "zf" ], - "time": "2018-04-09T21:59:51+00:00" + "abandoned": "laminas/laminas-log", + "time": "2019-12-27T16:18:31+00:00" }, { "name": "zendframework/zend-mail", @@ -3992,6 +4132,7 @@ "mail", "zf" ], + "abandoned": "laminas/laminas-mail", "time": "2018-06-07T13:37:07+00:00" }, { @@ -4042,20 +4183,21 @@ "math", "zf2" ], + "abandoned": "laminas/laminas-math", "time": "2018-12-04T15:34:17+00:00" }, { "name": "zendframework/zend-mime", - "version": "2.7.1", + "version": "2.7.2", "source": { "type": "git", "url": "https://github.com/zendframework/zend-mime.git", - "reference": "52ae5fa9f12845cae749271034a2d594f0e4c6f2" + "reference": "c91e0350be53cc9d29be15563445eec3b269d7c1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-mime/zipball/52ae5fa9f12845cae749271034a2d594f0e4c6f2", - "reference": "52ae5fa9f12845cae749271034a2d594f0e4c6f2", + "url": "https://api.github.com/repos/zendframework/zend-mime/zipball/c91e0350be53cc9d29be15563445eec3b269d7c1", + "reference": "c91e0350be53cc9d29be15563445eec3b269d7c1", "shasum": "" }, "require": { @@ -4073,8 +4215,8 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.7-dev", - "dev-develop": "2.8-dev" + "dev-master": "2.7.x-dev", + "dev-develop": "2.8.x-dev" } }, "autoload": { @@ -4087,26 +4229,26 @@ "BSD-3-Clause" ], "description": "Create and parse MIME messages and parts", - "homepage": "https://github.com/zendframework/zend-mime", "keywords": [ "ZendFramework", "mime", "zf" ], - "time": "2018-05-14T19:02:50+00:00" + "abandoned": "laminas/laminas-mime", + "time": "2019-10-16T19:30:37+00:00" }, { "name": "zendframework/zend-modulemanager", - "version": "2.8.2", + "version": "2.8.4", "source": { "type": "git", "url": "https://github.com/zendframework/zend-modulemanager.git", - "reference": "394df6e12248ac430a312d4693f793ee7120baa6" + "reference": "b2596d24b9a4e36a3cd114d35d3ad0918db9a243" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-modulemanager/zipball/394df6e12248ac430a312d4693f793ee7120baa6", - "reference": "394df6e12248ac430a312d4693f793ee7120baa6", + "url": "https://api.github.com/repos/zendframework/zend-modulemanager/zipball/b2596d24b9a4e36a3cd114d35d3ad0918db9a243", + "reference": "b2596d24b9a4e36a3cd114d35d3ad0918db9a243", "shasum": "" }, "require": { @@ -4116,7 +4258,7 @@ "zendframework/zend-stdlib": "^3.1 || ^2.7" }, "require-dev": { - "phpunit/phpunit": "^6.0.8 || ^5.7.15", + "phpunit/phpunit": "^5.7.27 || ^6.5.14 || ^7.5.16", "zendframework/zend-coding-standard": "~1.0.0", "zendframework/zend-console": "^2.6", "zendframework/zend-di": "^2.6", @@ -4133,8 +4275,8 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.7-dev", - "dev-develop": "2.8-dev" + "dev-master": "2.8.x-dev", + "dev-develop": "2.9.x-dev" } }, "autoload": { @@ -4147,13 +4289,13 @@ "BSD-3-Clause" ], "description": "Modular application system for zend-mvc applications", - "homepage": "https://github.com/zendframework/zend-modulemanager", "keywords": [ "ZendFramework", "modulemanager", "zf" ], - "time": "2017-12-02T06:11:18+00:00" + "abandoned": "laminas/laminas-modulemanager", + "time": "2019-10-28T13:29:38+00:00" }, { "name": "zendframework/zend-mvc", @@ -4248,6 +4390,7 @@ "mvc", "zf2" ], + "abandoned": "laminas/laminas-mvc", "time": "2018-05-03T13:13:41+00:00" }, { @@ -4297,20 +4440,21 @@ "psr", "psr-7" ], + "abandoned": "laminas/laminas-psr7bridge", "time": "2016-05-10T21:44:39+00:00" }, { "name": "zendframework/zend-serializer", - "version": "2.9.0", + "version": "2.9.1", "source": { "type": "git", "url": "https://github.com/zendframework/zend-serializer.git", - "reference": "0172690db48d8935edaf625c4cba38b79719892c" + "reference": "6fb7ae016cfdf0cfcdfa2b989e6a65f351170e21" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-serializer/zipball/0172690db48d8935edaf625c4cba38b79719892c", - "reference": "0172690db48d8935edaf625c4cba38b79719892c", + "url": "https://api.github.com/repos/zendframework/zend-serializer/zipball/6fb7ae016cfdf0cfcdfa2b989e6a65f351170e21", + "reference": "6fb7ae016cfdf0cfcdfa2b989e6a65f351170e21", "shasum": "" }, "require": { @@ -4319,7 +4463,7 @@ "zendframework/zend-stdlib": "^2.7 || ^3.0" }, "require-dev": { - "phpunit/phpunit": "^5.7.25 || ^6.4.4", + "phpunit/phpunit": "^5.7.27 || ^6.5.14 || ^7.5.16", "zendframework/zend-coding-standard": "~1.0.0", "zendframework/zend-math": "^2.6 || ^3.0", "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3" @@ -4348,26 +4492,27 @@ "license": [ "BSD-3-Clause" ], - "description": "provides an adapter based interface to simply generate storable representation of PHP types by different facilities, and recover", + "description": "Serialize and deserialize PHP structures to a variety of representations", "keywords": [ "ZendFramework", "serializer", "zf" ], - "time": "2018-05-14T18:45:18+00:00" + "abandoned": "laminas/laminas-serializer", + "time": "2019-10-19T08:06:30+00:00" }, { "name": "zendframework/zend-server", - "version": "2.8.0", + "version": "2.8.1", "source": { "type": "git", "url": "https://github.com/zendframework/zend-server.git", - "reference": "23a2e9a5599c83c05da831cb7c649e8a7809595e" + "reference": "d80c44700ebb92191dd9a3005316a6ab6637c0d1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-server/zipball/23a2e9a5599c83c05da831cb7c649e8a7809595e", - "reference": "23a2e9a5599c83c05da831cb7c649e8a7809595e", + "url": "https://api.github.com/repos/zendframework/zend-server/zipball/d80c44700ebb92191dd9a3005316a6ab6637c0d1", + "reference": "d80c44700ebb92191dd9a3005316a6ab6637c0d1", "shasum": "" }, "require": { @@ -4401,7 +4546,8 @@ "server", "zf" ], - "time": "2018-04-30T22:21:28+00:00" + "abandoned": "laminas/laminas-server", + "time": "2019-10-16T18:27:05+00:00" }, { "name": "zendframework/zend-servicemanager", @@ -4453,32 +4599,33 @@ "servicemanager", "zf2" ], + "abandoned": "laminas/laminas-servicemanager", "time": "2018-06-22T14:49:54+00:00" }, { "name": "zendframework/zend-session", - "version": "2.8.5", + "version": "2.9.1", "source": { "type": "git", "url": "https://github.com/zendframework/zend-session.git", - "reference": "2cfd90e1a2f6b066b9f908599251d8f64f07021b" + "reference": "c289c4d733ec23a389e25c7c451f4d062088511f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-session/zipball/2cfd90e1a2f6b066b9f908599251d8f64f07021b", - "reference": "2cfd90e1a2f6b066b9f908599251d8f64f07021b", + "url": "https://api.github.com/repos/zendframework/zend-session/zipball/c289c4d733ec23a389e25c7c451f4d062088511f", + "reference": "c289c4d733ec23a389e25c7c451f4d062088511f", "shasum": "" }, "require": { "php": "^5.6 || ^7.0", "zendframework/zend-eventmanager": "^2.6.2 || ^3.0", - "zendframework/zend-stdlib": "^2.7 || ^3.0" + "zendframework/zend-stdlib": "^3.2.1" }, "require-dev": { "container-interop/container-interop": "^1.1", "mongodb/mongodb": "^1.0.1", "php-mock/php-mock-phpunit": "^1.1.2 || ^2.0", - "phpunit/phpunit": "^5.7.5 || >=6.0.13 <6.5.0", + "phpunit/phpunit": "^5.7.27 || ^6.5.14 || ^7.5.16", "zendframework/zend-cache": "^2.6.1", "zendframework/zend-coding-standard": "~1.0.0", "zendframework/zend-db": "^2.7", @@ -4497,8 +4644,8 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.8-dev", - "dev-develop": "2.9-dev" + "dev-master": "2.9.x-dev", + "dev-develop": "2.10.x-dev" }, "zf": { "component": "Zend\\Session", @@ -4514,13 +4661,14 @@ "license": [ "BSD-3-Clause" ], - "description": "manage and preserve session data, a logical complement of cookie data, across multiple page requests by the same client", + "description": "Object-oriented interface to PHP sessions and storage", "keywords": [ "ZendFramework", "session", "zf" ], - "time": "2018-02-22T16:33:54+00:00" + "abandoned": "laminas/laminas-session", + "time": "2019-10-28T19:40:43+00:00" }, { "name": "zendframework/zend-soap", @@ -4573,6 +4721,7 @@ "soap", "zf2" ], + "abandoned": "laminas/laminas-soap", "time": "2019-04-30T16:45:35+00:00" }, { @@ -4619,20 +4768,21 @@ "stdlib", "zf" ], + "abandoned": "laminas/laminas-stdlib", "time": "2018-08-28T21:34:05+00:00" }, { "name": "zendframework/zend-text", - "version": "2.7.0", + "version": "2.7.1", "source": { "type": "git", "url": "https://github.com/zendframework/zend-text.git", - "reference": "ca987dd4594f5f9508771fccd82c89bc7fbb39ac" + "reference": "41e32dafa4015e160e2f95a7039554385c71624d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-text/zipball/ca987dd4594f5f9508771fccd82c89bc7fbb39ac", - "reference": "ca987dd4594f5f9508771fccd82c89bc7fbb39ac", + "url": "https://api.github.com/repos/zendframework/zend-text/zipball/41e32dafa4015e160e2f95a7039554385c71624d", + "reference": "41e32dafa4015e160e2f95a7039554385c71624d", "shasum": "" }, "require": { @@ -4667,20 +4817,21 @@ "text", "zf" ], - "time": "2018-04-30T14:55:10+00:00" + "abandoned": "laminas/laminas-text", + "time": "2019-10-16T20:36:27+00:00" }, { "name": "zendframework/zend-uri", - "version": "2.7.0", + "version": "2.7.1", "source": { "type": "git", "url": "https://github.com/zendframework/zend-uri.git", - "reference": "b2785cd38fe379a784645449db86f21b7739b1ee" + "reference": "bfc4a5b9a309711e968d7c72afae4ac50c650083" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-uri/zipball/b2785cd38fe379a784645449db86f21b7739b1ee", - "reference": "b2785cd38fe379a784645449db86f21b7739b1ee", + "url": "https://api.github.com/repos/zendframework/zend-uri/zipball/bfc4a5b9a309711e968d7c72afae4ac50c650083", + "reference": "bfc4a5b9a309711e968d7c72afae4ac50c650083", "shasum": "" }, "require": { @@ -4714,29 +4865,32 @@ "uri", "zf" ], - "time": "2019-02-27T21:39:04+00:00" + "abandoned": "laminas/laminas-uri", + "time": "2019-10-07T13:35:33+00:00" }, { "name": "zendframework/zend-validator", - "version": "2.12.0", + "version": "2.13.0", "source": { "type": "git", "url": "https://github.com/zendframework/zend-validator.git", - "reference": "64c33668e5fa2d39c6289a878f927ea2b0850c30" + "reference": "b54acef1f407741c5347f2a97f899ab21f2229ef" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-validator/zipball/64c33668e5fa2d39c6289a878f927ea2b0850c30", - "reference": "64c33668e5fa2d39c6289a878f927ea2b0850c30", + "url": "https://api.github.com/repos/zendframework/zend-validator/zipball/b54acef1f407741c5347f2a97f899ab21f2229ef", + "reference": "b54acef1f407741c5347f2a97f899ab21f2229ef", "shasum": "" }, "require": { "container-interop/container-interop": "^1.1", - "php": "^5.6 || ^7.0", + "php": "^7.1", "zendframework/zend-stdlib": "^3.2.1" }, "require-dev": { "phpunit/phpunit": "^6.0.8 || ^5.7.15", + "psr/http-client": "^1.0", + "psr/http-factory": "^1.0", "psr/http-message": "^1.0", "zendframework/zend-cache": "^2.6.1", "zendframework/zend-coding-standard": "~1.0.0", @@ -4764,8 +4918,8 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.12.x-dev", - "dev-develop": "2.13.x-dev" + "dev-master": "2.13.x-dev", + "dev-develop": "2.14.x-dev" }, "zf": { "component": "Zend\\Validator", @@ -4781,26 +4935,27 @@ "license": [ "BSD-3-Clause" ], - "description": "provides a set of commonly needed validators", - "homepage": "https://github.com/zendframework/zend-validator", + "description": "Validation classes for a wide range of domains, and the ability to chain validators to create complex validation criteria", "keywords": [ + "ZendFramework", "validator", - "zf2" + "zf" ], - "time": "2019-01-30T14:26:10+00:00" + "abandoned": "laminas/laminas-validator", + "time": "2019-12-28T04:07:18+00:00" }, { "name": "zendframework/zend-view", - "version": "2.11.2", + "version": "2.11.4", "source": { "type": "git", "url": "https://github.com/zendframework/zend-view.git", - "reference": "4f5cb653ed4c64bb8d9bf05b294300feb00c67f2" + "reference": "a8b1b2d9b52e191539be861a6529f8c8a0c06b9d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-view/zipball/4f5cb653ed4c64bb8d9bf05b294300feb00c67f2", - "reference": "4f5cb653ed4c64bb8d9bf05b294300feb00c67f2", + "url": "https://api.github.com/repos/zendframework/zend-view/zipball/a8b1b2d9b52e191539be861a6529f8c8a0c06b9d", + "reference": "a8b1b2d9b52e191539be861a6529f8c8a0c06b9d", "shasum": "" }, "require": { @@ -4868,13 +5023,14 @@ "license": [ "BSD-3-Clause" ], - "description": "provides a system of helpers, output filters, and variable escaping", - "homepage": "https://github.com/zendframework/zend-view", + "description": "Flexible view layer supporting and providing multiple view layers, helpers, and more", "keywords": [ + "ZendFramework", "view", - "zf2" + "zf" ], - "time": "2019-02-19T17:40:15+00:00" + "abandoned": "laminas/laminas-view", + "time": "2019-12-04T08:40:50+00:00" } ], "packages-dev": [ @@ -4931,25 +5087,26 @@ }, { "name": "allure-framework/allure-php-api", - "version": "1.1.4", + "version": "1.1.5", "source": { "type": "git", - "url": "https://github.com/allure-framework/allure-php-adapter-api.git", - "reference": "a462a0da121681577033e13c123b6cc4e89cdc64" + "url": "https://github.com/allure-framework/allure-php-commons.git", + "reference": "c7a675823ad75b8e02ddc364baae21668e7c4e88" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/allure-framework/allure-php-adapter-api/zipball/a462a0da121681577033e13c123b6cc4e89cdc64", - "reference": "a462a0da121681577033e13c123b6cc4e89cdc64", + "url": "https://api.github.com/repos/allure-framework/allure-php-commons/zipball/c7a675823ad75b8e02ddc364baae21668e7c4e88", + "reference": "c7a675823ad75b8e02ddc364baae21668e7c4e88", "shasum": "" }, "require": { - "jms/serializer": ">=0.16.0", - "moontoast/math": ">=1.1.0", + "jms/serializer": "^0.16.0", "php": ">=5.4.0", - "phpunit/phpunit": ">=4.0.0", - "ramsey/uuid": ">=3.0.0", - "symfony/http-foundation": ">=2.0" + "ramsey/uuid": "^3.0.0", + "symfony/http-foundation": "^2.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.0.0" }, "type": "library", "autoload": { @@ -4967,8 +5124,8 @@ "authors": [ { "name": "Ivan Krutov", - "role": "Developer", - "email": "vania-pooh@yandex-team.ru" + "email": "vania-pooh@yandex-team.ru", + "role": "Developer" } ], "description": "PHP API for Allure adapter", @@ -4979,7 +5136,7 @@ "php", "report" ], - "time": "2016-12-07T12:15:46+00:00" + "time": "2018-05-25T14:02:11+00:00" }, { "name": "allure-framework/allure-phpunit", @@ -5183,16 +5340,16 @@ }, { "name": "codeception/phpunit-wrapper", - "version": "6.6.1", + "version": "6.8.0", "source": { "type": "git", "url": "https://github.com/Codeception/phpunit-wrapper.git", - "reference": "d0da25a98bcebeb15d97c2ad3b2de6166b6e7a0c" + "reference": "20e054e9cee8de0523322367bcccde8e6a3db263" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Codeception/phpunit-wrapper/zipball/d0da25a98bcebeb15d97c2ad3b2de6166b6e7a0c", - "reference": "d0da25a98bcebeb15d97c2ad3b2de6166b6e7a0c", + "url": "https://api.github.com/repos/Codeception/phpunit-wrapper/zipball/20e054e9cee8de0523322367bcccde8e6a3db263", + "reference": "20e054e9cee8de0523322367bcccde8e6a3db263", "shasum": "" }, "require": { @@ -5225,7 +5382,7 @@ } ], "description": "PHPUnit classes used by Codeception", - "time": "2019-02-26T20:47:39+00:00" + "time": "2020-01-03T08:01:16+00:00" }, { "name": "codeception/stub", @@ -5627,20 +5784,20 @@ }, { "name": "consolidation/robo", - "version": "1.4.10", + "version": "1.4.11", "source": { "type": "git", "url": "https://github.com/consolidation/Robo.git", - "reference": "e5a6ca64cf1324151873672e484aceb21f365681" + "reference": "5fa1d901776a628167a325baa9db95d8edf13a80" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/consolidation/Robo/zipball/e5a6ca64cf1324151873672e484aceb21f365681", - "reference": "e5a6ca64cf1324151873672e484aceb21f365681", + "url": "https://api.github.com/repos/consolidation/Robo/zipball/5fa1d901776a628167a325baa9db95d8edf13a80", + "reference": "5fa1d901776a628167a325baa9db95d8edf13a80", "shasum": "" }, "require": { - "consolidation/annotated-command": "^2.10.2", + "consolidation/annotated-command": "^2.11.0", "consolidation/config": "^1.2", "consolidation/log": "~1", "consolidation/output-formatters": "^3.1.13", @@ -5670,6 +5827,7 @@ "pear/archive_tar": "^1.4.4", "php-coveralls/php-coveralls": "^1", "phpunit/php-code-coverage": "~2|~4", + "sebastian/comparator": "^1.2.4", "squizlabs/php_codesniffer": "^2.8" }, "suggest": { @@ -5731,7 +5889,7 @@ } ], "description": "Modern task runner", - "time": "2019-07-29T15:40:50+00:00" + "time": "2019-10-29T15:50:02+00:00" }, { "name": "consolidation/self-update", @@ -5844,16 +6002,16 @@ }, { "name": "doctrine/annotations", - "version": "v1.6.1", + "version": "v1.8.0", "source": { "type": "git", "url": "https://github.com/doctrine/annotations.git", - "reference": "53120e0eb10355388d6ccbe462f1fea34ddadb24" + "reference": "904dca4eb10715b92569fbcd79e201d5c349b6bc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/annotations/zipball/53120e0eb10355388d6ccbe462f1fea34ddadb24", - "reference": "53120e0eb10355388d6ccbe462f1fea34ddadb24", + "url": "https://api.github.com/repos/doctrine/annotations/zipball/904dca4eb10715b92569fbcd79e201d5c349b6bc", + "reference": "904dca4eb10715b92569fbcd79e201d5c349b6bc", "shasum": "" }, "require": { @@ -5862,12 +6020,12 @@ }, "require-dev": { "doctrine/cache": "1.*", - "phpunit/phpunit": "^6.4" + "phpunit/phpunit": "^7.5" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.6.x-dev" + "dev-master": "1.7.x-dev" } }, "autoload": { @@ -5880,6 +6038,10 @@ "MIT" ], "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, { "name": "Roman Borschel", "email": "roman@code-factory.org" @@ -5888,10 +6050,6 @@ "name": "Benjamin Eberlei", "email": "kontakt@beberlei.de" }, - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, { "name": "Jonathan Wage", "email": "jonwage@gmail.com" @@ -5908,90 +6066,20 @@ "docblock", "parser" ], - "time": "2019-03-25T19:12:02+00:00" - }, - { - "name": "doctrine/collections", - "version": "v1.6.2", - "source": { - "type": "git", - "url": "https://github.com/doctrine/collections.git", - "reference": "c5e0bc17b1620e97c968ac409acbff28b8b850be" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/collections/zipball/c5e0bc17b1620e97c968ac409acbff28b8b850be", - "reference": "c5e0bc17b1620e97c968ac409acbff28b8b850be", - "shasum": "" - }, - "require": { - "php": "^7.1.3" - }, - "require-dev": { - "doctrine/coding-standard": "^6.0", - "phpstan/phpstan-shim": "^0.9.2", - "phpunit/phpunit": "^7.0", - "vimeo/psalm": "^3.2.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.6.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Common\\Collections\\": "lib/Doctrine/Common/Collections" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" - } - ], - "description": "PHP Doctrine Collections library that adds additional functionality on top of PHP arrays.", - "homepage": "https://www.doctrine-project.org/projects/collections.html", - "keywords": [ - "array", - "collections", - "iterators", - "php" - ], - "time": "2019-06-09T13:48:14+00:00" + "time": "2019-10-01T18:55:10+00:00" }, { "name": "doctrine/instantiator", - "version": "1.2.0", + "version": "1.3.0", "source": { "type": "git", "url": "https://github.com/doctrine/instantiator.git", - "reference": "a2c590166b2133a4633738648b6b064edae0814a" + "reference": "ae466f726242e637cebdd526a7d991b9433bacf1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/a2c590166b2133a4633738648b6b064edae0814a", - "reference": "a2c590166b2133a4633738648b6b064edae0814a", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/ae466f726242e637cebdd526a7d991b9433bacf1", + "reference": "ae466f726242e637cebdd526a7d991b9433bacf1", "shasum": "" }, "require": { @@ -6034,7 +6122,7 @@ "constructor", "instantiate" ], - "time": "2019-03-17T17:37:11+00:00" + "time": "2019-10-21T16:45:58+00:00" }, { "name": "doctrine/lexer", @@ -6096,52 +6184,6 @@ ], "time": "2019-06-08T11:03:04+00:00" }, - { - "name": "epfremme/swagger-php", - "version": "v2.0.0", - "source": { - "type": "git", - "url": "https://github.com/epfremmer/swagger-php.git", - "reference": "eee28a442b7e6220391ec953d3c9b936354f23bc" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/epfremmer/swagger-php/zipball/eee28a442b7e6220391ec953d3c9b936354f23bc", - "reference": "eee28a442b7e6220391ec953d3c9b936354f23bc", - "shasum": "" - }, - "require": { - "doctrine/annotations": "^1.2", - "doctrine/collections": "^1.3", - "jms/serializer": "^1.1", - "php": ">=5.5", - "phpoption/phpoption": "^1.1", - "symfony/yaml": "^2.7|^3.1" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "~4.8|~5.0", - "satooshi/php-coveralls": "^1.0" - }, - "type": "package", - "autoload": { - "psr-4": { - "Epfremme\\Swagger\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Edward Pfremmer", - "email": "epfremme@nerdery.com" - } - ], - "description": "Library for parsing swagger documentation into PHP entities for use in testing and code generation", - "time": "2016-09-26T17:24:17+00:00" - }, { "name": "facebook/webdriver", "version": "1.7.1", @@ -6204,16 +6246,16 @@ }, { "name": "flow/jsonpath", - "version": "0.4.0", + "version": "0.5.0", "source": { "type": "git", "url": "https://github.com/FlowCommunications/JSONPath.git", - "reference": "f0222818d5c938e4ab668ab2e2c079bd51a27112" + "reference": "b9738858c75d008c1211612b973e9510f8b7f8ea" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/FlowCommunications/JSONPath/zipball/f0222818d5c938e4ab668ab2e2c079bd51a27112", - "reference": "f0222818d5c938e4ab668ab2e2c079bd51a27112", + "url": "https://api.github.com/repos/FlowCommunications/JSONPath/zipball/b9738858c75d008c1211612b973e9510f8b7f8ea", + "reference": "b9738858c75d008c1211612b973e9510f8b7f8ea", "shasum": "" }, "require": { @@ -6221,7 +6263,7 @@ }, "require-dev": { "peekmo/jsonpath": "dev-master", - "phpunit/phpunit": "^4.0" + "phpunit/phpunit": "^7.0" }, "type": "library", "autoload": { @@ -6241,20 +6283,20 @@ } ], "description": "JSONPath implementation for parsing, searching and flattening arrays", - "time": "2018-03-04T16:39:47+00:00" + "time": "2019-07-15T17:23:22+00:00" }, { "name": "friendsofphp/php-cs-fixer", - "version": "v2.14.4", + "version": "v2.14.6", "source": { "type": "git", "url": "https://github.com/FriendsOfPHP/PHP-CS-Fixer.git", - "reference": "69ccf81f3c968be18d646918db94ab88ddf3594f" + "reference": "8d18a8bb180e2acde1c8031db09aefb9b73f6127" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/FriendsOfPHP/PHP-CS-Fixer/zipball/69ccf81f3c968be18d646918db94ab88ddf3594f", - "reference": "69ccf81f3c968be18d646918db94ab88ddf3594f", + "url": "https://api.github.com/repos/FriendsOfPHP/PHP-CS-Fixer/zipball/8d18a8bb180e2acde1c8031db09aefb9b73f6127", + "reference": "8d18a8bb180e2acde1c8031db09aefb9b73f6127", "shasum": "" }, "require": { @@ -6284,9 +6326,10 @@ "php-cs-fixer/accessible-object": "^1.0", "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.1", "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.1", - "phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1", - "phpunitgoodpractices/traits": "^1.8", - "symfony/phpunit-bridge": "^4.3" + "phpunit/phpunit": "^5.7.27 || ^6.5.14 || ^7.1", + "phpunitgoodpractices/traits": "^1.5.1", + "symfony/phpunit-bridge": "^4.0", + "symfony/yaml": "^3.0 || ^4.0" }, "suggest": { "ext-mbstring": "For handling non-UTF8 characters in cache signature.", @@ -6319,30 +6362,30 @@ "MIT" ], "authors": [ - { - "name": "Dariusz Rumiński", - "email": "dariusz.ruminski@gmail.com" - }, { "name": "Fabien Potencier", "email": "fabien@symfony.com" + }, + { + "name": "Dariusz Rumiński", + "email": "dariusz.ruminski@gmail.com" } ], "description": "A tool to automatically fix PHP code style", - "time": "2019-06-01T10:29:34+00:00" + "time": "2019-08-31T12:47:52+00:00" }, { "name": "fzaninotto/faker", - "version": "v1.8.0", + "version": "v1.9.1", "source": { "type": "git", "url": "https://github.com/fzaninotto/Faker.git", - "reference": "f72816b43e74063c8b10357394b6bba8cb1c10de" + "reference": "fc10d778e4b84d5bd315dad194661e091d307c6f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/fzaninotto/Faker/zipball/f72816b43e74063c8b10357394b6bba8cb1c10de", - "reference": "f72816b43e74063c8b10357394b6bba8cb1c10de", + "url": "https://api.github.com/repos/fzaninotto/Faker/zipball/fc10d778e4b84d5bd315dad194661e091d307c6f", + "reference": "fc10d778e4b84d5bd315dad194661e091d307c6f", "shasum": "" }, "require": { @@ -6351,12 +6394,12 @@ "require-dev": { "ext-intl": "*", "phpunit/phpunit": "^4.8.35 || ^5.7", - "squizlabs/php_codesniffer": "^1.5" + "squizlabs/php_codesniffer": "^2.9.2" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.8-dev" + "dev-master": "1.9-dev" } }, "autoload": { @@ -6379,7 +6422,7 @@ "faker", "fixtures" ], - "time": "2018-07-12T10:23:15+00:00" + "time": "2019-12-12T13:22:17+00:00" }, { "name": "grasmash/expander", @@ -6476,6 +6519,48 @@ "description": "Expands internal property references in a yaml file.", "time": "2017-12-16T16:06:03+00:00" }, + { + "name": "ircmaxell/password-compat", + "version": "v1.0.4", + "source": { + "type": "git", + "url": "https://github.com/ircmaxell/password_compat.git", + "reference": "5c5cde8822a69545767f7c7f3058cb15ff84614c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ircmaxell/password_compat/zipball/5c5cde8822a69545767f7c7f3058cb15ff84614c", + "reference": "5c5cde8822a69545767f7c7f3058cb15ff84614c", + "shasum": "" + }, + "require-dev": { + "phpunit/phpunit": "4.*" + }, + "type": "library", + "autoload": { + "files": [ + "lib/password.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Anthony Ferrara", + "email": "ircmaxell@php.net", + "homepage": "http://blog.ircmaxell.com" + } + ], + "description": "A compatibility library for the proposed simplified password hashing algorithm: https://wiki.php.net/rfc/password_hash", + "homepage": "https://github.com/ircmaxell/password_compat", + "keywords": [ + "hashing", + "password" + ], + "time": "2014-11-20T16:49:30+00:00" + }, { "name": "jms/metadata", "version": "1.7.0", @@ -6568,56 +6653,44 @@ }, { "name": "jms/serializer", - "version": "1.14.0", + "version": "0.16.0", "source": { "type": "git", "url": "https://github.com/schmittjoh/serializer.git", - "reference": "ee96d57024af9a7716d56fcbe3aa94b3d030f3ca" + "reference": "c8a171357ca92b6706e395c757f334902d430ea9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/schmittjoh/serializer/zipball/ee96d57024af9a7716d56fcbe3aa94b3d030f3ca", - "reference": "ee96d57024af9a7716d56fcbe3aa94b3d030f3ca", + "url": "https://api.github.com/repos/schmittjoh/serializer/zipball/c8a171357ca92b6706e395c757f334902d430ea9", + "reference": "c8a171357ca92b6706e395c757f334902d430ea9", "shasum": "" }, "require": { - "doctrine/annotations": "^1.0", - "doctrine/instantiator": "^1.0.3", - "jms/metadata": "^1.3", + "doctrine/annotations": "1.*", + "jms/metadata": "~1.1", "jms/parser-lib": "1.*", - "php": "^5.5|^7.0", - "phpcollection/phpcollection": "~0.1", - "phpoption/phpoption": "^1.1" - }, - "conflict": { - "twig/twig": "<1.12" + "php": ">=5.3.2", + "phpcollection/phpcollection": "~0.1" }, "require-dev": { "doctrine/orm": "~2.1", - "doctrine/phpcr-odm": "^1.3|^2.0", - "ext-pdo_sqlite": "*", - "jackalope/jackalope-doctrine-dbal": "^1.1.5", - "phpunit/phpunit": "^4.8|^5.0", + "doctrine/phpcr-odm": "~1.0.1", + "jackalope/jackalope-doctrine-dbal": "1.0.*", "propel/propel1": "~1.7", - "psr/container": "^1.0", - "symfony/dependency-injection": "^2.7|^3.3|^4.0", - "symfony/expression-language": "^2.6|^3.0", - "symfony/filesystem": "^2.1", - "symfony/form": "~2.1|^3.0", - "symfony/translation": "^2.1|^3.0", - "symfony/validator": "^2.2|^3.0", - "symfony/yaml": "^2.1|^3.0", - "twig/twig": "~1.12|~2.0" + "symfony/filesystem": "2.*", + "symfony/form": "~2.1", + "symfony/translation": "~2.0", + "symfony/validator": "~2.0", + "symfony/yaml": "2.*", + "twig/twig": ">=1.8,<2.0-dev" }, "suggest": { - "doctrine/cache": "Required if you like to use cache functionality.", - "doctrine/collections": "Required if you like to use doctrine collection types as ArrayCollection.", "symfony/yaml": "Required if you'd like to serialize data to YAML format." }, "type": "library", "extra": { "branch-alias": { - "dev-1.x": "1.14-dev" + "dev-master": "0.15-dev" } }, "autoload": { @@ -6627,16 +6700,14 @@ }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "Apache2" ], "authors": [ { - "name": "Asmir Mustafic", - "email": "goetas@gmail.com" - }, - { - "name": "Johannes M. Schmitt", - "email": "schmittjoh@gmail.com" + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com", + "homepage": "https://github.com/schmittjoh", + "role": "Developer of wrapped JMSSerializerBundle" } ], "description": "Library for (de-)serializing data of any complexity; supports XML, JSON, and YAML.", @@ -6648,7 +6719,7 @@ "serialization", "xml" ], - "time": "2019-04-17T08:12:16+00:00" + "time": "2014-03-18T08:39:00+00:00" }, { "name": "league/container", @@ -6889,23 +6960,23 @@ }, { "name": "mikey179/vfsstream", - "version": "v1.6.6", + "version": "v1.6.8", "source": { "type": "git", "url": "https://github.com/bovigo/vfsStream.git", - "reference": "095238a0711c974ae5b4ebf4c4534a23f3f6c99d" + "reference": "231c73783ebb7dd9ec77916c10037eff5a2b6efe" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/bovigo/vfsStream/zipball/095238a0711c974ae5b4ebf4c4534a23f3f6c99d", - "reference": "095238a0711c974ae5b4ebf4c4534a23f3f6c99d", + "url": "https://api.github.com/repos/bovigo/vfsStream/zipball/231c73783ebb7dd9ec77916c10037eff5a2b6efe", + "reference": "231c73783ebb7dd9ec77916c10037eff5a2b6efe", "shasum": "" }, "require": { "php": ">=5.3.0" }, "require-dev": { - "phpunit/phpunit": "~4.5" + "phpunit/phpunit": "^4.5|^5.0" }, "type": "library", "extra": { @@ -6925,75 +6996,26 @@ "authors": [ { "name": "Frank Kleine", - "role": "Developer", - "homepage": "http://frankkleine.de/" + "homepage": "http://frankkleine.de/", + "role": "Developer" } ], "description": "Virtual file system to mock the real file system in unit tests.", "homepage": "http://vfs.bovigo.org/", - "time": "2019-04-08T13:54:32+00:00" - }, - { - "name": "moontoast/math", - "version": "1.1.2", - "source": { - "type": "git", - "url": "https://github.com/ramsey/moontoast-math.git", - "reference": "c2792a25df5cad4ff3d760dd37078fc5b6fccc79" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ramsey/moontoast-math/zipball/c2792a25df5cad4ff3d760dd37078fc5b6fccc79", - "reference": "c2792a25df5cad4ff3d760dd37078fc5b6fccc79", - "shasum": "" - }, - "require": { - "ext-bcmath": "*", - "php": ">=5.3.3" - }, - "require-dev": { - "jakub-onderka/php-parallel-lint": "^0.9.0", - "phpunit/phpunit": "^4.7|>=5.0 <5.4", - "satooshi/php-coveralls": "^0.6.1", - "squizlabs/php_codesniffer": "^2.3" - }, - "type": "library", - "autoload": { - "psr-4": { - "Moontoast\\Math\\": "src/Moontoast/Math/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "Ben Ramsey", - "email": "ben@benramsey.com", - "homepage": "https://benramsey.com" - } - ], - "description": "A mathematics library, providing functionality for large numbers", - "homepage": "https://github.com/ramsey/moontoast-math", - "keywords": [ - "bcmath", - "math" - ], - "time": "2017-02-16T16:54:46+00:00" + "time": "2019-10-30T15:31:00+00:00" }, { "name": "mustache/mustache", - "version": "v2.12.0", + "version": "v2.13.0", "source": { "type": "git", "url": "https://github.com/bobthecow/mustache.php.git", - "reference": "fe8fe72e9d580591854de404cc59a1b83ca4d19e" + "reference": "e95c5a008c23d3151d59ea72484d4f72049ab7f4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/bobthecow/mustache.php/zipball/fe8fe72e9d580591854de404cc59a1b83ca4d19e", - "reference": "fe8fe72e9d580591854de404cc59a1b83ca4d19e", + "url": "https://api.github.com/repos/bobthecow/mustache.php/zipball/e95c5a008c23d3151d59ea72484d4f72049ab7f4", + "reference": "e95c5a008c23d3151d59ea72484d4f72049ab7f4", "shasum": "" }, "require": { @@ -7026,20 +7048,20 @@ "mustache", "templating" ], - "time": "2017-07-11T12:54:05+00:00" + "time": "2019-11-23T21:40:31+00:00" }, { "name": "myclabs/deep-copy", - "version": "1.9.1", + "version": "1.9.4", "source": { "type": "git", "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "e6828efaba2c9b79f4499dae1d66ef8bfa7b2b72" + "reference": "579bb7356d91f9456ccd505f24ca8b667966a0a7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/e6828efaba2c9b79f4499dae1d66ef8bfa7b2b72", - "reference": "e6828efaba2c9b79f4499dae1d66ef8bfa7b2b72", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/579bb7356d91f9456ccd505f24ca8b667966a0a7", + "reference": "579bb7356d91f9456ccd505f24ca8b667966a0a7", "shasum": "" }, "require": { @@ -7074,7 +7096,7 @@ "object", "object graph" ], - "time": "2019-04-07T13:18:21+00:00" + "time": "2019-12-15T19:12:40+00:00" }, { "name": "pdepend/pdepend", @@ -7319,35 +7341,33 @@ }, { "name": "phpdocumentor/reflection-common", - "version": "1.0.1", + "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6" + "reference": "63a995caa1ca9e5590304cd845c15ad6d482a62a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6", - "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/63a995caa1ca9e5590304cd845c15ad6d482a62a", + "reference": "63a995caa1ca9e5590304cd845c15ad6d482a62a", "shasum": "" }, "require": { - "php": ">=5.5" + "php": ">=7.1" }, "require-dev": { - "phpunit/phpunit": "^4.6" + "phpunit/phpunit": "~6" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "2.x-dev" } }, "autoload": { "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src" - ] + "phpDocumentor\\Reflection\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -7369,31 +7389,32 @@ "reflection", "static analysis" ], - "time": "2017-09-11T18:02:19+00:00" + "time": "2018-08-07T13:53:10+00:00" }, { "name": "phpdocumentor/reflection-docblock", - "version": "4.3.1", + "version": "4.3.4", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "bdd9f737ebc2a01c06ea7ff4308ec6697db9b53c" + "reference": "da3fd972d6bafd628114f7e7e036f45944b62e9c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/bdd9f737ebc2a01c06ea7ff4308ec6697db9b53c", - "reference": "bdd9f737ebc2a01c06ea7ff4308ec6697db9b53c", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/da3fd972d6bafd628114f7e7e036f45944b62e9c", + "reference": "da3fd972d6bafd628114f7e7e036f45944b62e9c", "shasum": "" }, "require": { "php": "^7.0", - "phpdocumentor/reflection-common": "^1.0.0", - "phpdocumentor/type-resolver": "^0.4.0", + "phpdocumentor/reflection-common": "^1.0.0 || ^2.0.0", + "phpdocumentor/type-resolver": "~0.4 || ^1.0.0", "webmozart/assert": "^1.0" }, "require-dev": { - "doctrine/instantiator": "~1.0.5", + "doctrine/instantiator": "^1.0.5", "mockery/mockery": "^1.0", + "phpdocumentor/type-resolver": "0.4.*", "phpunit/phpunit": "^6.4" }, "type": "library", @@ -7420,41 +7441,40 @@ } ], "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", - "time": "2019-04-30T17:48:53+00:00" + "time": "2019-12-28T18:55:12+00:00" }, { "name": "phpdocumentor/type-resolver", - "version": "0.4.0", + "version": "1.0.1", "source": { "type": "git", "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7" + "reference": "2e32a6d48972b2c1976ed5d8967145b6cec4a4a9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/9c977708995954784726e25d0cd1dddf4e65b0f7", - "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/2e32a6d48972b2c1976ed5d8967145b6cec4a4a9", + "reference": "2e32a6d48972b2c1976ed5d8967145b6cec4a4a9", "shasum": "" }, "require": { - "php": "^5.5 || ^7.0", - "phpdocumentor/reflection-common": "^1.0" + "php": "^7.1", + "phpdocumentor/reflection-common": "^2.0" }, "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^5.2||^4.8.24" + "ext-tokenizer": "^7.1", + "mockery/mockery": "~1", + "phpunit/phpunit": "^7.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "1.x-dev" } }, "autoload": { "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src/" - ] + "phpDocumentor\\Reflection\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -7467,7 +7487,8 @@ "email": "me@mikevanriel.com" } ], - "time": "2017-07-14T14:27:02+00:00" + "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", + "time": "2019-08-22T18:11:29+00:00" }, { "name": "phpmd/phpmd", @@ -7539,43 +7560,48 @@ }, { "name": "phpoption/phpoption", - "version": "1.5.0", + "version": "1.7.2", "source": { "type": "git", "url": "https://github.com/schmittjoh/php-option.git", - "reference": "94e644f7d2051a5f0fcf77d81605f152eecff0ed" + "reference": "77f7c4d2e65413aff5b5a8cc8b3caf7a28d81959" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/94e644f7d2051a5f0fcf77d81605f152eecff0ed", - "reference": "94e644f7d2051a5f0fcf77d81605f152eecff0ed", + "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/77f7c4d2e65413aff5b5a8cc8b3caf7a28d81959", + "reference": "77f7c4d2e65413aff5b5a8cc8b3caf7a28d81959", "shasum": "" }, "require": { - "php": ">=5.3.0" + "php": "^5.5.9 || ^7.0" }, "require-dev": { - "phpunit/phpunit": "4.7.*" + "bamarni/composer-bin-plugin": "^1.3", + "phpunit/phpunit": "^4.8.35 || ^5.0 || ^6.0 || ^7.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.3-dev" + "dev-master": "1.7-dev" } }, "autoload": { - "psr-0": { - "PhpOption\\": "src/" + "psr-4": { + "PhpOption\\": "src/PhpOption/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "Apache2" + "Apache-2.0" ], "authors": [ { "name": "Johannes M. Schmitt", "email": "schmittjoh@gmail.com" + }, + { + "name": "Graham Campbell", + "email": "graham@alt-three.com" } ], "description": "Option Type for PHP", @@ -7585,37 +7611,37 @@ "php", "type" ], - "time": "2015-07-25T16:39:46+00:00" + "time": "2019-12-15T19:35:24+00:00" }, { "name": "phpspec/prophecy", - "version": "1.8.1", + "version": "1.10.1", "source": { "type": "git", "url": "https://github.com/phpspec/prophecy.git", - "reference": "1927e75f4ed19131ec9bcc3b002e07fb1173ee76" + "reference": "cbe1df668b3fe136bcc909126a0f529a78d4cbbc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/1927e75f4ed19131ec9bcc3b002e07fb1173ee76", - "reference": "1927e75f4ed19131ec9bcc3b002e07fb1173ee76", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/cbe1df668b3fe136bcc909126a0f529a78d4cbbc", + "reference": "cbe1df668b3fe136bcc909126a0f529a78d4cbbc", "shasum": "" }, "require": { "doctrine/instantiator": "^1.0.2", "php": "^5.3|^7.0", - "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0", - "sebastian/comparator": "^1.1|^2.0|^3.0", + "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0|^5.0", + "sebastian/comparator": "^1.2.3|^2.0|^3.0", "sebastian/recursion-context": "^1.0|^2.0|^3.0" }, "require-dev": { - "phpspec/phpspec": "^2.5|^3.2", + "phpspec/phpspec": "^2.5 || ^3.2", "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5 || ^7.1" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.8.x-dev" + "dev-master": "1.10.x-dev" } }, "autoload": { @@ -7648,7 +7674,7 @@ "spy", "stub" ], - "time": "2019-06-13T12:50:23+00:00" + "time": "2019-12-22T21:05:45+00:00" }, { "name": "phpunit/php-code-coverage", @@ -8256,16 +8282,16 @@ }, { "name": "sebastian/exporter", - "version": "3.1.0", + "version": "3.1.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "234199f4528de6d12aaa58b612e98f7d36adb937" + "reference": "68609e1261d215ea5b21b7987539cbfbe156ec3e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/234199f4528de6d12aaa58b612e98f7d36adb937", - "reference": "234199f4528de6d12aaa58b612e98f7d36adb937", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/68609e1261d215ea5b21b7987539cbfbe156ec3e", + "reference": "68609e1261d215ea5b21b7987539cbfbe156ec3e", "shasum": "" }, "require": { @@ -8292,6 +8318,10 @@ "BSD-3-Clause" ], "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, { "name": "Jeff Welch", "email": "whatthejeff@gmail.com" @@ -8300,17 +8330,13 @@ "name": "Volker Dusch", "email": "github@wallbash.com" }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, { "name": "Adam Harvey", "email": "aharvey@php.net" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" } ], "description": "Provides the functionality to export PHP variables for visualization", @@ -8319,7 +8345,7 @@ "export", "exporter" ], - "time": "2017-04-03T13:19:02+00:00" + "time": "2019-09-14T09:02:43+00:00" }, { "name": "sebastian/finder-facade", @@ -8744,27 +8770,27 @@ }, { "name": "symfony/browser-kit", - "version": "v4.3.3", + "version": "v4.4.2", "source": { "type": "git", "url": "https://github.com/symfony/browser-kit.git", - "reference": "a29dd02a1f3f81b9a15c7730cc3226718ddb55ca" + "reference": "e19e465c055137938afd40cfddd687e7511bbbf0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/browser-kit/zipball/a29dd02a1f3f81b9a15c7730cc3226718ddb55ca", - "reference": "a29dd02a1f3f81b9a15c7730cc3226718ddb55ca", + "url": "https://api.github.com/repos/symfony/browser-kit/zipball/e19e465c055137938afd40cfddd687e7511bbbf0", + "reference": "e19e465c055137938afd40cfddd687e7511bbbf0", "shasum": "" }, "require": { "php": "^7.1.3", - "symfony/dom-crawler": "~3.4|~4.0" + "symfony/dom-crawler": "^3.4|^4.0|^5.0" }, "require-dev": { - "symfony/css-selector": "~3.4|~4.0", - "symfony/http-client": "^4.3", - "symfony/mime": "^4.3", - "symfony/process": "~3.4|~4.0" + "symfony/css-selector": "^3.4|^4.0|^5.0", + "symfony/http-client": "^4.3|^5.0", + "symfony/mime": "^4.3|^5.0", + "symfony/process": "^3.4|^4.0|^5.0" }, "suggest": { "symfony/process": "" @@ -8772,7 +8798,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.3-dev" + "dev-master": "4.4-dev" } }, "autoload": { @@ -8799,36 +8825,36 @@ ], "description": "Symfony BrowserKit Component", "homepage": "https://symfony.com", - "time": "2019-06-11T15:41:59+00:00" + "time": "2019-10-28T20:30:34+00:00" }, { "name": "symfony/config", - "version": "v4.3.3", + "version": "v4.4.2", "source": { "type": "git", "url": "https://github.com/symfony/config.git", - "reference": "a17a2aea43950ce83a0603ed301bac362eb86870" + "reference": "6911d432edd5b50822986604fd5a5be3af856d30" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/a17a2aea43950ce83a0603ed301bac362eb86870", - "reference": "a17a2aea43950ce83a0603ed301bac362eb86870", + "url": "https://api.github.com/repos/symfony/config/zipball/6911d432edd5b50822986604fd5a5be3af856d30", + "reference": "6911d432edd5b50822986604fd5a5be3af856d30", "shasum": "" }, "require": { "php": "^7.1.3", - "symfony/filesystem": "~3.4|~4.0", + "symfony/filesystem": "^3.4|^4.0|^5.0", "symfony/polyfill-ctype": "~1.8" }, "conflict": { "symfony/finder": "<3.4" }, "require-dev": { - "symfony/dependency-injection": "~3.4|~4.0", - "symfony/event-dispatcher": "~3.4|~4.0", - "symfony/finder": "~3.4|~4.0", - "symfony/messenger": "~4.1", - "symfony/yaml": "~3.4|~4.0" + "symfony/event-dispatcher": "^3.4|^4.0|^5.0", + "symfony/finder": "^3.4|^4.0|^5.0", + "symfony/messenger": "^4.1|^5.0", + "symfony/service-contracts": "^1.1|^2", + "symfony/yaml": "^3.4|^4.0|^5.0" }, "suggest": { "symfony/yaml": "To use the yaml reference dumper" @@ -8836,7 +8862,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.3-dev" + "dev-master": "4.4-dev" } }, "autoload": { @@ -8863,29 +8889,29 @@ ], "description": "Symfony Config Component", "homepage": "https://symfony.com", - "time": "2019-07-18T10:34:59+00:00" + "time": "2019-12-18T12:00:29+00:00" }, { "name": "symfony/dependency-injection", - "version": "v4.3.3", + "version": "v4.4.2", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "9ad1b83d474ae17156f6914cb81ffe77aeac3a9b" + "reference": "79b0358207a3571cc3af02a57d0321927921f539" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/9ad1b83d474ae17156f6914cb81ffe77aeac3a9b", - "reference": "9ad1b83d474ae17156f6914cb81ffe77aeac3a9b", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/79b0358207a3571cc3af02a57d0321927921f539", + "reference": "79b0358207a3571cc3af02a57d0321927921f539", "shasum": "" }, "require": { "php": "^7.1.3", "psr/container": "^1.0", - "symfony/service-contracts": "^1.1.2" + "symfony/service-contracts": "^1.1.6|^2" }, "conflict": { - "symfony/config": "<4.3", + "symfony/config": "<4.3|>=5.0", "symfony/finder": "<3.4", "symfony/proxy-manager-bridge": "<3.4", "symfony/yaml": "<3.4" @@ -8896,8 +8922,8 @@ }, "require-dev": { "symfony/config": "^4.3", - "symfony/expression-language": "~3.4|~4.0", - "symfony/yaml": "~3.4|~4.0" + "symfony/expression-language": "^3.4|^4.0|^5.0", + "symfony/yaml": "^3.4|^4.0|^5.0" }, "suggest": { "symfony/config": "", @@ -8909,7 +8935,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.3-dev" + "dev-master": "4.4-dev" } }, "autoload": { @@ -8936,20 +8962,20 @@ ], "description": "Symfony DependencyInjection Component", "homepage": "https://symfony.com", - "time": "2019-07-26T07:03:43+00:00" + "time": "2019-12-19T16:00:02+00:00" }, { "name": "symfony/dom-crawler", - "version": "v4.3.3", + "version": "v4.4.2", "source": { "type": "git", "url": "https://github.com/symfony/dom-crawler.git", - "reference": "291397232a2eefb3347eaab9170409981eaad0e2" + "reference": "36bbcab9369fc2f583220890efd43bf262d563fd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/291397232a2eefb3347eaab9170409981eaad0e2", - "reference": "291397232a2eefb3347eaab9170409981eaad0e2", + "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/36bbcab9369fc2f583220890efd43bf262d563fd", + "reference": "36bbcab9369fc2f583220890efd43bf262d563fd", "shasum": "" }, "require": { @@ -8962,7 +8988,7 @@ }, "require-dev": { "masterminds/html5": "^2.6", - "symfony/css-selector": "~3.4|~4.0" + "symfony/css-selector": "^3.4|^4.0|^5.0" }, "suggest": { "symfony/css-selector": "" @@ -8970,7 +8996,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.3-dev" + "dev-master": "4.4-dev" } }, "autoload": { @@ -8997,35 +9023,35 @@ ], "description": "Symfony DomCrawler Component", "homepage": "https://symfony.com", - "time": "2019-06-13T11:03:18+00:00" + "time": "2019-10-29T11:38:30+00:00" }, { "name": "symfony/http-foundation", - "version": "v4.3.3", + "version": "v2.8.52", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "8b778ee0c27731105fbf1535f51793ad1ae0ba2b" + "reference": "3929d9fe8148d17819ad0178c748b8d339420709" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/8b778ee0c27731105fbf1535f51793ad1ae0ba2b", - "reference": "8b778ee0c27731105fbf1535f51793ad1ae0ba2b", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/3929d9fe8148d17819ad0178c748b8d339420709", + "reference": "3929d9fe8148d17819ad0178c748b8d339420709", "shasum": "" }, "require": { - "php": "^7.1.3", - "symfony/mime": "^4.3", - "symfony/polyfill-mbstring": "~1.1" + "php": ">=5.3.9", + "symfony/polyfill-mbstring": "~1.1", + "symfony/polyfill-php54": "~1.0", + "symfony/polyfill-php55": "~1.0" }, "require-dev": { - "predis/predis": "~1.0", - "symfony/expression-language": "~3.4|~4.0" + "symfony/expression-language": "~2.4|~3.0.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.3-dev" + "dev-master": "2.8-dev" } }, "autoload": { @@ -9052,40 +9078,34 @@ ], "description": "Symfony HttpFoundation Component", "homepage": "https://symfony.com", - "time": "2019-07-23T11:21:36+00:00" + "time": "2019-11-12T12:34:41+00:00" }, { - "name": "symfony/mime", - "version": "v4.3.3", + "name": "symfony/options-resolver", + "version": "v4.4.2", "source": { "type": "git", - "url": "https://github.com/symfony/mime.git", - "reference": "6b7148029b1dd5eda1502064f06d01357b7b2d8b" + "url": "https://github.com/symfony/options-resolver.git", + "reference": "2be23e63f33de16b49294ea6581f462932a77e2f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/6b7148029b1dd5eda1502064f06d01357b7b2d8b", - "reference": "6b7148029b1dd5eda1502064f06d01357b7b2d8b", + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/2be23e63f33de16b49294ea6581f462932a77e2f", + "reference": "2be23e63f33de16b49294ea6581f462932a77e2f", "shasum": "" }, "require": { - "php": "^7.1.3", - "symfony/polyfill-intl-idn": "^1.10", - "symfony/polyfill-mbstring": "^1.0" - }, - "require-dev": { - "egulias/email-validator": "^2.0", - "symfony/dependency-injection": "~3.4|^4.1" + "php": "^7.1.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.3-dev" + "dev-master": "4.4-dev" } }, "autoload": { "psr-4": { - "Symfony\\Component\\Mime\\": "" + "Symfony\\Component\\OptionsResolver\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -9105,43 +9125,47 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "A library to manipulate MIME messages", + "description": "Symfony OptionsResolver Component", "homepage": "https://symfony.com", "keywords": [ - "mime", - "mime-type" + "config", + "configuration", + "options" ], - "time": "2019-07-19T16:21:19+00:00" + "time": "2019-10-28T21:57:16+00:00" }, { - "name": "symfony/options-resolver", - "version": "v4.3.3", + "name": "symfony/polyfill-php54", + "version": "v1.13.1", "source": { "type": "git", - "url": "https://github.com/symfony/options-resolver.git", - "reference": "40762ead607c8f792ee4516881369ffa553fee6f" + "url": "https://github.com/symfony/polyfill-php54.git", + "reference": "dd1618047426412036e98d159940d58a81fc392c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/options-resolver/zipball/40762ead607c8f792ee4516881369ffa553fee6f", - "reference": "40762ead607c8f792ee4516881369ffa553fee6f", + "url": "https://api.github.com/repos/symfony/polyfill-php54/zipball/dd1618047426412036e98d159940d58a81fc392c", + "reference": "dd1618047426412036e98d159940d58a81fc392c", "shasum": "" }, "require": { - "php": "^7.1.3" + "php": ">=5.3.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.3-dev" + "dev-master": "1.13-dev" } }, "autoload": { "psr-4": { - "Symfony\\Component\\OptionsResolver\\": "" + "Symfony\\Polyfill\\Php54\\": "" }, - "exclude-from-classmap": [ - "/Tests/" + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" ] }, "notification-url": "https://packagist.org/downloads/", @@ -9150,54 +9174,51 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony OptionsResolver Component", + "description": "Symfony polyfill backporting some PHP 5.4+ features to lower PHP versions", "homepage": "https://symfony.com", "keywords": [ - "config", - "configuration", - "options" + "compatibility", + "polyfill", + "portable", + "shim" ], - "time": "2019-06-13T11:01:17+00:00" + "time": "2019-11-27T13:56:44+00:00" }, { - "name": "symfony/polyfill-intl-idn", - "version": "v1.11.0", + "name": "symfony/polyfill-php55", + "version": "v1.13.1", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "c766e95bec706cdd89903b1eda8afab7d7a6b7af" + "url": "https://github.com/symfony/polyfill-php55.git", + "reference": "b0d838f225725e2951af1aafc784d2e5ea7b656e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/c766e95bec706cdd89903b1eda8afab7d7a6b7af", - "reference": "c766e95bec706cdd89903b1eda8afab7d7a6b7af", + "url": "https://api.github.com/repos/symfony/polyfill-php55/zipball/b0d838f225725e2951af1aafc784d2e5ea7b656e", + "reference": "b0d838f225725e2951af1aafc784d2e5ea7b656e", "shasum": "" }, "require": { - "php": ">=5.3.3", - "symfony/polyfill-mbstring": "^1.3", - "symfony/polyfill-php72": "^1.9" - }, - "suggest": { - "ext-intl": "For best performance" + "ircmaxell/password-compat": "~1.0", + "php": ">=5.3.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.9-dev" + "dev-master": "1.13-dev" } }, "autoload": { "psr-4": { - "Symfony\\Polyfill\\Intl\\Idn\\": "" + "Symfony\\Polyfill\\Php55\\": "" }, "files": [ "bootstrap.php" @@ -9209,38 +9230,36 @@ ], "authors": [ { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { - "name": "Laurent Bassin", - "email": "laurent@bassin.info" + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions", + "description": "Symfony polyfill backporting some PHP 5.5+ features to lower PHP versions", "homepage": "https://symfony.com", "keywords": [ "compatibility", - "idn", - "intl", "polyfill", "portable", "shim" ], - "time": "2019-03-04T13:44:35+00:00" + "time": "2019-11-27T13:56:44+00:00" }, { "name": "symfony/polyfill-php70", - "version": "v1.11.0", + "version": "v1.13.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php70.git", - "reference": "bc4858fb611bda58719124ca079baff854149c89" + "reference": "af23c7bb26a73b850840823662dda371484926c4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/bc4858fb611bda58719124ca079baff854149c89", - "reference": "bc4858fb611bda58719124ca079baff854149c89", + "url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/af23c7bb26a73b850840823662dda371484926c4", + "reference": "af23c7bb26a73b850840823662dda371484926c4", "shasum": "" }, "require": { @@ -9250,7 +9269,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.11-dev" + "dev-master": "1.13-dev" } }, "autoload": { @@ -9286,20 +9305,20 @@ "portable", "shim" ], - "time": "2019-02-06T07:57:58+00:00" + "time": "2019-11-27T13:56:44+00:00" }, { "name": "symfony/polyfill-php72", - "version": "v1.11.0", + "version": "v1.13.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php72.git", - "reference": "ab50dcf166d5f577978419edd37aa2bb8eabce0c" + "reference": "66fea50f6cb37a35eea048d75a7d99a45b586038" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/ab50dcf166d5f577978419edd37aa2bb8eabce0c", - "reference": "ab50dcf166d5f577978419edd37aa2bb8eabce0c", + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/66fea50f6cb37a35eea048d75a7d99a45b586038", + "reference": "66fea50f6cb37a35eea048d75a7d99a45b586038", "shasum": "" }, "require": { @@ -9308,7 +9327,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.11-dev" + "dev-master": "1.13-dev" } }, "autoload": { @@ -9341,88 +9360,30 @@ "portable", "shim" ], - "time": "2019-02-06T07:57:58+00:00" - }, - { - "name": "symfony/service-contracts", - "version": "v1.1.5", - "source": { - "type": "git", - "url": "https://github.com/symfony/service-contracts.git", - "reference": "f391a00de78ec7ec8cf5cdcdae59ec7b883edb8d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/f391a00de78ec7ec8cf5cdcdae59ec7b883edb8d", - "reference": "f391a00de78ec7ec8cf5cdcdae59ec7b883edb8d", - "shasum": "" - }, - "require": { - "php": "^7.1.3", - "psr/container": "^1.0" - }, - "suggest": { - "symfony/service-implementation": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Contracts\\Service\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Generic abstractions related to writing services", - "homepage": "https://symfony.com", - "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" - ], - "time": "2019-06-13T11:15:36+00:00" + "time": "2019-11-27T13:56:44+00:00" }, { "name": "symfony/stopwatch", - "version": "v4.3.3", + "version": "v4.4.2", "source": { "type": "git", "url": "https://github.com/symfony/stopwatch.git", - "reference": "6b100e9309e8979cf1978ac1778eb155c1f7d93b" + "reference": "5745b514fc56ae1907c6b8ed74f94f90f64694e9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/stopwatch/zipball/6b100e9309e8979cf1978ac1778eb155c1f7d93b", - "reference": "6b100e9309e8979cf1978ac1778eb155c1f7d93b", + "url": "https://api.github.com/repos/symfony/stopwatch/zipball/5745b514fc56ae1907c6b8ed74f94f90f64694e9", + "reference": "5745b514fc56ae1907c6b8ed74f94f90f64694e9", "shasum": "" }, "require": { "php": "^7.1.3", - "symfony/service-contracts": "^1.0" + "symfony/service-contracts": "^1.0|^2" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.3-dev" + "dev-master": "4.4-dev" } }, "autoload": { @@ -9449,31 +9410,31 @@ ], "description": "Symfony Stopwatch Component", "homepage": "https://symfony.com", - "time": "2019-05-27T08:16:38+00:00" + "time": "2019-11-05T16:11:08+00:00" }, { "name": "symfony/yaml", - "version": "v3.4.30", + "version": "v4.4.2", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "051d045c684148060ebfc9affb7e3f5e0899d40b" + "reference": "a08832b974dd5fafe3085a66d41fe4c84bb2628c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/051d045c684148060ebfc9affb7e3f5e0899d40b", - "reference": "051d045c684148060ebfc9affb7e3f5e0899d40b", + "url": "https://api.github.com/repos/symfony/yaml/zipball/a08832b974dd5fafe3085a66d41fe4c84bb2628c", + "reference": "a08832b974dd5fafe3085a66d41fe4c84bb2628c", "shasum": "" }, "require": { - "php": "^5.5.9|>=7.0.8", + "php": "^7.1.3", "symfony/polyfill-ctype": "~1.8" }, "conflict": { "symfony/console": "<3.4" }, "require-dev": { - "symfony/console": "~3.4|~4.0" + "symfony/console": "^3.4|^4.0|^5.0" }, "suggest": { "symfony/console": "For validating YAML files using the lint command" @@ -9481,7 +9442,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "3.4-dev" + "dev-master": "4.4-dev" } }, "autoload": { @@ -9508,7 +9469,7 @@ ], "description": "Symfony Yaml Component", "homepage": "https://symfony.com", - "time": "2019-07-24T13:01:31+00:00" + "time": "2019-12-10T10:33:21+00:00" }, { "name": "theseer/fdomdocument", @@ -9643,32 +9604,29 @@ }, { "name": "webmozart/assert", - "version": "1.4.0", + "version": "1.6.0", "source": { "type": "git", "url": "https://github.com/webmozart/assert.git", - "reference": "83e253c8e0be5b0257b881e1827274667c5c17a9" + "reference": "573381c0a64f155a0d9a23f4b0c797194805b925" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/83e253c8e0be5b0257b881e1827274667c5c17a9", - "reference": "83e253c8e0be5b0257b881e1827274667c5c17a9", + "url": "https://api.github.com/repos/webmozart/assert/zipball/573381c0a64f155a0d9a23f4b0c797194805b925", + "reference": "573381c0a64f155a0d9a23f4b0c797194805b925", "shasum": "" }, "require": { "php": "^5.3.3 || ^7.0", "symfony/polyfill-ctype": "^1.8" }, + "conflict": { + "vimeo/psalm": "<3.6.0" + }, "require-dev": { - "phpunit/phpunit": "^4.6", - "sebastian/version": "^1.0.1" + "phpunit/phpunit": "^4.8.36 || ^7.5.13" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3-dev" - } - }, "autoload": { "psr-4": { "Webmozart\\Assert\\": "src/" @@ -9690,7 +9648,7 @@ "check", "validate" ], - "time": "2018-12-25T11:19:39+00:00" + "time": "2019-11-24T13:36:37+00:00" } ], "aliases": [], @@ -9698,7 +9656,7 @@ "stability-flags": { "phpmd/phpmd": 0 }, - "prefer-stable": true, + "prefer-stable": false, "prefer-lowest": false, "platform": { "php": "~7.1.3||~7.2.0||~7.3.0", diff --git a/dev/tests/integration/_files/Magento/TestModuleSimpleTemplateDirective/Model/FooFilter.php b/dev/tests/integration/_files/Magento/TestModuleSimpleTemplateDirective/Model/FooFilter.php new file mode 100644 index 0000000000000..9cdf909f41823 --- /dev/null +++ b/dev/tests/integration/_files/Magento/TestModuleSimpleTemplateDirective/Model/FooFilter.php @@ -0,0 +1,36 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ + +declare(strict_types=1); + +namespace Magento\TestModuleSimpleTemplateDirective\Model; + +use Magento\Framework\Filter\SimpleDirective\ProcessorInterface; +use Magento\Framework\Filter\Template; + +/** + * Filters a value for testing purposes + */ +class FooFilter implements \Magento\Framework\Filter\DirectiveProcessor\FilterInterface +{ + /** + * @inheritDoc + */ + public function filterValue(string $value, array $params): string + { + $arg1 = $params[0] ?? null; + + return strtoupper(strrev($value . $arg1 ?? '')); + } + + /** + * @inheritDoc + */ + public function getName(): string + { + return 'foofilter'; + } +} diff --git a/dev/tests/integration/_files/Magento/TestModuleSimpleTemplateDirective/Model/LegacyFilter.php b/dev/tests/integration/_files/Magento/TestModuleSimpleTemplateDirective/Model/LegacyFilter.php new file mode 100644 index 0000000000000..2f45183585dec --- /dev/null +++ b/dev/tests/integration/_files/Magento/TestModuleSimpleTemplateDirective/Model/LegacyFilter.php @@ -0,0 +1,39 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ + +declare(strict_types=1); + +namespace Magento\TestModuleSimpleTemplateDirective\Model; + +use Magento\Framework\Filter\Template; + +/** + * A legacy directive test entity + */ +class LegacyFilter extends Template +{ + /** + * Filter a directive + * + * @param $construction + * @return string + */ + protected function coolDirective($construction) + { + return 'value1: ' . $construction[1] . ':' . $construction[2]; + } + + /** + * Filter a directive + * + * @param $construction + * @return string + */ + public function coolerDirective($construction) + { + return 'value2: ' . $construction[1] . ':' . $construction[2]; + } +} diff --git a/dev/tests/integration/_files/Magento/TestModuleSimpleTemplateDirective/Model/MyDirProcessor.php b/dev/tests/integration/_files/Magento/TestModuleSimpleTemplateDirective/Model/MyDirProcessor.php new file mode 100644 index 0000000000000..faf4728f3c338 --- /dev/null +++ b/dev/tests/integration/_files/Magento/TestModuleSimpleTemplateDirective/Model/MyDirProcessor.php @@ -0,0 +1,45 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ + +declare(strict_types=1); + +namespace Magento\TestModuleSimpleTemplateDirective\Model; + +use Magento\Framework\Filter\SimpleDirective\ProcessorInterface; +use Magento\Framework\Filter\Template; + +/** + * Handles the {{mydir}} directive + */ +class MyDirProcessor implements ProcessorInterface +{ + /** + * @inheritDoc + */ + public function getName(): string + { + return 'mydir'; + } + + /** + * @inheritDoc + */ + public function process( + $value, + array $parameters, + ?string $html + ): string { + return $value . $parameters['param1'] . $html; + } + + /** + * @inheritDoc + */ + public function getDefaultFilters(): ?array + { + return ['foofilter']; + } +} diff --git a/dev/tests/integration/_files/Magento/TestModuleSimpleTemplateDirective/etc/di.xml b/dev/tests/integration/_files/Magento/TestModuleSimpleTemplateDirective/etc/di.xml new file mode 100644 index 0000000000000..e102c28c7307d --- /dev/null +++ b/dev/tests/integration/_files/Magento/TestModuleSimpleTemplateDirective/etc/di.xml @@ -0,0 +1,23 @@ +<?xml version="1.0"?> +<!-- +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ +--> +<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd"> + <type name="Magento\Framework\Filter\SimpleDirective\ProcessorPool"> + <arguments> + <argument name="processors" xsi:type="array"> + <item name="mydir" xsi:type="object">Magento\TestModuleSimpleTemplateDirective\Model\MyDirProcessor</item> + </argument> + </arguments> + </type> + <type name="Magento\Framework\Filter\DirectiveProcessor\Filter\FilterPool"> + <arguments> + <argument name="filters" xsi:type="array"> + <item name="foofilter" xsi:type="object">Magento\TestModuleSimpleTemplateDirective\Model\FooFilter</item> + </argument> + </arguments> + </type> +</config> diff --git a/dev/tests/integration/_files/Magento/TestModuleSimpleTemplateDirective/etc/module.xml b/dev/tests/integration/_files/Magento/TestModuleSimpleTemplateDirective/etc/module.xml new file mode 100644 index 0000000000000..30f1c3f08cbfe --- /dev/null +++ b/dev/tests/integration/_files/Magento/TestModuleSimpleTemplateDirective/etc/module.xml @@ -0,0 +1,10 @@ +<?xml version="1.0"?> +<!-- +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ +--> +<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd"> + <module name="Magento_TestModuleSimpleTemplateDirective" /> +</config> diff --git a/dev/tests/integration/_files/Magento/TestModuleSimpleTemplateDirective/registration.php b/dev/tests/integration/_files/Magento/TestModuleSimpleTemplateDirective/registration.php new file mode 100644 index 0000000000000..4b1c200857b90 --- /dev/null +++ b/dev/tests/integration/_files/Magento/TestModuleSimpleTemplateDirective/registration.php @@ -0,0 +1,12 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ + +use Magento\Framework\Component\ComponentRegistrar; + +$registrar = new ComponentRegistrar(); +if ($registrar->getPath(ComponentRegistrar::MODULE, 'Magento_TestModuleSimpleTemplateDirective') === null) { + ComponentRegistrar::register(ComponentRegistrar::MODULE, 'Magento_TestModuleSimpleTemplateDirective', __DIR__); +} diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Model/CategoryTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Model/CategoryTest.php index 1d7936d740b8d..23fae05a74451 100644 --- a/dev/tests/integration/testsuite/Magento/Catalog/Model/CategoryTest.php +++ b/dev/tests/integration/testsuite/Magento/Catalog/Model/CategoryTest.php @@ -3,26 +3,44 @@ * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ + +declare(strict_types=1); + namespace Magento\Catalog\Model; +use Magento\Catalog\Api\CategoryRepositoryInterface; +use Magento\Catalog\Model\Category as Category; +use Magento\Catalog\Model\ResourceModel\Category as CategoryResource; +use Magento\Catalog\Model\ResourceModel\Category\Collection; +use Magento\Catalog\Model\ResourceModel\Category\Tree; +use Magento\Catalog\Model\ResourceModel\Product\Collection as ProductCollection; +use Magento\Eav\Model\Entity\Attribute\Exception as AttributeException; +use Magento\Framework\Url; +use Magento\Store\Api\StoreRepositoryInterface; +use Magento\Store\Model\Store; +use Magento\Store\Model\StoreManagerInterface; +use Magento\TestFramework\Helper\Bootstrap; +use PHPUnit\Framework\TestCase; + /** * Test class for \Magento\Catalog\Model\Category. * - general behaviour is tested * + * @SuppressWarnings(PHPMD.CouplingBetweenObjects) * @see \Magento\Catalog\Model\CategoryTreeTest * @magentoDataFixture Magento/Catalog/_files/categories.php * @magentoDbIsolation enabled * @magentoAppIsolation enabled */ -class CategoryTest extends \PHPUnit\Framework\TestCase +class CategoryTest extends TestCase { /** - * @var \Magento\Store\Model\Store + * @var Store */ protected $_store; /** - * @var \Magento\Catalog\Model\Category + * @var Category */ protected $_model; @@ -31,50 +49,61 @@ class CategoryTest extends \PHPUnit\Framework\TestCase */ protected $objectManager; + /** @var CategoryRepository */ + private $categoryResource; + + /** @var CategoryRepositoryInterface */ + private $categoryRepository; + + /** + * @inheritdoc + */ protected function setUp() { - $this->objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager(); - /** @var $storeManager \Magento\Store\Model\StoreManagerInterface */ - $storeManager = $this->objectManager->get(\Magento\Store\Model\StoreManagerInterface::class); + $this->objectManager = Bootstrap::getObjectManager(); + /** @var $storeManager StoreManagerInterface */ + $storeManager = $this->objectManager->get(StoreManagerInterface::class); $this->_store = $storeManager->getStore(); - $this->_model = $this->objectManager->create(\Magento\Catalog\Model\Category::class); + $this->_model = $this->objectManager->create(Category::class); + $this->categoryResource = $this->objectManager->get(CategoryResource::class); + $this->categoryRepository = $this->objectManager->get(CategoryRepositoryInterface::class); } - public function testGetUrlInstance() + public function testGetUrlInstance(): void { $instance = $this->_model->getUrlInstance(); - $this->assertInstanceOf(\Magento\Framework\Url::class, $instance); + $this->assertInstanceOf(Url::class, $instance); $this->assertSame($instance, $this->_model->getUrlInstance()); } - public function testGetTreeModel() + public function testGetTreeModel(): void { $model = $this->_model->getTreeModel(); - $this->assertInstanceOf(\Magento\Catalog\Model\ResourceModel\Category\Tree::class, $model); + $this->assertInstanceOf(Tree::class, $model); $this->assertNotSame($model, $this->_model->getTreeModel()); } - public function testGetTreeModelInstance() + public function testGetTreeModelInstance(): void { $model = $this->_model->getTreeModelInstance(); - $this->assertInstanceOf(\Magento\Catalog\Model\ResourceModel\Category\Tree::class, $model); + $this->assertInstanceOf(Tree::class, $model); $this->assertSame($model, $this->_model->getTreeModelInstance()); } - public function testGetDefaultAttributeSetId() + public function testGetDefaultAttributeSetId(): void { /* based on value installed in DB */ $this->assertEquals(3, $this->_model->getDefaultAttributeSetId()); } - public function testGetProductCollection() + public function testGetProductCollection(): void { $collection = $this->_model->getProductCollection(); - $this->assertInstanceOf(\Magento\Catalog\Model\ResourceModel\Product\Collection::class, $collection); + $this->assertInstanceOf(ProductCollection::class, $collection); $this->assertEquals($this->_model->getStoreId(), $collection->getStoreId()); } - public function testGetAttributes() + public function testGetAttributes(): void { $attributes = $this->_model->getAttributes(); $this->assertArrayHasKey('name', $attributes); @@ -85,7 +114,7 @@ public function testGetAttributes() $this->assertArrayNotHasKey('custom_design', $attributes); } - public function testGetProductsPosition() + public function testGetProductsPosition(): void { $this->assertEquals([], $this->_model->getProductsPosition()); $this->_model->unsetData(); @@ -97,23 +126,21 @@ public function testGetProductsPosition() $this->assertNotEmpty($this->_model->getProductsPosition()); } - public function testGetStoreIds() + public function testGetStoreIds(): void { $this->_model = $this->getCategoryByName('Category 1.1'); /* id from fixture */ $this->assertContains( - \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get( - \Magento\Store\Model\StoreManagerInterface::class - )->getStore()->getId(), + Bootstrap::getObjectManager()->get(StoreManagerInterface::class)->getStore()->getId(), $this->_model->getStoreIds() ); } - public function testSetGetStoreId() + public function testSetGetStoreId(): void { $this->assertEquals( - \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get( - \Magento\Store\Model\StoreManagerInterface::class + Bootstrap::getObjectManager()->get( + StoreManagerInterface::class )->getStore()->getId(), $this->_model->getStoreId() ); @@ -126,10 +153,10 @@ public function testSetGetStoreId() * @magentoAppIsolation enabled * @magentoConfigFixture current_store catalog/frontend/flat_catalog_product 1 */ - public function testSetStoreIdWithNonNumericValue() + public function testSetStoreIdWithNonNumericValue(): void { - /** @var $store \Magento\Store\Model\Store */ - $store = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create(\Magento\Store\Model\Store::class); + /** @var $store Store */ + $store = Bootstrap::getObjectManager()->create(Store::class); $store->load('fixturestore'); $this->assertNotEquals($this->_model->getStoreId(), $store->getId()); @@ -139,7 +166,7 @@ public function testSetStoreIdWithNonNumericValue() $this->assertEquals($this->_model->getStoreId(), $store->getId()); } - public function testGetUrl() + public function testGetUrl(): void { $this->assertStringEndsWith('catalog/category/view/', $this->_model->getUrl()); @@ -156,42 +183,42 @@ public function testGetUrl() $this->assertStringEndsWith('catalog/category/view/id/1000/', $this->_model->getUrl()); } - public function testGetCategoryIdUrl() + public function testGetCategoryIdUrl(): void { $this->assertStringEndsWith('catalog/category/view/', $this->_model->getCategoryIdUrl()); $this->_model->setUrlKey('test_key'); $this->assertStringEndsWith('catalog/category/view/s/test_key/', $this->_model->getCategoryIdUrl()); } - public function testFormatUrlKey() + public function testFormatUrlKey(): void { $this->assertEquals('test', $this->_model->formatUrlKey('test')); $this->assertEquals('test-some-chars-5', $this->_model->formatUrlKey('test-some#-chars^5')); $this->assertEquals('test', $this->_model->formatUrlKey('test-????????')); } - public function testGetImageUrl() + public function testGetImageUrl(): void { $this->assertFalse($this->_model->getImageUrl()); $this->_model->setImage('test.gif'); $this->assertStringEndsWith('media/catalog/category/test.gif', $this->_model->getImageUrl()); } - public function testGetCustomDesignDate() + public function testGetCustomDesignDate(): void { $dates = $this->_model->getCustomDesignDate(); $this->assertArrayHasKey('from', $dates); $this->assertArrayHasKey('to', $dates); } - public function testGetDesignAttributes() + public function testGetDesignAttributes(): void { $attributes = $this->_model->getDesignAttributes(); $this->assertContains('custom_design_from', array_keys($attributes)); $this->assertContains('custom_design_to', array_keys($attributes)); } - public function testCheckId() + public function testCheckId(): void { $this->_model = $this->getCategoryByName('Category 1.1.1'); $categoryId = $this->_model->getId(); @@ -199,13 +226,13 @@ public function testCheckId() $this->assertFalse($this->_model->checkId(111)); } - public function testVerifyIds() + public function testVerifyIds(): void { $ids = $this->_model->verifyIds($this->_model->getParentIds()); $this->assertNotContains(100, $ids); } - public function testHasChildren() + public function testHasChildren(): void { $this->_model->load(3); $this->assertTrue($this->_model->hasChildren()); @@ -213,21 +240,21 @@ public function testHasChildren() $this->assertFalse($this->_model->hasChildren()); } - public function testGetRequestPath() + public function testGetRequestPath(): void { $this->assertNull($this->_model->getRequestPath()); $this->_model->setData('request_path', 'test'); $this->assertEquals('test', $this->_model->getRequestPath()); } - public function testGetName() + public function testGetName(): void { $this->assertNull($this->_model->getName()); $this->_model->setData('name', 'test'); $this->assertEquals('test', $this->_model->getName()); } - public function testGetProductCount() + public function testGetProductCount(): void { $this->_model->load(6); $this->assertEquals(0, $this->_model->getProductCount()); @@ -236,14 +263,14 @@ public function testGetProductCount() $this->assertEquals(1, $this->_model->getProductCount()); } - public function testGetAvailableSortBy() + public function testGetAvailableSortBy(): void { $this->assertEquals([], $this->_model->getAvailableSortBy()); $this->_model->setData('available_sort_by', 'test,and,test'); $this->assertEquals(['test', 'and', 'test'], $this->_model->getAvailableSortBy()); } - public function testGetAvailableSortByOptions() + public function testGetAvailableSortByOptions(): void { $options = $this->_model->getAvailableSortByOptions(); $this->assertContains('price', array_keys($options)); @@ -251,25 +278,27 @@ public function testGetAvailableSortByOptions() $this->assertContains('name', array_keys($options)); } - public function testGetDefaultSortBy() + public function testGetDefaultSortBy(): void { $this->assertEquals('position', $this->_model->getDefaultSortBy()); } - public function testValidate() + public function testValidate(): void { - $this->_model->addData([ - "include_in_menu" => false, - "is_active" => false, - 'name' => 'test', - ]); + $this->_model->addData( + [ + "include_in_menu" => false, + "is_active" => false, + 'name' => 'test', + ] + ); $this->assertNotEmpty($this->_model->validate()); } /** * @magentoDataFixture Magento/Catalog/_files/category_with_position.php */ - public function testSaveCategoryWithPosition() + public function testSaveCategoryWithPosition(): void { $category = $this->_model->load('444'); $this->assertEquals('5', $category->getPosition()); @@ -278,10 +307,10 @@ public function testSaveCategoryWithPosition() /** * @magentoDbIsolation enabled */ - public function testSaveCategoryWithoutImage() + public function testSaveCategoryWithoutImage(): void { - $model = $this->objectManager->create(\Magento\Catalog\Model\Category::class); - $repository = $this->objectManager->get(\Magento\Catalog\Api\CategoryRepositoryInterface::class); + $model = $this->objectManager->create(Category::class); + $repository = $this->objectManager->get(CategoryRepositoryInterface::class); $model->setName('Test Category 100') ->setParentId(2) @@ -299,7 +328,7 @@ public function testSaveCategoryWithoutImage() /** * @magentoAppArea adminhtml */ - public function testDeleteChildren() + public function testDeleteChildren(): void { $this->_model->unsetData(); $this->_model->load(4); @@ -320,29 +349,101 @@ public function testDeleteChildren() $this->assertEquals($this->_model->getId(), null); } + /** + * @magentoDataFixture Magento/Catalog/_files/category.php + */ + public function testAddChildCategory(): void + { + $data = [ + 'name' => 'Child Category', + 'path' => '1/2/333', + 'is_active' => '1', + 'include_in_menu' => '1', + ]; + $this->_model->setData($data); + $this->categoryResource->save($this->_model); + $parentCategory = $this->categoryRepository->get(333); + $this->assertContains($this->_model->getId(), $parentCategory->getChildren()); + } + + /** + * @return void + */ + public function testMissingRequiredAttribute(): void + { + $data = [ + 'path' => '1/2', + 'is_active' => '1', + 'include_in_menu' => '1', + ]; + $this->expectException(AttributeException::class); + $this->expectExceptionMessage( + (string)__('The "Name" attribute value is empty. Set the attribute and try again.') + ); + $this->_model->setData($data); + $this->_model->validate(); + } + + /** + * @dataProvider categoryFieldsProvider + * @param array $data + */ + public function testCategoryCreateWithDifferentFields(array $data): void + { + $requiredData = [ + 'name' => 'Test Category', + 'attribute_set_id' => '3', + 'parent_id' => 2, + ]; + $this->_model->setData(array_merge($requiredData, $data)); + $this->categoryResource->save($this->_model); + $category = $this->categoryRepository->get($this->_model->getId()); + $categoryData = $category->toArray(array_keys($data)); + $this->assertSame($data, $categoryData); + } + + /** + * @return array + */ + public function categoryFieldsProvider(): array + { + return [ + [ + 'enable_fields' => [ + 'is_active' => '1', + 'include_in_menu' => '1', + ], + 'disable_fields' => [ + 'is_active' => '0', + 'include_in_menu' => '0', + ], + ], + ]; + } + /** * @magentoDataFixture Magento/Store/_files/second_store.php * @magentoDataFixture Magento/Catalog/_files/categories.php * @magentoDbIsolation disabled * @return void */ - public function testCreateSubcategoryWithMultipleStores() + public function testCreateSubcategoryWithMultipleStores(): void { $parentCategoryId = 3; - $storeManager = $this->objectManager->get(\Magento\Store\Model\StoreManagerInterface::class); - $storeManager->setCurrentStore(\Magento\Store\Model\Store::ADMIN_CODE); - /** @var \Magento\Store\Api\StoreRepositoryInterface $storeRepository */ - $storeRepository = $this->objectManager->get(\Magento\Store\Api\StoreRepositoryInterface::class); + $storeManager = $this->objectManager->get(StoreManagerInterface::class); + $storeManager->setCurrentStore(Store::ADMIN_CODE); + /** @var StoreRepositoryInterface $storeRepository */ + $storeRepository = $this->objectManager->get(StoreRepositoryInterface::class); $storeId = $storeRepository->get('fixture_second_store')->getId(); - /** @var \Magento\Catalog\Api\CategoryRepositoryInterface $repository */ - $repository = $this->objectManager->get(\Magento\Catalog\Api\CategoryRepositoryInterface::class); + /** @var CategoryRepositoryInterface $repository */ + $repository = $this->objectManager->get(CategoryRepositoryInterface::class); $parentCategory = $repository->get($parentCategoryId, $storeId); $parentAllStoresPath = $parentCategory->getUrlPath(); $parentSecondStoreKey = 'parent-category-url-key-second-store'; $parentCategory->setUrlKey($parentSecondStoreKey); $repository->save($parentCategory); - /** @var \Magento\Catalog\Model\Category $childCategory */ - $childCategory = $this->objectManager->create(\Magento\Catalog\Model\Category::class); + /** @var Category $childCategory */ + $childCategory = $this->objectManager->create(Category::class); $childCategory->setName('Test Category 100') ->setParentId($parentCategoryId) ->setLevel(2) @@ -360,10 +461,41 @@ public function testCreateSubcategoryWithMultipleStores() protected function getCategoryByName($categoryName) { - /* @var \Magento\Catalog\Model\ResourceModel\Category\Collection $collection */ - - $collection = $this->objectManager->create(\Magento\Catalog\Model\ResourceModel\Category\Collection::class); + /* @var Collection $collection */ + $collection = $this->objectManager->create(Collection::class); $collection->addNameToResult()->load(); + return $collection->getItemByColumnValue('name', $categoryName); } + + /** + * @return void + */ + public function testSaveCategoryWithWrongPath(): void + { + /** @var CategoryRepositoryInterface $categoryRepository */ + $categoryRepository = $this->objectManager->get(CategoryRepositoryInterface::class); + $categoryFactory = $this->objectManager->get(\Magento\Catalog\Api\Data\CategoryInterfaceFactory::class); + + /** @var \Magento\Catalog\Api\Data\CategoryInterface $category */ + $category = $categoryFactory->create( + [ + 'data' => [ + 'name' => 'Category With Wrong Path', + 'parent_id' => 2, + 'path' => 'wrong/path', + 'level' => 2, + 'available_sort_by' =>['position', 'name'], + 'default_sort_by' => 'name', + 'is_active' => true, + 'position' => 1, + ], + ] + ); + $category->isObjectNew(true); + $category->save(); + + $createdCategory = $categoryRepository->get($category->getId()); + $this->assertEquals('0/0/'. $createdCategory->getId(), $createdCategory->getPath()); + } } diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Model/ProductTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Model/ProductTest.php index c34120404a950..6c217b1536e75 100644 --- a/dev/tests/integration/testsuite/Magento/Catalog/Model/ProductTest.php +++ b/dev/tests/integration/testsuite/Magento/Catalog/Model/ProductTest.php @@ -632,4 +632,31 @@ public function productWithBackordersDataProvider(): array [1, 1, true], ]; } + + /** + * @return void + */ + public function testSaveProductWithValidCustomLayoutUpdateXml(): void + { + $product = $this->productRepository->get('simple'); + $xml = '<referenceContainer name="main"> + <block class="Magento\Framework\View\Element\Template" name="test.block"></block> + </referenceContainer>'; + $product->setCustomLayoutUpdate($xml); + $updatedProduct = $this->productRepository->save($product); + $this->assertEquals($xml, $updatedProduct->getCustomLayoutUpdate()); + } + + /** + * @expectedException \Magento\Framework\Exception\LocalizedException + * @expectedExceptionMessage Element 'layout': Character content other than whitespace is not allowed + * @return void + */ + public function testSaveProductWithInValidCustomLayoutUpdateXml(): void + { + $product = $this->productRepository->get('simple'); + $product->setCustomLayoutUpdate('test'); + + $this->productRepository->save($product); + } } diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Model/ResourceModel/Category/TreeTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Model/ResourceModel/Category/TreeTest.php new file mode 100644 index 0000000000000..54799ebaeb11f --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/Catalog/Model/ResourceModel/Category/TreeTest.php @@ -0,0 +1,91 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ +declare(strict_types=1); + +namespace Magento\Catalog\Model\ResourceModel\Category; + +use Magento\Catalog\Api\Data\CategoryInterface; +use Magento\Catalog\Model\CategoryList; +use Magento\Framework\Api\SearchCriteriaBuilder; +use Magento\Framework\Data\Tree\Node; + +/** + * Test for \Magento\Catalog\Model\ResourceModel\Category\Tree. + * + * @magentoDbIsolation enabled + */ +class TreeTest extends \PHPUnit\Framework\TestCase +{ + /** + * @var Tree + */ + private $treeModel; + + /** + * @var CategoryList + */ + private $categoryList; + + /** + * @var SearchCriteriaBuilder + */ + private $searchCriteriaBuilder; + + /** + * @inheritDoc + */ + protected function setUp() + { + $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager(); + $this->treeModel = $objectManager->create(Tree::class); + $this->categoryList = $objectManager->get(CategoryList::class); + $this->searchCriteriaBuilder = $objectManager->get(SearchCriteriaBuilder::class); + } + + /** + * @magentoDataFixture Magento/Catalog/_files/category.php + * @return void + */ + public function testLoadByIds(): void + { + $categoryId = $this->getCategoryIdByName('Category 1'); + // Load category nodes by created category + $this->treeModel->loadByIds([$categoryId]); + $this->assertCount(3, $this->treeModel->getNodes()); + $this->assertInstanceOf(Node::class, $this->treeModel->getNodeById($categoryId)); + } + + /** + * @magentoDataFixture Magento/Catalog/_files/category_with_wrong_path.php + * @return void + */ + public function testLoadByIdsWithWrongCategoryPath(): void + { + $categoryId = $this->getCategoryIdByName('Category With Wrong Path'); + // Load category nodes by created category + $this->treeModel->loadByIds([$categoryId]); + $this->assertCount(1, $this->treeModel->getNodes()); + $this->assertNull($this->treeModel->getNodeById($categoryId)); + } + + /** + * Return category id by category name. + * + * @param string $categoryName + * @return int + */ + private function getCategoryIdByName(string $categoryName): int + { + $searchCriteria = $this->searchCriteriaBuilder + ->addFilter(CategoryInterface::KEY_NAME, $categoryName) + ->create(); + $categories = $this->categoryList->getList($searchCriteria)->getItems(); + $category = reset($categories); + $categoryId = $category->getId(); + + return (int)$categoryId; + } +} diff --git a/dev/tests/integration/testsuite/Magento/Catalog/_files/category_with_wrong_path.php b/dev/tests/integration/testsuite/Magento/Catalog/_files/category_with_wrong_path.php new file mode 100644 index 0000000000000..4057de8938185 --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/Catalog/_files/category_with_wrong_path.php @@ -0,0 +1,29 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ +declare(strict_types=1); + +$objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager(); +/** @var \Magento\Catalog\Api\Data\CategoryInterfaceFactory $categoryFactory */ +$categoryFactory = $objectManager->get(\Magento\Catalog\Api\Data\CategoryInterfaceFactory::class); + +/** @var \Magento\Catalog\Api\Data\CategoryInterface $category */ +$category = $categoryFactory->create( + [ + 'data' => [ + 'name' => 'Category With Wrong Path', + 'parent_id' => 2, + 'path' => 'wrong/path', + 'level' => 2, + 'available_sort_by' =>['position', 'name'], + 'default_sort_by' => 'name', + 'is_active' => true, + 'position' => 1, + ], + ] +); + +$category->isObjectNew(true); +$category->save(); diff --git a/dev/tests/integration/testsuite/Magento/Catalog/_files/category_with_wrong_path_rollback.php b/dev/tests/integration/testsuite/Magento/Catalog/_files/category_with_wrong_path_rollback.php new file mode 100644 index 0000000000000..b5b245587d036 --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/Catalog/_files/category_with_wrong_path_rollback.php @@ -0,0 +1,37 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ +declare(strict_types=1); + +use Magento\Catalog\Api\Data\CategoryInterface; +use Magento\Catalog\Model\CategoryList; +use Magento\Catalog\Model\CategoryRepository; +use Magento\Framework\Api\SearchCriteriaBuilder; +use Magento\Framework\Registry; +use Magento\TestFramework\Helper\Bootstrap; + +$objectManager = Bootstrap::getObjectManager(); +/** @var SearchCriteriaBuilder $searchCriteriaBuilder */ +$searchCriteriaBuilder = $objectManager->get(SearchCriteriaBuilder::class); +/** @var CategoryRepository $categoryRepository */ +$categoryRepository = $objectManager->get(CategoryRepository::class); +/** @var CategoryList $categoryList */ +$categoryList = $objectManager->get(CategoryList::class); +/** @var Registry $registry */ +$registry = $objectManager->get(Registry::class); +$registry->unregister('isSecureArea'); +$registry->register('isSecureArea', true); + +$searchCriteria = $searchCriteriaBuilder + ->addFilter(CategoryInterface::KEY_NAME, 'Category With Wrong Path') + ->create(); +$categories = $categoryList->getList($searchCriteria)->getItems(); + +foreach ($categories as $category) { + $categoryRepository->delete($category); +} + +$registry->unregister('isSecureArea'); +$registry->register('isSecureArea', false); diff --git a/dev/tests/integration/testsuite/Magento/Cms/Model/PageRepositoryTest.php b/dev/tests/integration/testsuite/Magento/Cms/Model/PageRepositoryTest.php index cd4674f95d722..7b1c7284244f4 100644 --- a/dev/tests/integration/testsuite/Magento/Cms/Model/PageRepositoryTest.php +++ b/dev/tests/integration/testsuite/Magento/Cms/Model/PageRepositoryTest.php @@ -95,4 +95,36 @@ public function testSaveDesign() $page = $this->repo->save($page); $this->assertEquals('test', $page->getCustomTheme()); } + + /** + * @magentoDataFixture Magento/Cms/_files/pages.php + * @return void + */ + public function testSavePageWithValidCustomLayoutUpdate(): void + { + $xml = '<referenceContainer name="main"> + <block class="Magento\Framework\View\Element\Template" name="test.block"></block> + </referenceContainer>'; + + $page = $this->repo->getById('page100'); + $page->setLayoutUpdateXml($xml); + $this->repo->save($page); + + $updatedPage = $this->repo->getById('page100'); + + $this->assertEquals($xml, $updatedPage->getLayoutUpdateXml()); + } + + /** + * @magentoDataFixture Magento/Cms/_files/pages.php + * @expectedException \Magento\Framework\Exception\LocalizedException + * @expectedExceptionMessage Layout update is invalid + * @return void + */ + public function testSavePageWithInValidCustomLayoutUpdate(): void + { + $page = $this->repo->getById('page100'); + $page->setLayoutUpdateXml('test'); + $this->repo->save($page); + } } diff --git a/dev/tests/integration/testsuite/Magento/Customer/Controller/AccountTest.php b/dev/tests/integration/testsuite/Magento/Customer/Controller/AccountTest.php index 32f12dada57a6..4210312c55a59 100644 --- a/dev/tests/integration/testsuite/Magento/Customer/Controller/AccountTest.php +++ b/dev/tests/integration/testsuite/Magento/Customer/Controller/AccountTest.php @@ -769,7 +769,7 @@ public function testConfirmationEmailWithSpecialCharacters(): void $message = $this->transportBuilderMock->getSentMessage(); $rawMessage = $message->getRawMessage(); - $this->assertContains('To: John Smith <' . $email . '>', $rawMessage); + $this->assertContains('To: =?utf-8?Q?John=20Smith?= <' . $email . '>', $rawMessage); $content = $message->getBody()->getParts()[0]->getRawContent(); $confirmationUrl = $this->getConfirmationUrlFromMessageContent($content); diff --git a/dev/tests/integration/testsuite/Magento/Email/Model/Template/FilterTest.php b/dev/tests/integration/testsuite/Magento/Email/Model/Template/FilterTest.php index 7e16115ed2fef..cc6a2719cf20b 100644 --- a/dev/tests/integration/testsuite/Magento/Email/Model/Template/FilterTest.php +++ b/dev/tests/integration/testsuite/Magento/Email/Model/Template/FilterTest.php @@ -155,10 +155,11 @@ public function layoutDirectiveDataProvider() * @param $directive * @param $translations * @param $expectedResult + * @param array $variables * @internal param $translatorData * @dataProvider transDirectiveDataProvider */ - public function testTransDirective($directive, $translations, $expectedResult) + public function testTransDirective($directive, $translations, $expectedResult, $variables = []) { $renderer = Phrase::getRenderer(); @@ -167,9 +168,12 @@ public function testTransDirective($directive, $translations, $expectedResult) ->setMethods(['getData']) ->getMock(); - $translator->expects($this->atLeastOnce()) - ->method('getData') - ->will($this->returnValue($translations)); + $translator->method('getData') + ->willReturn($translations); + + if (!empty($variables)) { + $this->model->setVariables($variables); + } $this->objectManager->addSharedInstance($translator, \Magento\Framework\Translate::class); $this->objectManager->removeSharedInstance(\Magento\Framework\Phrase\Renderer\Translate::class); @@ -195,7 +199,65 @@ public function transDirectiveDataProvider() '{{trans "foobar"}}', ['foobar' => 'barfoo'], 'barfoo', - ] + ], + 'empty directive' => [ + '{{trans}}', + [], + '', + ], + 'empty string' => [ + '{{trans ""}}', + [], + '', + ], + 'no padding' => [ + '{{trans"Hello cruel coder..."}}', + [], + 'Hello cruel coder...', + ], + 'multi-line padding' => [ + "{{trans \t\n\r'Hello cruel coder...' \t\n\r}}", + [], + 'Hello cruel coder...', + ], + 'capture escaped double-quotes inside text' => [ + '{{trans "Hello \"tested\" world!"}}', + [], + 'Hello "tested" world!', + ], + 'capture escaped single-quotes inside text' => [ + "{{trans 'Hello \\'tested\\' world!'|escape}}", + [], + "Hello 'tested' world!", + ], + 'filter with params' => [ + "{{trans 'Hello \\'tested\\' world!'|escape:html}}", + [], + "Hello 'tested' world!", + ], + 'basic var' => [ + '{{trans "Hello %adjective world!" adjective="tested"}}', + [], + 'Hello tested world!', + ], + 'auto-escaped output' => [ + '{{trans "Hello %adjective <strong>world</strong>!" adjective="<em>bad</em>"}}', + [], + 'Hello <em>bad</em> <strong>world</strong>!', + ], + 'unescaped modifier' => [ + '{{trans "Hello %adjective <strong>world</strong>!" adjective="<em>bad</em>"|raw}}', + [], + 'Hello <em>bad</em> <strong>world</strong>!', + ], + 'variable replacement' => [ + '{{trans "Hello %adjective world!" adjective="$mood"}}', + [], + 'Hello happy world!', + [ + 'mood' => 'happy' + ], + ], ]; } @@ -407,10 +469,12 @@ public function inlinecssDirectiveThrowsExceptionWhenMissingParameterDataProvide protected function setUpDesignParams() { $themeCode = 'Vendor_EmailTest/custom_theme'; - $this->model->setDesignParams([ - 'area' => Area::AREA_FRONTEND, - 'theme' => $themeCode, - 'locale' => Locale::DEFAULT_SYSTEM_LOCALE, - ]); + $this->model->setDesignParams( + [ + 'area' => Area::AREA_FRONTEND, + 'theme' => $themeCode, + 'locale' => Locale::DEFAULT_SYSTEM_LOCALE, + ] + ); } } diff --git a/dev/tests/integration/testsuite/Magento/Email/Model/TemplateTest.php b/dev/tests/integration/testsuite/Magento/Email/Model/TemplateTest.php index f791cdbeffe59..6ab457811999a 100644 --- a/dev/tests/integration/testsuite/Magento/Email/Model/TemplateTest.php +++ b/dev/tests/integration/testsuite/Magento/Email/Model/TemplateTest.php @@ -8,6 +8,7 @@ use Magento\Backend\App\Area\FrontNameResolver as BackendFrontNameResolver; use Magento\Framework\App\Area; use Magento\Framework\App\Filesystem\DirectoryList; +use Magento\Framework\App\ObjectManager; use Magento\Framework\App\TemplateTypesInterface; use Magento\Framework\View\DesignInterface; use Magento\Store\Model\ScopeInterface; @@ -345,6 +346,76 @@ public function templateDirectiveDataProvider() ]; } + /** + * @magentoDataFixture Magento/Store/_files/core_fixturestore.php + * @magentoComponentsDir Magento/Email/Model/_files/design + * @magentoAppIsolation enabled + * @magentoDbIsolation enabled + */ + public function testTemplateLoadedFromDbIsFilteredInStrictMode() + { + $this->mockModel(); + + $this->setUpThemeFallback(BackendFrontNameResolver::AREA_CODE); + + $this->model->setTemplateType(TemplateTypesInterface::TYPE_HTML); + // The first variable should be processed because it didn't come from the DB + $template = '{{var store.isSaveAllowed()}} - {{template config_path="design/email/footer_template"}}'; + $this->model->setTemplateText($template); + + // Allows for testing of templates overridden in backend + $template = $this->objectManager->create(\Magento\Email\Model\Template::class); + $templateData = [ + 'template_code' => 'some_unique_code', + 'template_type' => TemplateTypesInterface::TYPE_HTML, + // This template will be processed in strict mode + 'template_text' => '{{var this.template_code}}' + . ' - {{var store.isSaveAllowed()}} - {{var this.getTemplateCode()}}', + ]; + $template->setData($templateData); + $template->save(); + + // Store the ID of the newly created template in the system config so that this template will be loaded + $this->objectManager->get(\Magento\Framework\App\Config\MutableScopeConfigInterface::class) + ->setValue('design/email/footer_template', $template->getId(), ScopeInterface::SCOPE_STORE, 'fixturestore'); + + self::assertEquals('1 - some_unique_code - - some_unique_code', $this->model->getProcessedTemplate()); + } + + /** + * @magentoDataFixture Magento/Store/_files/core_fixturestore.php + * @magentoComponentsDir Magento/Email/Model/_files/design + * @magentoAppIsolation enabled + * @magentoDbIsolation enabled + */ + public function testLegacyTemplateLoadedFromDbIsFilteredInLegacyMode() + { + $this->mockModel(); + + $this->setUpThemeFallback(BackendFrontNameResolver::AREA_CODE); + + $this->model->setTemplateType(TemplateTypesInterface::TYPE_HTML); + $template = '{{var store.isSaveAllowed()}} - {{template config_path="design/email/footer_template"}}'; + $this->model->setTemplateText($template); + + $template = $this->objectManager->create(\Magento\Email\Model\Template::class); + $templateData = [ + 'is_legacy' => '1', + 'template_code' => 'some_unique_code', + 'template_type' => TemplateTypesInterface::TYPE_HTML, + 'template_text' => '{{var this.template_code}}' + . ' - {{var store.isSaveAllowed()}} - {{var this.getTemplateCode()}}', + ]; + $template->setData($templateData); + $template->save(); + + // Store the ID of the newly created template in the system config so that this template will be loaded + $this->objectManager->get(\Magento\Framework\App\Config\MutableScopeConfigInterface::class) + ->setValue('design/email/footer_template', $template->getId(), ScopeInterface::SCOPE_STORE, 'fixturestore'); + + self::assertEquals('1 - some_unique_code - 1 - some_unique_code', $this->model->getProcessedTemplate()); + } + /** * Ensure that the template_styles variable contains styles from either <!--@styles @--> or the "Template Styles" * textarea in backend, depending on whether template was loaded from filesystem or DB. diff --git a/dev/tests/integration/testsuite/Magento/Framework/Filter/DirectiveProcessor/DependDirectiveTest.php b/dev/tests/integration/testsuite/Magento/Framework/Filter/DirectiveProcessor/DependDirectiveTest.php new file mode 100644 index 0000000000000..548696f178559 --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/Framework/Filter/DirectiveProcessor/DependDirectiveTest.php @@ -0,0 +1,84 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ +declare(strict_types=1); + +namespace Magento\Framework\Filter\DirectiveProcessor; + +use Magento\Framework\App\ObjectManager; +use Magento\Framework\DataObject; +use Magento\Framework\Filter\Template; +use Magento\Framework\Filter\VariableResolver\StrictResolver; +use Magento\Framework\Filter\VariableResolverInterface; +use PHPUnit\Framework\TestCase; + +class DependDirectiveTest extends TestCase +{ + /** + * @var VariableResolverInterface + */ + private $variableResolver; + + /** + * @var DependDirective + */ + private $processor; + + /** + * @var Template + */ + private $filter; + + protected function setUp() + { + $objectManager = ObjectManager::getInstance(); + $this->variableResolver = $objectManager->get(StrictResolver::class); + $this->filter = $objectManager->get(Template::class); + $this->processor = $objectManager->create( + DependDirective::class, + ['variableResolver' => $this->variableResolver] + ); + } + + public function testFallbackWithNoVariables() + { + $template = 'blah {{depend foo}}blah{{/depend}} blah'; + $result = $this->processor->process($this->createConstruction($this->processor, $template), $this->filter, []); + self::assertEquals('{{depend foo}}blah{{/depend}}', $result); + } + + /** + * @dataProvider useCasesProvider + */ + public function testCases(string $parameter, array $variables, bool $isTrue) + { + $template = 'blah {{depend ' . $parameter . '}}blah{{/depend}} blah'; + $result = $this->processor->process( + $this->createConstruction($this->processor, $template), + $this->filter, + $variables + ); + self::assertEquals($isTrue ? 'blah' : '', $result); + } + + public function useCasesProvider() + { + return [ + ['foo',['foo' => true], true], + ['foo',['foo' => false], false], + ['foo.bar',['foo' => ['bar' => true]], true], + ['foo.bar',['foo' => ['bar' => false]], false], + ['foo.getBar().baz',['foo' => new DataObject(['bar' => ['baz' => true]])], true], + ['foo.getBar().baz',['foo' => new DataObject(['bar' => ['baz' => false]])], false], + ]; + } + + private function createConstruction(DependDirective $directive, string $value): array + { + preg_match($directive->getRegularExpression(), $value, $construction); + + return $construction; + } +} diff --git a/dev/tests/integration/testsuite/Magento/Framework/Filter/DirectiveProcessor/Filter/FilterApplierTest.php b/dev/tests/integration/testsuite/Magento/Framework/Filter/DirectiveProcessor/Filter/FilterApplierTest.php new file mode 100644 index 0000000000000..f5222c2ead1ac --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/Framework/Filter/DirectiveProcessor/Filter/FilterApplierTest.php @@ -0,0 +1,75 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ + +declare(strict_types=1); + +namespace Magento\Framework\Filter\DirectiveProcessor\Filter; + +use Magento\Framework\App\ObjectManager; +use PHPUnit\Framework\TestCase; + +class FilterApplierTest extends TestCase +{ + /** + * @var FilterApplier + */ + private $applier; + + protected function setUp() + { + $this->applier = ObjectManager::getInstance()->get(FilterApplier::class); + } + + /** + * @dataProvider arrayUseCaseProvider + */ + public function testArrayUseCases($param, $input, $expected) + { + $result = $this->applier->applyFromArray($param, $input); + + self::assertSame($expected, $result); + } + + public function arrayUseCaseProvider() + { + $standardInput = 'Hello ' . "\n" . ' &world!'; + return [ + 'raw' => [['raw'], $standardInput, $standardInput], + 'standard usage' => [['escape', 'nl2br'], $standardInput, 'Hello <br />' . "\n" . ' &world!'], + 'single usage' => [['escape'], $standardInput, 'Hello ' . "\n" . ' &world!'], + 'params' => [ + ['nl2br', 'escape:url', 'foofilter'], + $standardInput, + '12%DLROW62%02%A0%E3%F2%02%RBC3%02%OLLEH' + ], + 'no filters' => [[], $standardInput, $standardInput], + 'bad filters' => [['', false, 0, null], $standardInput, $standardInput], + 'mixed filters' => [['', false, 'escape', 0, null], $standardInput, 'Hello ' . "\n" . ' &world!'], + ]; + } + + /** + * @dataProvider rawUseCaseProvider + */ + public function testRawUseCases($param, $input, $expected) + { + $result = $this->applier->applyFromRawParam($param, $input, ['escape']); + + self::assertSame($expected, $result); + } + + public function rawUseCaseProvider() + { + $standardInput = 'Hello ' . "\n" . ' &world!'; + return [ + 'raw' => ['|raw', $standardInput, $standardInput], + 'standard usage' => ['|escape|nl2br', $standardInput, 'Hello <br />' . "\n" . ' &world!'], + 'single usage' => ['|escape', $standardInput, 'Hello ' . "\n" . ' &world!'], + 'default filters' => ['', $standardInput, 'Hello ' . "\n" . ' &world!'], + 'params' => ['|nl2br|escape:url|foofilter', $standardInput, '12%DLROW62%02%A0%E3%F2%02%RBC3%02%OLLEH'], + ]; + } +} diff --git a/dev/tests/integration/testsuite/Magento/Framework/Filter/DirectiveProcessor/ForDirectiveTest.php b/dev/tests/integration/testsuite/Magento/Framework/Filter/DirectiveProcessor/ForDirectiveTest.php new file mode 100644 index 0000000000000..d7b268a8af6f4 --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/Framework/Filter/DirectiveProcessor/ForDirectiveTest.php @@ -0,0 +1,107 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ +declare(strict_types=1); + +namespace Magento\Framework\Filter\DirectiveProcessor; + +use Magento\Framework\App\ObjectManager; +use Magento\Framework\DataObject; +use Magento\Framework\Filter\Template; +use Magento\Framework\Filter\VariableResolver\StrictResolver; +use Magento\Framework\Filter\VariableResolverInterface; +use PHPUnit\Framework\TestCase; + +class ForDirectiveTest extends TestCase +{ + /** + * @var VariableResolverInterface + */ + private $variableResolver; + + /** + * @var DependDirective + */ + private $processor; + + /** + * @var Template + */ + private $filter; + + protected function setUp() + { + $objectManager = ObjectManager::getInstance(); + $this->variableResolver = $objectManager->get(StrictResolver::class); + $this->filter = $objectManager->get(Template::class); + $this->processor = $objectManager->create( + ForDirective::class, + ['variableResolver' => $this->variableResolver] + ); + } + + /** + * @dataProvider invalidFormatProvider + */ + public function testFallbackWithIncorrectFormat($template) + { + $result = $this->processor->process($this->createConstruction($this->processor, $template), $this->filter, []); + self::assertEquals($template, $result); + } + + /** + * @dataProvider useCasesProvider + */ + public function testCases(string $template, array $variables, string $expect) + { + $result = $this->processor->process( + $this->createConstruction($this->processor, $template), + $this->filter, + $variables + ); + self::assertEquals($expect, $result); + } + + public function useCasesProvider() + { + $items = [ + 'ignoreme' => [ + 'a' => 'hello1', + 'b' => ['world' => new DataObject(['foo' => 'bar1'])] + ], + [ + 'a' => 'hello2', + 'b' => ['world' => new DataObject(['foo' => 'bar2'])] + ], + ]; + $expect = '0a:hello1,b:bar11a:hello2,b:bar2'; + $body = '{{var loop.index}}a:{{var item.a}},b:{{var item.b.world.foo}}'; + + return [ + ['{{for item in foo}}' . $body . '{{/for}}',['foo' => $items], $expect], + ['{{for item in foo.bar}}' . $body . '{{/for}}',['foo' => ['bar' => $items]], $expect], + [ + '{{for item in foo.getBar().baz}}' . $body . '{{/for}}', + ['foo' => new DataObject(['bar' => ['baz' => $items]])], + $expect + ], + ]; + } + + public function invalidFormatProvider() + { + return [ + ['{{for in}}foo{{/for}}'], + ['{{for in items}}foo{{/for}}'], + ]; + } + + private function createConstruction(ForDirective $directive, string $value): array + { + preg_match($directive->getRegularExpression(), $value, $construction); + + return $construction; + } +} diff --git a/dev/tests/integration/testsuite/Magento/Framework/Filter/DirectiveProcessor/IfDirectiveTest.php b/dev/tests/integration/testsuite/Magento/Framework/Filter/DirectiveProcessor/IfDirectiveTest.php new file mode 100644 index 0000000000000..1ba4412a07a54 --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/Framework/Filter/DirectiveProcessor/IfDirectiveTest.php @@ -0,0 +1,98 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ +declare(strict_types=1); + +namespace Magento\Framework\Filter\DirectiveProcessor; + +use Magento\Framework\App\ObjectManager; +use Magento\Framework\DataObject; +use Magento\Framework\Filter\Template; +use Magento\Framework\Filter\VariableResolver\StrictResolver; +use Magento\Framework\Filter\VariableResolverInterface; +use PHPUnit\Framework\TestCase; + +class IfDirectiveTest extends TestCase +{ + /** + * @var VariableResolverInterface + */ + private $variableResolver; + + /** + * @var DependDirective + */ + private $processor; + + /** + * @var Template + */ + private $filter; + + protected function setUp() + { + $objectManager = ObjectManager::getInstance(); + $this->variableResolver = $objectManager->get(StrictResolver::class); + $this->filter = $objectManager->get(Template::class); + $this->processor = $objectManager->create( + IfDirective::class, + ['variableResolver' => $this->variableResolver] + ); + } + + public function testFallbackWithNoVariables() + { + $template = 'blah {{if foo}}blah{{/if}} blah'; + $result = $this->processor->process($this->createConstruction($this->processor, $template), $this->filter, []); + self::assertEquals('{{if foo}}blah{{/if}}', $result); + } + + /** + * @dataProvider useCasesProvider + */ + public function testCases(string $template, array $variables, string $expect) + { + $result = $this->processor->process( + $this->createConstruction($this->processor, $template), + $this->filter, + $variables + ); + self::assertEquals($expect, $result); + } + + public function useCasesProvider() + { + return [ + ['{{if foo}}blah{{/if}}',['foo' => true], 'blah'], + ['{{if foo}}blah{{/if}}',['foo' => false], ''], + ['{{if foo.bar}}blah{{/if}}',['foo' => ['bar' => true]], 'blah'], + ['{{if foo.bar}}blah{{/if}}',['foo' => ['bar' => false]], ''], + ['{{if foo.getBar().baz}}blah{{/if}}',['foo' => new DataObject(['bar' => ['baz' => true]])], 'blah'], + ['{{if foo.getBar().baz}}blah{{/if}}',['foo' => new DataObject(['bar' => ['baz' => false]])], ''], + + ['{{if foo}}blah{{else}}other{{/if}}',['foo' => true], 'blah'], + ['{{if foo}}blah{{else}}other{{/if}}',['foo' => false], 'other'], + ['{{if foo.bar}}blah{{else}}other{{/if}}',['foo' => ['bar' => true]], 'blah'], + ['{{if foo.bar}}blah{{else}}other{{/if}}',['foo' => ['bar' => false]], 'other'], + [ + '{{if foo.getBar().baz}}blah{{else}}other{{/if}}', + ['foo' => new DataObject(['bar' => ['baz' => true]])], + 'blah' + ], + [ + '{{if foo.getBar().baz}}blah{{else}}other{{/if}}', + ['foo' => new DataObject(['bar' => ['baz' => false]])], + 'other' + ], + ]; + } + + private function createConstruction(IfDirective $directive, string $value): array + { + preg_match($directive->getRegularExpression(), $value, $construction); + + return $construction; + } +} diff --git a/dev/tests/integration/testsuite/Magento/Framework/Filter/DirectiveProcessor/LegacyDirectiveTest.php b/dev/tests/integration/testsuite/Magento/Framework/Filter/DirectiveProcessor/LegacyDirectiveTest.php new file mode 100644 index 0000000000000..fcfcd943b603c --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/Framework/Filter/DirectiveProcessor/LegacyDirectiveTest.php @@ -0,0 +1,69 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ +declare(strict_types=1); + +namespace Magento\Framework\Filter\DirectiveProcessor; + +use Magento\Framework\App\ObjectManager; +use Magento\Framework\Filter\Template; +use Magento\TestModuleSimpleTemplateDirective\Model\LegacyFilter; +use PHPUnit\Framework\TestCase; + +class LegacyDirectiveTest extends TestCase +{ + /** + * @var DependDirective + */ + private $processor; + + /** + * @var Template + */ + private $filter; + + protected function setUp() + { + $objectManager = ObjectManager::getInstance(); + $this->filter = $objectManager->create(LegacyFilter::class); + $this->processor = $objectManager->create(LegacyDirective::class); + } + + public function testFallbackWithNoVariables() + { + $template = 'blah {{unknown foobar}} blah'; + $result = $this->processor->process($this->createConstruction($this->processor, $template), $this->filter, []); + self::assertEquals('{{unknown foobar}}', $result); + } + + /** + * @dataProvider useCaseProvider + */ + public function testCases(string $template, array $variables, string $expect) + { + $result = $this->processor->process( + $this->createConstruction($this->processor, $template), + $this->filter, + $variables + ); + self::assertEquals($expect, $result); + } + + public function useCaseProvider() + { + return [ + 'protected method' => ['{{cool "blah" foo bar baz=bash}}', [], 'value1: cool: "blah" foo bar baz=bash'], + 'public method' => ['{{cooler "blah" foo bar baz=bash}}', [], 'value2: cooler: "blah" foo bar baz=bash'], + 'simple directive' => ['{{mydir "blah" param1=bash}}foo{{/mydir}}', [], 'OOFHSABHALB'], + ]; + } + + private function createConstruction(LegacyDirective $directive, string $value): array + { + preg_match($directive->getRegularExpression(), $value, $construction); + + return $construction; + } +} diff --git a/dev/tests/integration/testsuite/Magento/Framework/Filter/DirectiveProcessor/SimpleDirectiveTest.php b/dev/tests/integration/testsuite/Magento/Framework/Filter/DirectiveProcessor/SimpleDirectiveTest.php new file mode 100644 index 0000000000000..ccf867c51c3c8 --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/Framework/Filter/DirectiveProcessor/SimpleDirectiveTest.php @@ -0,0 +1,105 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ +declare(strict_types=1); + +namespace Magento\Framework\Filter\DirectiveProcessor; + +use Magento\Framework\App\ObjectManager; +use Magento\Framework\Filter\DirectiveProcessor\Filter\FilterPool; +use Magento\Framework\Filter\DirectiveProcessor\Filter\NewlineToBreakFilter; +use Magento\Framework\Filter\SimpleDirective\ProcessorPool; +use Magento\Framework\Filter\Template; +use Magento\TestModuleSimpleTemplateDirective\Model\FooFilter; +use Magento\TestModuleSimpleTemplateDirective\Model\MyDirProcessor; +use PHPUnit\Framework\TestCase; + +class SimpleDirectiveTest extends TestCase +{ + /** + * @var ObjectManager + */ + private $objectManager; + + protected function setUp() + { + $this->objectManager = ObjectManager::getInstance(); + } + + public function testFallbackWhenDirectiveNotFound() + { + $filter = $this->objectManager->get(Template::class); + $processor = $this->createWithProcessorsAndFilters([], []); + + $template = 'blah {{foo bar}} blah'; + $result = $processor->process($this->createConstruction($processor, $template), $filter, []); + self::assertEquals('{{foo bar}}', $result); + } + + public function testProcessorAndFilterPoolsAreUsed() + { + $filter = $this->objectManager->create(Template::class); + + $processor = $this->createWithProcessorsAndFilters( + ['mydir' => $this->objectManager->create(MyDirProcessor::class)], + [ + 'foofilter' => $this->objectManager->create(FooFilter::class), + 'nl2br' => $this->objectManager->create(NewlineToBreakFilter::class) + ] + ); + + $template = 'blah {{mydir "somevalue" param1=yes|foofilter|nl2br|doesntexist|foofilter}}blah ' + . "\n" . '{{var address}} blah{{/mydir}} blah'; + $result = $processor->process($this->createConstruction($processor, $template), $filter, ['foo' => 'foobar']); + self::assertEquals('SOMEVALUEYESBLAH ' . "\n" .'>/ RB< BLAH', $result); + } + + public function testDefaultFiltersAreUsed() + { + $filter = $this->objectManager->create(Template::class); + + $processor = $this->createWithProcessorsAndFilters( + ['mydir' => $this->objectManager->create(MyDirProcessor::class)], + ['foofilter' => $this->objectManager->create(FooFilter::class)] + ); + + $template = 'blah {{mydir "somevalue" param1=yes}}blah ' + . "\n" . '{{var address}} blah{{/mydir}} blah'; + $result = $processor->process($this->createConstruction($processor, $template), $filter, []); + self::assertEquals('HALB ' . "\n" . ' HALBSEYEULAVEMOS', $result); + } + + public function testParametersAreParsed() + { + $filter = $this->objectManager->create(Template::class); + + $processor = $this->createWithProcessorsAndFilters( + ['mydir' => $this->objectManager->create(MyDirProcessor::class)], + ['foofilter' => $this->objectManager->create(FooFilter::class)] + ); + + $template = '{{mydir "somevalue" param1=$bar}}blah{{/mydir}}'; + $result = $processor->process($this->createConstruction($processor, $template), $filter, ['bar' => 'abc']); + self::assertEquals('HALBCBAEULAVEMOS', $result); + } + + private function createWithProcessorsAndFilters(array $processors, array $filters): SimpleDirective + { + return $this->objectManager->create( + SimpleDirective::class, + [ + 'processorPool' => $this->objectManager->create(ProcessorPool::class, ['processors' => $processors]), + 'filterPool' => $this->objectManager->create(FilterPool::class, ['filters' => $filters]), + ] + ); + } + + private function createConstruction(SimpleDirective $directive, string $value): array + { + preg_match($directive->getRegularExpression(), $value, $construction); + + return $construction; + } +} diff --git a/dev/tests/integration/testsuite/Magento/Framework/Filter/DirectiveProcessor/TemplateDirectiveTest.php b/dev/tests/integration/testsuite/Magento/Framework/Filter/DirectiveProcessor/TemplateDirectiveTest.php new file mode 100644 index 0000000000000..dc6ef2cd256e8 --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/Framework/Filter/DirectiveProcessor/TemplateDirectiveTest.php @@ -0,0 +1,95 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ +declare(strict_types=1); + +namespace Magento\Framework\Filter\DirectiveProcessor; + +use Magento\Framework\App\ObjectManager; +use Magento\Framework\DataObject; +use Magento\Framework\Filter\Template; +use PHPUnit\Framework\TestCase; + +class TemplateDirectiveTest extends TestCase +{ + /** + * @var DependDirective + */ + private $processor; + + /** + * @var Template + */ + private $filter; + + protected function setUp() + { + $objectManager = ObjectManager::getInstance(); + $this->filter = $objectManager->create(Template::class); + $this->processor = $objectManager->create(TemplateDirective::class); + } + + public function testNoTemplateProcessor() + { + $template = 'blah {{template config_path="foo"}} blah'; + $result = $this->processor->process($this->createConstruction($this->processor, $template), $this->filter, []); + self::assertEquals('{Error in template processing}', $result); + } + + public function testNoConfigPath() + { + $this->filter->setTemplateProcessor([$this, 'processTemplate']); + $template = 'blah {{template}} blah'; + $result = $this->processor->process($this->createConstruction($this->processor, $template), $this->filter, []); + self::assertEquals('{Error in template processing}', $result); + } + + /** + * @dataProvider useCaseProvider + */ + public function testCases(string $template, array $variables, string $expect) + { + $this->filter->setTemplateProcessor([$this, 'processTemplate']); + $result = $this->processor->process( + $this->createConstruction($this->processor, $template), + $this->filter, + $variables + ); + self::assertEquals($expect, $result); + } + + public function useCaseProvider() + { + $prefix = '{{template config_path=$path param1=myparam '; + $expect = 'path=varpath/myparamabc/varpath'; + + return [ + [$prefix . 'varparam=$foo}}',['foo' => 'abc','path'=>'varpath'], $expect], + [$prefix . 'varparam=$foo.bar}}',['foo' => ['bar' => 'abc'],'path'=>'varpath'], $expect], + [ + $prefix . 'varparam=$foo.getBar().baz}}', + ['foo' => new DataObject(['bar' => ['baz' => 'abc']]),'path'=>'varpath'], + $expect + ], + ]; + } + + public function processTemplate(string $configPath, array $parameters) + { + // Argument + return 'path=' . $configPath + // Directive argument + . '/' . $parameters['param1'] . $parameters['varparam'] + // Template variable + . '/' . $parameters['path']; + } + + private function createConstruction(TemplateDirective $directive, string $value): array + { + preg_match($directive->getRegularExpression(), $value, $construction); + + return $construction; + } +} diff --git a/dev/tests/integration/testsuite/Magento/Framework/Filter/DirectiveProcessor/VarDirectiveTest.php b/dev/tests/integration/testsuite/Magento/Framework/Filter/DirectiveProcessor/VarDirectiveTest.php new file mode 100644 index 0000000000000..7fab06178cf25 --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/Framework/Filter/DirectiveProcessor/VarDirectiveTest.php @@ -0,0 +1,98 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ +declare(strict_types=1); + +namespace Magento\Framework\Filter\DirectiveProcessor; + +use Magento\Framework\App\ObjectManager; +use Magento\Framework\DataObject; +use Magento\Framework\Filter\Template; +use Magento\Framework\Filter\VariableResolver\StrictResolver; +use Magento\Framework\Filter\VariableResolverInterface; +use PHPUnit\Framework\TestCase; + +class VarDirectiveTest extends TestCase +{ + /** + * @var VariableResolverInterface + */ + private $variableResolver; + + /** + * @var DependDirective + */ + private $processor; + + /** + * @var Template + */ + private $filter; + + protected function setUp() + { + $objectManager = ObjectManager::getInstance(); + $this->variableResolver = $objectManager->get(StrictResolver::class); + $this->filter = $objectManager->get(Template::class); + $this->processor = $objectManager->create( + VarDirective::class, + ['variableResolver' => $this->variableResolver] + ); + } + + public function testFallback() + { + $template = 'blah {{var}} blah'; + $result = $this->processor->process($this->createConstruction($this->processor, $template), $this->filter, []); + self::assertSame('{{var}}', $result); + } + + /** + * @dataProvider useCasesProvider + */ + public function testCases(string $parameter, array $variables, string $expect) + { + $template = 'blah {{var ' . $parameter . '}} blah'; + $result = $this->processor->process( + $this->createConstruction($this->processor, $template), + $this->filter, + $variables + ); + self::assertEquals($expect, $result); + } + + public function useCasesProvider() + { + return [ + ['foo',['foo' => true], '1'], + ['foo',['foo' => 'abc'], 'abc'], + ['foo',['foo' => 1.234], '1.234'], + ['foo',['foo' => 0xF], '15'], + ['foo',['foo' => false], ''], + ['foo',['foo' => null], ''], + ['foo.bar',['foo' => ['bar' => 'abc']], 'abc'], + ['foo.bar',['foo' => ['bar' => false]], ''], + ['foo.getBar().baz',['foo' => new DataObject(['bar' => ['baz' => 'abc']])], 'abc'], + ['foo.getBar().baz',['foo' => new DataObject(['bar' => ['baz' => false]])], ''], + [ + 'foo.getBar().baz|foofilter|nl2br', + ['foo' => new DataObject(['bar' => ['baz' => "foo\nbar"]])], + "RAB<br />\nOOF" + ], + [ + 'foo.getBar().baz|foofilter:myparam|nl2br|doesntexist|nl2br', + ['foo' => new DataObject(['bar' => ['baz' => "foo\nbar"]])], + "MARAPYMRAB<br /><br />\nOOF" + ], + ]; + } + + private function createConstruction(VarDirective $directive, string $value): array + { + preg_match($directive->getRegularExpression(), $value, $construction); + + return $construction; + } +} diff --git a/dev/tests/integration/testsuite/Magento/Framework/Filter/TemplateTest.php b/dev/tests/integration/testsuite/Magento/Framework/Filter/TemplateTest.php index 71e4e438d945d..de09b87b04e4a 100644 --- a/dev/tests/integration/testsuite/Magento/Framework/Filter/TemplateTest.php +++ b/dev/tests/integration/testsuite/Magento/Framework/Filter/TemplateTest.php @@ -5,6 +5,10 @@ */ namespace Magento\Framework\Filter; +use Magento\Framework\DataObject; +use Magento\Store\Model\Store; +use Magento\TestFramework\ObjectManager; + class TemplateTest extends \PHPUnit\Framework\TestCase { /** @@ -14,26 +18,26 @@ class TemplateTest extends \PHPUnit\Framework\TestCase protected function setUp() { - $this->templateFilter = \Magento\TestFramework\ObjectManager::getInstance()->create(Template::class); + $this->templateFilter = ObjectManager::getInstance()->create(Template::class); } /** * @param array $results - * @param array $values + * @param array $value * @dataProvider getFilterForDataProvider */ - public function testFilterFor($results, $values) + public function testFilterFor($results, $value) { $this->templateFilter->setVariables(['order' => $this->getOrder(), 'things' => $this->getThings()]); - $this->assertEquals($results, $this->invokeMethod($this->templateFilter, 'filterFor', [$values])); + self::assertEquals($results, $this->templateFilter->filter($value)); } /** - * @return \Magento\Framework\DataObject + * @return DataObject */ private function getOrder() { - $order = new \Magento\Framework\DataObject(); + $order = new DataObject(); $visibleItems = [ [ 'sku' => 'ABC123', @@ -121,20 +125,256 @@ public function getFilterForDataProvider() ]; } + public function testDependDirective() + { + $this->templateFilter->setVariables( + [ + 'customer' => new DataObject(['name' => 'John Doe']), + ] + ); + + $template = '{{depend customer.getName()}}foo{{/depend}}'; + $template .= '{{depend customer.getName()}}{{var customer.getName()}}{{/depend}}'; + $template .= '{{depend customer.getFoo()}}bar{{/depend}}'; + $expected = 'fooJohn Doe'; + self::assertEquals($expected, $this->templateFilter->filter($template)); + } + + public function testIfDirective() + { + $this->templateFilter->setVariables( + [ + 'customer' => new DataObject(['name' => 'John Doe']), + ] + ); + + $template = '{{if customer.getName()}}foo{{/if}}{{if customer.getNope()}}not me{{else}}bar{{/if}}'; + $expected = 'foobar'; + self::assertEquals($expected, $this->templateFilter->filter($template)); + } + + public function testNonDataObjectVariableParsing() + { + $this->templateFilter->setVariables( + [ + 'address' => new class { + public function format($type) + { + return '<foo>' . $type . '</foo>'; + } + } + ] + ); + + $template = '{{var address.format(\'html\')}}'; + $expected = '<foo>html</foo>'; + self::assertEquals($expected, $this->templateFilter->filter($template)); + } + + public function testComplexVariableArguments() + { + $this->templateFilter->setVariables( + [ + 'address' => new class { + public function format($a, $b, $c) + { + return $a . ' ' . $b . ' ' . $c['param1']; + } + }, + 'arg1' => 'foo' + ] + ); + + $template = '{{var address.format($arg1,\'bar\',[param1:baz])}}'; + $expected = 'foo bar baz'; + self::assertEquals($expected, $this->templateFilter->filter($template)); + } + + public function testComplexVariableGetterArguments() + { + $this->templateFilter->setVariables( + [ + 'address' => new class extends DataObject { + public function getFoo($a, $b, $c) + { + return $a . ' ' . $b . ' ' . $c['param1']; + } + }, + 'arg1' => 'foo' + ] + ); + + $template = '{{var address.getFoo($arg1,\'bar\',[param1:baz])}}'; + $expected = 'foo bar baz'; + self::assertEquals($expected, $this->templateFilter->filter($template)); + } + + public function testNonDataObjectRendersBlankInStrictMode() + { + $this->templateFilter->setStrictMode(true); + $this->templateFilter->setVariables( + [ + 'address' => new class { + public function format($type) + { + return '<foo>' . $type . '</foo>'; + } + }, + ] + ); + + $template = '{{var address.format(\'html\')}}'; + $expected = ''; + self::assertEquals($expected, $this->templateFilter->filter($template)); + } + + public function testDataObjectCanRenderPropertiesStrictMode() + { + $this->templateFilter->setStrictMode(true); + $this->templateFilter->setVariables( + [ + 'customer' => new DataObject(['name' => 'John Doe']), + ] + ); + + $template = '{{var customer.name}} - {{var customer.getName()}}'; + $expected = 'John Doe - John Doe'; + self::assertEquals($expected, $this->templateFilter->filter($template)); + } + + /** + * @dataProvider strictModeTrueFalseProvider + */ + public function testScalarDataKeys($strictMode) + { + $this->templateFilter->setStrictMode($strictMode); + $this->templateFilter->setVariables( + [ + 'customer_data' => [ + 'name' => 'John Doe', + 'address' => [ + 'street' => ['easy'], + 'zip' => new DataObject(['bar' => 'yay']) + ] + ], + 'myint' => 123, + 'myfloat' => 1.23, + 'mystring' => 'abc', + 'mybool' => true, + 'myboolf' => false, + ] + ); + + $template = '{{var customer_data.name}}' + . ' {{var customer_data.address.street.0}}' + . ' {{var customer_data.address.zip.bar}}' + . ' {{var}}' + . ' {{var myint}}' + . ' {{var myfloat}}' + . ' {{var mystring}}' + . ' {{var mybool}}' + . ' {{var myboolf}}'; + + $expected = 'John Doe easy yay {{var}} 123 1.23 abc 1 '; + self::assertEquals($expected, $this->templateFilter->filter($template)); + } + + public function testModifiers() + { + $this->templateFilter->setVariables( + [ + 'address' => '11501 Domain Dr.' . "\n" . 'Austin, TX 78758' + ] + ); + + $template = '{{mydir "somevalue" param1=yes|foofilter|nl2br}}blah {{var address}} blah{{/mydir}}'; + + $expected = 'HALB 85787 XT ,NITSUA<br />' . "\n" . '.RD NIAMOD 10511 HALBSEYEULAVEMOS'; + self::assertEquals($expected, $this->templateFilter->filter($template)); + } + + public function testDefaultModifiers() + { + $this->templateFilter->setVariables( + [ + 'address' => '11501 Domain Dr.' . "\n" . 'Austin, TX 78758' + ] + ); + + $template = '{{mydir "somevalue" param1=yes}}blah {{var address}} blah{{/mydir}}'; + + $expected = 'HALB 85787 XT ,NITSUA' . "\n" . '.RD NIAMOD 10511 HALBSEYEULAVEMOS'; + self::assertEquals($expected, $this->templateFilter->filter($template)); + } + + public function testFilterVarious1() + { + $this->templateFilter->setVariables( + [ + 'customer' => new DataObject(['firstname' => 'Felicia', 'lastname' => 'Henry']), + 'company' => 'A. L. Price', + 'street1' => '687 Vernon Street', + 'city' => 'Parker Dam', + 'region' => 'CA', + 'postcode' => '92267', + 'telephone' => '760-663-5876', + ] + ); + + $template = <<<TEMPLATE +{{var customer.firstname}} {{depend middlename}}{{var middlename}} {{/depend}}{{var customer.getLastname()}} +{{depend company}}{{var company}}{{/depend}} +{{if street1}}{{var street1}} +{{/if}} +{{depend street2}}{{var street2}}{{/depend}} +{{depend street3}}{{var street3}}{{/depend}} +{{depend street4}}{{var street4}}{{/depend}} +{{if city}}{{var city}}, {{/if}}{{if region}}{{var region}}, {{/if}}{{if postcode}}{{var postcode}}{{/if}} +{{var country}} +{{depend telephone}}T: {{var telephone}}{{/depend}} +{{depend fax}}F: {{var fax}}{{/depend}} +{{depend vat_id}}VAT: {{var vat_id}}{{/depend}} +TEMPLATE; + + $expectedResult = <<<EXPECTED_RESULT +Felicia Henry +A. L. Price +687 Vernon Street + + + + +Parker Dam, CA, 92267 + +T: 760-663-5876 + + +EXPECTED_RESULT; + + $this->assertEquals( + $expectedResult, + $this->templateFilter->filter($template), + 'Template was processed incorrectly' + ); + } + /** - * Call protected/private method of a class. - * - * @param object &$object - * @param string $methodName - * @param array $parameters - * - * @return mixed Method return. + * Check that if calling a method of an object fails expected result is returned. */ - private function invokeMethod(&$object, $methodName, array $parameters = []) + public function testInvalidMethodCall() { - $reflection = new \ReflectionClass(get_class($object)); - $method = $reflection->getMethod($methodName); - $method->setAccessible(true); - return $method->invokeArgs($object, $parameters); + $this->templateFilter->setVariables(['dateTime' => '\DateTime']); + $this->assertEquals( + '\DateTime', + $this->templateFilter->filter('{{var dateTime.createFromFormat(\'d\',\'1548201468\')}}') + ); + } + + public function strictModeTrueFalseProvider() + { + return [ + 'strictMode' => [true], + 'legacyMode' => [false] + ]; } } diff --git a/dev/tests/integration/testsuite/Magento/Framework/Filter/VariableResolver/LegacyResolverTest.php b/dev/tests/integration/testsuite/Magento/Framework/Filter/VariableResolver/LegacyResolverTest.php new file mode 100644 index 0000000000000..28d2ed6e039bd --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/Framework/Filter/VariableResolver/LegacyResolverTest.php @@ -0,0 +1,122 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ +declare(strict_types=1); + +namespace Magento\Framework\Filter\VariableResolver; + +use Magento\Framework\App\ObjectManager; +use Magento\Framework\DataObject; +use Magento\Framework\Filter\Template; +use Magento\Framework\Filter\VariableResolverInterface; +use PHPUnit\Framework\TestCase; + +class LegacyResolverTest extends TestCase +{ + /** + * @var VariableResolverInterface + */ + private $variableResolver; + + /** + * @var Template + */ + private $filter; + + protected function setUp() + { + $objectManager = ObjectManager::getInstance(); + $this->variableResolver = $objectManager->get(LegacyResolver::class); + $this->filter = $objectManager->get(Template::class); + } + + /** + * @dataProvider useCasesProvider + */ + public function testResolve($value, array $variables, $expected) + { + $result = $this->variableResolver->resolve($value, $this->filter, $variables); + self::assertSame($expected, $result); + } + + public function useCasesProvider() + { + $classStub = new class { + public function doParams($arg1, $args) + { + $result = $arg1; + foreach ($args as $key => $value) { + $result .= $key . '=' . $value . ','; + } + return $result; + } + public function doThing() + { + return 'abc'; + } + public function getThing() + { + return 'abc'; + } + }; + $dataClassStub = new class extends DataObject { + public function doThing() + { + return 'abc'; + } + public function doParams($arg1, $args) + { + $result = $arg1; + foreach ($args as $key => $value) { + $result .= $key . '=' . $value . ','; + } + return $result; + } + public function getThing() + { + return 'abc'; + } + }; + $dataClassStub->setData('foo', 'bar'); + + return [ + ['', [], null], + ['foo',['foo' => true], true], + ['foo',['foo' => 123], 123], + ['foo',['foo' => 'abc'], 'abc'], + ['foo',['foo' => false], false], + ['foo',['foo' => null], null], + ['foo',['foo' => ''], ''], + ['foo.bar',['foo' => ['bar' => 123]], 123], + 'nested array' => ['foo.bar.baz',['foo' => ['bar' => ['baz' => 123]]], 123], + 'getter data object with mixed array usage' => + ['foo.getBar().baz',['foo' => new DataObject(['bar' => ['baz' => 'abc']])], 'abc'], + 'allow method' => ['foo.doThing()',['foo' => $classStub], 'abc'], + 'allow getter method' => ['foo.getThing()',['foo' => $classStub], 'abc'], + 'arguments for normal class' => [ + 'foo.doParams("f", [a:123,b:321])', + ['foo' => $classStub], + 'fa=123,b=321,' + ], + 'arguments for normal class with recursive resolution' => [ + 'foo.doParams($g.h.i, [a:123,b:321])', + ['foo' => $classStub, 'g' => ['h' => ['i' => 'abc']]], + 'abca=123,b=321,' + ], + 'allow normal method for DataObject' => ['foo.doThing()',['foo' => $dataClassStub], 'abc'], + 'allow getter method for DataObject' => ['foo.getThing()',['foo' => $dataClassStub], 'abc'], + 'arguments for DataObject' => [ + 'foo.doParams(\'f\', [a:123,b:321])', + ['foo' => $dataClassStub], + 'fa=123,b=321,' + ], + 'arguments for DataObject with recursive resolution' => [ + 'foo.doParams($g.h.i, [a:123,b:321])', + ['foo' => $dataClassStub, 'g' => ['h' => ['i' => 'abc']]], + 'abca=123,b=321,' + ], + ]; + } +} diff --git a/dev/tests/integration/testsuite/Magento/Framework/Filter/VariableResolver/StrictResolverTest.php b/dev/tests/integration/testsuite/Magento/Framework/Filter/VariableResolver/StrictResolverTest.php new file mode 100644 index 0000000000000..a52bb067f6e7f --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/Framework/Filter/VariableResolver/StrictResolverTest.php @@ -0,0 +1,106 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ +declare(strict_types=1); + +namespace Magento\Framework\Filter\VariableResolver; + +use Magento\Framework\App\ObjectManager; +use Magento\Framework\DataObject; +use Magento\Framework\Filter\Template; +use Magento\Framework\Filter\VariableResolverInterface; +use PHPUnit\Framework\TestCase; + +class StrictResolverTest extends TestCase +{ + /** + * @var VariableResolverInterface + */ + private $variableResolver; + + /** + * @var Template + */ + private $filter; + + protected function setUp() + { + $objectManager = ObjectManager::getInstance(); + $this->variableResolver = $objectManager->get(StrictResolver::class); + $this->filter = $objectManager->get(Template::class); + } + + /** + * @dataProvider useCasesProvider + */ + public function testResolve($value, array $variables, $expected) + { + $result = $this->variableResolver->resolve($value, $this->filter, $variables); + self::assertSame($expected, $result); + } + + public function useCasesProvider() + { + $classStub = new class { + public function doThing() + { + return 'abc'; + } + public function getThing() + { + return 'abc'; + } + }; + $dataClassStub = new class extends DataObject { + public function doThing() + { + return 'abc'; + } + public function getThing() + { + return 'abc'; + } + }; + $dataClassStub->setData('foo', 'bar'); + + $storeMock = $this->createMock(\Magento\Store\Model\Store::class); + $emailTemplate = $this->createMock(\Magento\Email\Model\Template::class); + $emailTemplate->method('getUrl') + ->with($storeMock, 'some path', ['_query' => ['id' => 'abc', 'token' => 'abc'], 'abc' => '1']) + ->willReturn('a url'); + + return [ + ['', [], null], + ['foo',['foo' => true], true], + ['foo',['foo' => 123], 123], + ['foo',['foo' => 'abc'], 'abc'], + ['foo',['foo' => false], false], + ['foo',['foo' => null], null], + ['foo',['foo' => ''], ''], + ['foo.bar',['foo' => ['bar' => 123]], 123], + 'nested array' => ['foo.bar.baz',['foo' => ['bar' => ['baz' => 123]]], 123], + 'getter data object with mixed array usage' => + ['foo.getBar().baz',['foo' => new DataObject(['bar' => ['baz' => 'abc']])], 'abc'], + 'data object with mixed array usage' => + ['foo.bar.baz',['foo' => new DataObject(['bar' => ['baz' => 'abc']])], 'abc'], + 'deny method' => ['foo.doThing()',['foo' => $classStub], null], + 'deny getter method' => ['foo.getThing()',['foo' => $classStub], null], + 'deny normal method for DataObject' => ['foo.doThing()',['foo' => $dataClassStub], null], + 'deny getter method for DataObject' => ['foo.getThing()',['foo' => $dataClassStub], null], + 'convert getter method to getData(foo)' => ['foo.getFoo()',['foo' => $dataClassStub], 'bar'], + 'backwards compatibility exception for getUrl' => [ + 'foo.email.getUrl($store,\'some path\',[_query:[id:$foo.bar.baz.bash,token:abc],abc:1])', + [ + 'store' => $storeMock, + 'foo' => [ + 'email' => $emailTemplate, + 'bar' => new DataObject(['baz' => ['bash' => 'abc']]) + ] + ], + 'a url' + ] + ]; + } +} diff --git a/dev/tests/integration/testsuite/Magento/Framework/Mail/EmailMessageTest.php b/dev/tests/integration/testsuite/Magento/Framework/Mail/EmailMessageTest.php index 10a54b4e1b879..186c3e2796c8e 100644 --- a/dev/tests/integration/testsuite/Magento/Framework/Mail/EmailMessageTest.php +++ b/dev/tests/integration/testsuite/Magento/Framework/Mail/EmailMessageTest.php @@ -14,6 +14,7 @@ /** * Class EmailMessageTest + * @SuppressWarnings(PHPMD.CouplingBetweenObjects) */ class EmailMessageTest extends TestCase { @@ -164,23 +165,42 @@ public function testEmailMessage($content, $type): void 'cc' => $cc, 'replyTo' => $replyTo, 'bcc' => $bcc, - 'sender' => $sender + 'sender' => $sender, ]; $message = $this->messageFactory->create($data); $this->assertContains($content, $message->toString()); $this->assertContains('Content-Type: ' . $type, $message->toString()); - $senderString = 'Sender: ' . $sender->getName() . ' <' . $sender->getEmail() . '>'; + $senderString = 'Sender: =?utf-8?Q?' + . str_replace(' ', '=20', $sender->getName()) + . '?= <' + . $sender->getEmail() + . '>'; $this->assertContains($senderString, $message->toString()); $this->assertContains('From: ' . $from[0]->getEmail(), $message->toString()); - $replyToString = 'Reply-To: ' . $replyTo[0]->getName() . ' <' . $replyTo[0]->getEmail() . '>'; + $replyToString = 'Reply-To: =?utf-8?Q?' + . str_replace(' ', '=20', $replyTo[0]->getName()) + . '?= <' + . $replyTo[0]->getEmail() + . '>'; $this->assertContains($replyToString, $message->toString()); - $toString = 'To: ' . $to[0]->getName() . ' <' . $to[0]->getEmail() . '>'; + $toString = 'To: =?utf-8?Q?' + . str_replace(' ', '=20', $to[0]->getName()) + . '?= <' + . $to[0]->getEmail() + . '>'; $this->assertContains($toString, $message->toString()); - $ccString = 'Cc: ' . $cc[0]->getName() . ' <' . $cc[0]->getEmail() . '>'; + $ccString = 'Cc: =?utf-8?Q?' + . str_replace(' ', '=20', $cc[0]->getName()) + . '?= <' + . $cc[0]->getEmail() + . '>'; $this->assertContains($ccString, $message->toString()); $this->assertContains('Bcc: ' . $bcc[0]->getEmail(), $message->toString()); - $this->assertContains('Content-Description: ' . $this->description, $message->toString()); + $contentDescription = 'Content-Description: =?utf-8?Q?' + . str_replace(' ', '=20', $this->description) + . '?='; + $this->assertContains($contentDescription, $message->toString()); $this->assertContains('Subject: ' . $this->subject, $message->toString()); $this->assertContains($content, $message->toString()); //tests address factory @@ -235,6 +255,7 @@ public function testEmailMessageWithAttachment(): void 'body' => $mimeMessage, 'subject' => $this->subject, 'to' => [$addressTo], + 'encoding' => '', ]; $message = $this->messageFactory->create($data); diff --git a/dev/tests/integration/testsuite/Magento/Newsletter/Controller/Adminhtml/Template/DropTest.php b/dev/tests/integration/testsuite/Magento/Newsletter/Controller/Adminhtml/Template/DropTest.php new file mode 100644 index 0000000000000..dfde61b7abf58 --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/Newsletter/Controller/Adminhtml/Template/DropTest.php @@ -0,0 +1,43 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ +declare(strict_types=1); + +namespace Magento\Newsletter\Controller\Adminhtml\Template; + +use Magento\Framework\App\Request\Http as HttpRequest; +use Magento\Framework\Data\Form\FormKey; +use Magento\Newsletter\Model\Template; +use Magento\Store\Model\StoreManagerInterface; +use Magento\TestFramework\TestCase\AbstractBackendController; + +class DropTest extends AbstractBackendController +{ + public function testDefaultTemplateAction() + { + $website = $this->_objectManager + ->get(StoreManagerInterface::class) + ->getWebsite(); + + $storeId = $website->getDefaultStore() + ->getId(); + + /** @var $formKey FormKey */ + $formKey = $this->_objectManager->get(FormKey::class); + $post = [ + 'form_key' => $formKey->getFormKey(), + 'type' => Template::TYPE_HTML, + 'preview_store_id' => $storeId, + 'text' => 'Template {{var this.template_id}}:{{var this.getData(template_id)}} Text' + ]; + $this->getRequest()->setPostValue($post); + $this->getRequest()->setMethod(HttpRequest::METHOD_POST); + $this->dispatch('backend/newsletter/template/drop'); + $this->assertContains( + 'Template 123: Text', + $this->getResponse()->getBody() + ); + } +} diff --git a/dev/tests/integration/testsuite/Magento/Newsletter/Model/TemplateTest.php b/dev/tests/integration/testsuite/Magento/Newsletter/Model/TemplateTest.php index 60b61415e0169..dda72ef353f10 100644 --- a/dev/tests/integration/testsuite/Magento/Newsletter/Model/TemplateTest.php +++ b/dev/tests/integration/testsuite/Magento/Newsletter/Model/TemplateTest.php @@ -5,6 +5,10 @@ */ namespace Magento\Newsletter\Model; +use Magento\Framework\App\TemplateTypesInterface; +use Magento\Store\Model\ScopeInterface; +use Magento\TestFramework\Helper\Bootstrap; + /** * @magentoDataFixture Magento/Store/_files/core_fixturestore.php */ @@ -17,7 +21,7 @@ class TemplateTest extends \PHPUnit\Framework\TestCase protected function setUp() { - $this->_model = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create( + $this->_model = Bootstrap::getObjectManager()->create( \Magento\Newsletter\Model\Template::class ); } @@ -35,7 +39,7 @@ public function testGetProcessedTemplateFrontend($store, $design) { $this->_model->setTemplateText('{{view url="Magento_Theme::favicon.ico"}}'); if ($store != 'default') { - \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get( + Bootstrap::getObjectManager()->get( \Magento\Framework\App\Config\MutableScopeConfigInterface::class )->setValue( \Magento\Theme\Model\View\Design::XML_PATH_THEME_ID, @@ -45,7 +49,7 @@ public function testGetProcessedTemplateFrontend($store, $design) ); } $this->_model->emulateDesign($store, 'frontend'); - $processedTemplate = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get( + $processedTemplate = Bootstrap::getObjectManager()->get( \Magento\Framework\App\State::class )->emulateAreaCode( 'frontend', @@ -78,7 +82,7 @@ public function testGetProcessedTemplateArea($area, $design) { $this->_model->setTemplateText('{{view url="Magento_Theme::favicon.ico"}}'); $this->_model->emulateDesign('default', $area); - $processedTemplate = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get( + $processedTemplate = Bootstrap::getObjectManager()->get( \Magento\Framework\App\State::class )->emulateAreaCode( $area, @@ -131,4 +135,77 @@ public function isValidToSendDataProvider() ['', '', '', false] ]; } + + /** + * @magentoAppIsolation enabled + * @magentoDbIsolation enabled + */ + public function testLegacyTemplateFromDbLoadsInLegacyMode() + { + $objectManager = Bootstrap::getObjectManager(); + + $this->_model->setTemplateType(TemplateTypesInterface::TYPE_HTML); + $templateText = '{{var store.isSaveAllowed()}} - {{template config_path="foobar"}}'; + $this->_model->setTemplateText($templateText); + + $template = $objectManager->create(\Magento\Email\Model\Template::class); + $templateData = [ + 'is_legacy' => '1', + 'template_code' => 'some_unique_code', + 'template_type' => TemplateTypesInterface::TYPE_HTML, + 'template_text' => '{{var this.template_code}}' + . ' - {{var store.isSaveAllowed()}} - {{var this.getTemplateCode()}}', + ]; + $template->setData($templateData); + $template->save(); + + // Store the ID of the newly created template in the system config so that this template will be loaded + $objectManager->get(\Magento\Framework\App\Config\MutableScopeConfigInterface::class) + ->setValue('foobar', $template->getId(), ScopeInterface::SCOPE_STORE, 'default'); + + $this->_model->emulateDesign('default', 'frontend'); + $processedTemplate = Bootstrap::getObjectManager()->get( + \Magento\Framework\App\State::class + )->emulateAreaCode( + 'frontend', + [$this->_model, 'getProcessedTemplate'] + ); + self::assertEquals('1 - some_unique_code - 1 - some_unique_code', $processedTemplate); + } + + /** + * @magentoAppIsolation enabled + * @magentoDbIsolation enabled + */ + public function testTemplateFromDbLoadsInStrictMode() + { + $objectManager = Bootstrap::getObjectManager(); + + $this->_model->setTemplateType(TemplateTypesInterface::TYPE_HTML); + $templateText = '{{var store.isSaveAllowed()}} - {{template config_path="foobar"}}'; + $this->_model->setTemplateText($templateText); + + $template = $objectManager->create(\Magento\Email\Model\Template::class); + $templateData = [ + 'template_code' => 'some_unique_code', + 'template_type' => TemplateTypesInterface::TYPE_HTML, + 'template_text' => '{{var this.template_code}}' + . ' - {{var store.isSaveAllowed()}} - {{var this.getTemplateCode()}}', + ]; + $template->setData($templateData); + $template->save(); + + // Store the ID of the newly created template in the system config so that this template will be loaded + $objectManager->get(\Magento\Framework\App\Config\MutableScopeConfigInterface::class) + ->setValue('foobar', $template->getId(), ScopeInterface::SCOPE_STORE, 'default'); + + $this->_model->emulateDesign('default', 'frontend'); + $processedTemplate = Bootstrap::getObjectManager()->get( + \Magento\Framework\App\State::class + )->emulateAreaCode( + 'frontend', + [$this->_model, 'getProcessedTemplate'] + ); + self::assertEquals('1 - some_unique_code - - some_unique_code', $processedTemplate); + } } diff --git a/dev/tests/integration/testsuite/Magento/ProductAlert/Model/EmailTest.php b/dev/tests/integration/testsuite/Magento/ProductAlert/Model/EmailTest.php index ad254e1db40b5..0b2a4124dcc2e 100644 --- a/dev/tests/integration/testsuite/Magento/ProductAlert/Model/EmailTest.php +++ b/dev/tests/integration/testsuite/Magento/ProductAlert/Model/EmailTest.php @@ -101,7 +101,7 @@ public function testSend($isCustomerIdUsed) $this->_emailModel->send(); $this->assertContains( - 'John Smith,', + 'Smith,', $this->transportBuilder->getSentMessage()->getRawMessage() ); } diff --git a/dev/tests/integration/testsuite/Magento/ProductAlert/Model/ObserverTest.php b/dev/tests/integration/testsuite/Magento/ProductAlert/Model/ObserverTest.php index 0fc98d8d8380b..53dc5dd37c274 100644 --- a/dev/tests/integration/testsuite/Magento/ProductAlert/Model/ObserverTest.php +++ b/dev/tests/integration/testsuite/Magento/ProductAlert/Model/ObserverTest.php @@ -55,7 +55,7 @@ public function testProcess() \Magento\TestFramework\Mail\Template\TransportBuilderMock::class ); $this->assertContains( - 'John Smith,', + 'ohn Smith,', $transportBuilder->getSentMessage()->getRawMessage() ); } diff --git a/dev/tests/integration/testsuite/Magento/Sales/Model/Service/PaymentFailuresServiceTest.php b/dev/tests/integration/testsuite/Magento/Sales/Model/Service/PaymentFailuresServiceTest.php index 6367ff6d1a6d3..383af7968e047 100644 --- a/dev/tests/integration/testsuite/Magento/Sales/Model/Service/PaymentFailuresServiceTest.php +++ b/dev/tests/integration/testsuite/Magento/Sales/Model/Service/PaymentFailuresServiceTest.php @@ -91,6 +91,8 @@ public function testHandlerWithCustomer(): void 'total' => 'USD 30.0000', 'billingAddress' => $this->quote->getBillingAddress(), 'shippingAddress' => $this->quote->getShippingAddress(), + 'billingAddressHtml' => $this->quote->getBillingAddress()->format('html'), + 'shippingAddressHtml' => $this->quote->getShippingAddress()->format('html'), ]; $this->assertEquals($expectedVars, $templateVars); diff --git a/dev/tests/integration/testsuite/Magento/UrlRewrite/Block/Catalog/Edit/FormTest.php b/dev/tests/integration/testsuite/Magento/UrlRewrite/Block/Catalog/Edit/FormTest.php index 65cba5947ba05..83a29d31b5b9d 100644 --- a/dev/tests/integration/testsuite/Magento/UrlRewrite/Block/Catalog/Edit/FormTest.php +++ b/dev/tests/integration/testsuite/Magento/UrlRewrite/Block/Catalog/Edit/FormTest.php @@ -239,9 +239,11 @@ public static function getEntityStoresDataProvider() ['label' => 'Main Website', 'value' => [], '__disableTmpl' => true], [ 'label' => '    Main Website Store', - 'value' => [['label' => '    Default Store View', 'value' => 1]], - '__disableTmpl' => true - ] + 'value' => [ + ['label' => '    Default Store View', 'value' => 1, '__disableTmpl' => true], + ], + '__disableTmpl' => true, + ], ], ], [ @@ -251,10 +253,12 @@ public static function getEntityStoresDataProvider() ['label' => 'Main Website', 'value' => [], '__disableTmpl' => true], [ 'label' => '    Main Website Store', - 'value' => [['label' => '    Default Store View', 'value' => 1]], - '__disableTmpl' => true - ] - ] + 'value' => [ + ['label' => '    Default Store View', 'value' => 1, '__disableTmpl' => true], + ], + '__disableTmpl' => true, + ], + ], ], [ ['entity_id' => 2, 'name' => 'product2', 'url_key' => 'product2', 'store_ids' => [1]], @@ -263,11 +267,13 @@ public static function getEntityStoresDataProvider() ['label' => 'Main Website', 'value' => [], '__disableTmpl' => true], [ 'label' => '    Main Website Store', - 'value' => [['label' => '    Default Store View', 'value' => 1]], - '__disableTmpl' => true - ] - ] - ] + 'value' => [ + ['label' => '    Default Store View', 'value' => 1, '__disableTmpl' => true], + ], + '__disableTmpl' => true, + ], + ], + ], ]; } } diff --git a/dev/tests/integration/testsuite/Magento/UrlRewrite/Block/Cms/Page/Edit/FormTest.php b/dev/tests/integration/testsuite/Magento/UrlRewrite/Block/Cms/Page/Edit/FormTest.php index 041a2c268a55a..868f36d2364b5 100644 --- a/dev/tests/integration/testsuite/Magento/UrlRewrite/Block/Cms/Page/Edit/FormTest.php +++ b/dev/tests/integration/testsuite/Magento/UrlRewrite/Block/Cms/Page/Edit/FormTest.php @@ -81,8 +81,10 @@ public function testGetEntityStores() ['label' => 'Main Website', 'value' => [], '__disableTmpl' => true], [ 'label' => '    Main Website Store', - 'value' => [['label' => '    Default Store View', 'value' => 1]], - '__disableTmpl' => true + 'value' => [ + ['label' => '    Default Store View', 'value' => 1, '__disableTmpl' => true] + ], + '__disableTmpl' => true, ], ]; $this->assertEquals($expectedStores, $form->getElement('store_id')->getValues()); diff --git a/dev/tests/integration/testsuite/Magento/User/Controller/Adminhtml/User/DeleteTest.php b/dev/tests/integration/testsuite/Magento/User/Controller/Adminhtml/User/DeleteTest.php index 9518a6f6d84d9..88699e0dbda9f 100644 --- a/dev/tests/integration/testsuite/Magento/User/Controller/Adminhtml/User/DeleteTest.php +++ b/dev/tests/integration/testsuite/Magento/User/Controller/Adminhtml/User/DeleteTest.php @@ -22,6 +22,7 @@ public function testDeleteActionWithError() $messageManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager() ->get(\Magento\Framework\Message\ManagerInterface::class); $user->load(1); + $this->getRequest()->setMethod('POST'); $this->getRequest()->setPostValue('user_id', $user->getId() . '_suffix_ignored_in_mysql_casting_to_int'); $this->dispatch('backend/admin/user/delete'); diff --git a/dev/tests/static/framework/Magento/Sniffs/Html/HtmlDirectiveSniff.php b/dev/tests/static/framework/Magento/Sniffs/Html/HtmlDirectiveSniff.php new file mode 100644 index 0000000000000..33ffdf29dca93 --- /dev/null +++ b/dev/tests/static/framework/Magento/Sniffs/Html/HtmlDirectiveSniff.php @@ -0,0 +1,257 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ + +declare(strict_types=1); + +namespace Magento\Sniffs\Html; + +use Magento\Framework\Filter\Template; +use PHP_CodeSniffer\Sniffs\Sniff; +use PHP_CodeSniffer\Files\File; + +/** + * Sniff for invalid directive usage in HTML templates + */ +class HtmlDirectiveSniff implements Sniff +{ + /** + * @var array + */ + private $usedVariables = []; + + /** + * @var array + */ + private $unfilteredVariables = []; + + /** + * @inheritDoc + */ + public function register() + { + return [T_INLINE_HTML]; + } + + /** + * Detect invalid usage of template filter directives + * + * @param File $phpcsFile + * @param int $stackPtr + * @return int|void + */ + public function process(File $phpcsFile, $stackPtr) + { + $this->usedVariables = []; + $this->unfilteredVariables = []; + if ($stackPtr !== 0) { + return; + } + + $html = $phpcsFile->getTokensAsString($stackPtr, count($phpcsFile->getTokens())); + + if (empty($html)) { + return; + } + + $html = $this->processIfDirectives($html, $phpcsFile); + $html = $this->processDependDirectives($html, $phpcsFile); + $html = $this->processForDirectives($html, $phpcsFile); + $html = $this->processVarDirectivesAndParams($html, $phpcsFile); + + $this->validateDefinedVariables($phpcsFile, $html); + } + + /** + * Process the {{if}} directives in the file + * + * @param string $html + * @param File $phpcsFile + * @return string The processed template + */ + private function processIfDirectives(string $html, File $phpcsFile): string + { + if (preg_match_all(Template::CONSTRUCTION_IF_PATTERN, $html, $constructions, PREG_SET_ORDER)) { + foreach ($constructions as $construction) { + // validate {{if <var>}} + $this->validateVariableUsage($phpcsFile, $construction[1]); + $html = str_replace($construction[0], $construction[2] . ($construction[4] ?? ''), $html); + } + } + + return $html; + } + + /** + * Process the {{depend}} directives in the file + * + * @param string $html + * @param File $phpcsFile + * @return string The processed template + */ + private function processDependDirectives(string $html, File $phpcsFile): string + { + if (preg_match_all(Template::CONSTRUCTION_DEPEND_PATTERN, $html, $constructions, PREG_SET_ORDER)) { + foreach ($constructions as $construction) { + // validate {{depend <var>}} + $this->validateVariableUsage($phpcsFile, $construction[1]); + $html = str_replace($construction[0], $construction[2], $html); + } + } + + return $html; + } + + /** + * Process the {{for}} directives in the file + * + * @param string $html + * @param File $phpcsFile + * @return string The processed template + */ + private function processForDirectives(string $html, File $phpcsFile): string + { + if (preg_match_all(Template::LOOP_PATTERN, $html, $constructions, PREG_SET_ORDER)) { + foreach ($constructions as $construction) { + // validate {{for in <var>}} + $this->validateVariableUsage($phpcsFile, $construction['loopData']); + $html = str_replace($construction[0], $construction['loopBody'], $html); + } + } + + return $html; + } + + /** + * Process the all var directives and var directive params in the file + * + * @param string $html + * @param File $phpcsFile + * @return string The processed template + */ + private function processVarDirectivesAndParams(string $html, File $phpcsFile): string + { + if (preg_match_all(Template::CONSTRUCTION_PATTERN, $html, $constructions, PREG_SET_ORDER)) { + foreach ($constructions as $construction) { + if (empty($construction[2])) { + continue; + } + + if ($construction[1] === 'var') { + $this->validateVariableUsage($phpcsFile, $construction[2]); + } else { + $this->validateDirectiveBody($phpcsFile, $construction[2]); + } + } + } + + return $html; + } + + /** + * Validate directive body is valid. e.g. {{somedir <directive body>}} + * + * @param File $phpcsFile + * @param string $body + */ + private function validateDirectiveBody(File $phpcsFile, string $body): void + { + $parameterTokenizer = new Template\Tokenizer\Parameter(); + $parameterTokenizer->setString($body); + $params = $parameterTokenizer->tokenize(); + + foreach ($params as $param) { + if (substr($param, 0, 1) === '$') { + $this->validateVariableUsage($phpcsFile, substr($param, 1)); + } + } + } + + /** + * Validate directive variable usage is valid. e.g. {{var <variable body>}} or {{somedir some_param="$foo.bar()"}} + * + * @param File $phpcsFile + * @param string $body + */ + private function validateVariableUsage(File $phpcsFile, string $body): void + { + $this->usedVariables[] = 'var ' . trim($body); + if (strpos($body, '|') !== false) { + $this->unfilteredVariables[] = 'var ' . trim(explode('|', $body, 2)[0]); + } + $variableTokenizer = new Template\Tokenizer\Variable(); + $variableTokenizer->setString($body); + $stack = $variableTokenizer->tokenize(); + + if (empty($stack)) { + return; + } + + foreach ($stack as $token) { + // As a static analyzer there are no data types to know if this is a DataObject so allow all get* methods + if ($token['type'] === 'method' && substr($token['name'], 0, 3) !== 'get') { + $phpcsFile->addError( + 'Template directives may not invoke methods. Only scalar array access is allowed.' . PHP_EOL + . 'Found "' . trim($body) . '"', + null, + 'HtmlTemplates.DirectiveUsage.ProhibitedMethodCall' + ); + } + } + } + + /** + * Validate the variables defined in the template comment block match the variables actually used in the template + * + * @param File $phpcsFile + * @param string $templateText + */ + private function validateDefinedVariables(File $phpcsFile, string $templateText): void + { + preg_match('/<!--@vars\s*((?:.)*?)\s*@-->/us', $templateText, $matches); + + $definedVariables = []; + + if (!empty($matches[1])) { + $definedVariables = json_decode(str_replace("\n", '', $matches[1]), true); + if (json_last_error()) { + $phpcsFile->addError( + 'Template @vars comment block contains invalid JSON.', + null, + 'HtmlTemplates.DirectiveUsage.InvalidVarsJSON' + ); + return; + } + + foreach ($definedVariables as $var => $label) { + if (empty($label)) { + $phpcsFile->addError( + 'Template @vars comment block contains invalid label.' . PHP_EOL + . 'Label for variable "' . $var . '" is empty.', + null, + 'HtmlTemplates.DirectiveUsage.InvalidVariableLabel' + ); + } + } + + $definedVariables = array_keys($definedVariables); + foreach ($definedVariables as $definedVariable) { + if (strpos($definedVariable, '|') !== false) { + $definedVariables[] = trim(explode('|', $definedVariable, 2)[0]); + } + } + } + + $undefinedVariables = array_diff($this->usedVariables, $definedVariables, $this->unfilteredVariables); + foreach ($undefinedVariables as $undefinedVariable) { + $phpcsFile->addError( + 'Template @vars comment block is missing a variable used in the template.' . PHP_EOL + . 'Missing variable: ' . $undefinedVariable, + null, + 'HtmlTemplates.DirectiveUsage.UndefinedVariable' + ); + } + } +} diff --git a/dev/tests/static/framework/autoload.php b/dev/tests/static/framework/autoload.php index 21b3734e22726..4f04f4fbb0246 100644 --- a/dev/tests/static/framework/autoload.php +++ b/dev/tests/static/framework/autoload.php @@ -14,7 +14,14 @@ require $baseDir . '/vendor/squizlabs/php_codesniffer/autoload.php'; $testsBaseDir = $baseDir . '/dev/tests/static'; $autoloadWrapper = \Magento\Framework\Autoload\AutoloaderRegistry::getAutoloader(); -$autoloadWrapper->addPsr4('Magento\\', $testsBaseDir . '/testsuite/Magento/'); +$autoloadWrapper->addPsr4( + 'Magento\\', + [ + $testsBaseDir . '/testsuite/Magento/', + $testsBaseDir . '/framework/Magento/', + $testsBaseDir . '/framework/tests/unit/testsuite/Magento', + ] +); $autoloadWrapper->addPsr4( 'Magento\\TestFramework\\', [ diff --git a/dev/tests/static/framework/tests/unit/testsuite/Magento/Sniffs/Html/AbstractHtmlSniffTest.php b/dev/tests/static/framework/tests/unit/testsuite/Magento/Sniffs/Html/AbstractHtmlSniffTest.php new file mode 100644 index 0000000000000..1b4512eb4cdd7 --- /dev/null +++ b/dev/tests/static/framework/tests/unit/testsuite/Magento/Sniffs/Html/AbstractHtmlSniffTest.php @@ -0,0 +1,50 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ + +declare(strict_types=1); + +namespace Magento\Sniffs\Html; + +use Magento\TestFramework\CodingStandard\Tool\CodeSniffer\HtmlWrapper; +use PHPUnit\Framework\TestCase; +use Magento\TestFramework\CodingStandard\Tool\CodeSniffer; + +/** + * Test an html sniff on real files. + */ +abstract class AbstractHtmlSniffTest extends TestCase +{ + /** + * Run CS on provided files. + * + * @param string $fileUnderTest + * @param string $expectedReportFile + * @return void + * @dataProvider processDataProvider + */ + public function testProcess(string $fileUnderTest, string $expectedReportFile): void + { + $reportFile = __DIR__ . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . 'phpcs_report.txt'; + $ruleSetDir = __DIR__ . DIRECTORY_SEPARATOR . '_files'; + $wrapper = new HtmlWrapper(); + $codeSniffer = new CodeSniffer($ruleSetDir, $reportFile, $wrapper); + $codeSniffer->setExtensions([HtmlWrapper::FILE_EXTENSION]); + $result = $codeSniffer->run( + [__DIR__ . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . $fileUnderTest] + ); + // Remove the absolute path to the file from the output + //phpcs:ignore + $actual = preg_replace('/^.+\n/', '', ltrim(file_get_contents($reportFile))); + //phpcs:ignore + $expected = file_get_contents( + __DIR__ . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . $expectedReportFile + ); + //phpcs:ignore + unlink($reportFile); + $this->assertEquals(1, $result); + $this->assertEquals($expected, $actual); + } +} diff --git a/dev/tests/static/framework/tests/unit/testsuite/Magento/Sniffs/Html/HtmlBindingSniffTest.php b/dev/tests/static/framework/tests/unit/testsuite/Magento/Sniffs/Html/HtmlBindingSniffTest.php index 564b28086eeb1..a75e229bd5fba 100644 --- a/dev/tests/static/framework/tests/unit/testsuite/Magento/Sniffs/Html/HtmlBindingSniffTest.php +++ b/dev/tests/static/framework/tests/unit/testsuite/Magento/Sniffs/Html/HtmlBindingSniffTest.php @@ -8,14 +8,10 @@ namespace Magento\Sniffs\Html; -use Magento\TestFramework\CodingStandard\Tool\CodeSniffer\HtmlWrapper; -use PHPUnit\Framework\TestCase; -use Magento\TestFramework\CodingStandard\Tool\CodeSniffer; - /** * Test the html binding sniff on real files. */ -class HtmlBindingSniffTest extends TestCase +class HtmlBindingSniffTest extends AbstractHtmlSniffTest { /** * Files to sniff and expected reports. @@ -31,35 +27,4 @@ public function processDataProvider(): array ] ]; } - - /** - * Run CS on provided files. - * - * @param string $fileUnderTest - * @param string $expectedReportFile - * @return void - * @dataProvider processDataProvider - */ - public function testProcess(string $fileUnderTest, string $expectedReportFile): void - { - $reportFile = __DIR__ . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . 'phpcs_report.txt'; - $ruleSetDir = __DIR__ . DIRECTORY_SEPARATOR . '_files'; - $wrapper = new HtmlWrapper(); - $codeSniffer = new CodeSniffer($ruleSetDir, $reportFile, $wrapper); - $codeSniffer->setExtensions([HtmlWrapper::FILE_EXTENSION]); - $result = $codeSniffer->run( - [__DIR__ . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . $fileUnderTest] - ); - // Remove the absolute path to the file from the output - //phpcs:ignore - $actual = preg_replace('/^.+\n/', '', ltrim(file_get_contents($reportFile))); - //phpcs:ignore - $expected = file_get_contents( - __DIR__ . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . $expectedReportFile - ); - //phpcs:ignore - unlink($reportFile); - $this->assertEquals(1, $result); - $this->assertEquals($expected, $actual); - } } diff --git a/dev/tests/static/framework/tests/unit/testsuite/Magento/Sniffs/Html/HtmlDirectiveSniffTest.php b/dev/tests/static/framework/tests/unit/testsuite/Magento/Sniffs/Html/HtmlDirectiveSniffTest.php new file mode 100644 index 0000000000000..e8c015d7c2d5d --- /dev/null +++ b/dev/tests/static/framework/tests/unit/testsuite/Magento/Sniffs/Html/HtmlDirectiveSniffTest.php @@ -0,0 +1,34 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ + +declare(strict_types=1); + +namespace Magento\Sniffs\Html; + +/** + * Test the html directive sniff on real files. + */ +class HtmlDirectiveSniffTest extends AbstractHtmlSniffTest +{ + /** + * Files to sniff and expected reports. + * + * @return array + */ + public function processDataProvider(): array + { + return [ + [ + 'test-html-directive.html', + 'test-html-directive-errors.txt' + ], + [ + 'test-html-directive-invalid-json.html', + 'test-html-directive-invalid-json-errors.txt' + ] + ]; + } +} diff --git a/dev/tests/static/framework/tests/unit/testsuite/Magento/Sniffs/Html/_files/test-html-directive-errors.txt b/dev/tests/static/framework/tests/unit/testsuite/Magento/Sniffs/Html/_files/test-html-directive-errors.txt new file mode 100644 index 0000000000000..36f9a1112af31 --- /dev/null +++ b/dev/tests/static/framework/tests/unit/testsuite/Magento/Sniffs/Html/_files/test-html-directive-errors.txt @@ -0,0 +1,46 @@ +------------------------------------------------------------------------------------------------------------------------------------ +FOUND 20 ERRORS AFFECTING 1 LINE +------------------------------------------------------------------------------------------------------------------------------------ + 1 | ERROR | Template directives may not invoke methods. Only scalar array access is allowed. + | | Found "foo.badif().bad" + 1 | ERROR | Template directives may not invoke methods. Only scalar array access is allowed. + | | Found "foo.badif3()" + 1 | ERROR | Template directives may not invoke methods. Only scalar array access is allowed. + | | Found "foo.badDepend().bad" + 1 | ERROR | Template directives may not invoke methods. Only scalar array access is allowed. + | | Found "foo.badForLoop()" + 1 | ERROR | Template directives may not invoke methods. Only scalar array access is allowed. + | | Found "foo.bad()" + 1 | ERROR | Template directives may not invoke methods. Only scalar array access is allowed. + | | Found "foo.bad()|alsobad" + 1 | ERROR | Template directives may not invoke methods. Only scalar array access is allowed. + | | Found "foo.bad($bad.param())" + 1 | ERROR | Template directives may not invoke methods. Only scalar array access is allowed. + | | Found "foo.bad.baz()" + 1 | ERROR | Template directives may not invoke methods. Only scalar array access is allowed. + | | Found "foo.bad.trans()" + 1 | ERROR | Template directives may not invoke methods. Only scalar array access is allowed. + | | Found "bad.bad()" + 1 | ERROR | Template directives may not invoke methods. Only scalar array access is allowed. + | | Found "bad.multiline()" + 1 | ERROR | Template directives may not invoke methods. Only scalar array access is allowed. + | | Found "foo.badif2()" + 1 | ERROR | Template directives may not invoke methods. Only scalar array access is allowed. + | | Found "foo.badif4()" + 1 | ERROR | Template directives may not invoke methods. Only scalar array access is allowed. + | | Found "foo.badif5()" + 1 | ERROR | Template directives may not invoke methods. Only scalar array access is allowed. + | | Found "foo.baddepend2()" + 1 | ERROR | Template directives may not invoke methods. Only scalar array access is allowed. + | | Found "foo.badFor()" + 1 | ERROR | Template directives may not invoke methods. Only scalar array access is allowed. + | | Found "foo.badFor()|alsobad" + 1 | ERROR | Template @vars comment block contains invalid label. + | | Label for variable "var bad.multiline()" is empty. + 1 | ERROR | Template @vars comment block is missing a variable used in the template. + | | Missing variable: var foo.undeclared.baz + 1 | ERROR | Template @vars comment block is missing a variable used in the template. + | | Missing variable: var undeclared.var.error +------------------------------------------------------------------------------------------------------------------------------------ + + diff --git a/dev/tests/static/framework/tests/unit/testsuite/Magento/Sniffs/Html/_files/test-html-directive-invalid-json-errors.txt b/dev/tests/static/framework/tests/unit/testsuite/Magento/Sniffs/Html/_files/test-html-directive-invalid-json-errors.txt new file mode 100644 index 0000000000000..f3846c05f0375 --- /dev/null +++ b/dev/tests/static/framework/tests/unit/testsuite/Magento/Sniffs/Html/_files/test-html-directive-invalid-json-errors.txt @@ -0,0 +1,7 @@ +------------------------------------------------------------------------------------------------------------------------------------------------- +FOUND 1 ERROR AFFECTING 1 LINE +------------------------------------------------------------------------------------------------------------------------------------------------- + 1 | ERROR | Template @vars comment block contains invalid JSON. +------------------------------------------------------------------------------------------------------------------------------------------------- + + diff --git a/dev/tests/static/framework/tests/unit/testsuite/Magento/Sniffs/Html/_files/test-html-directive-invalid-json.html b/dev/tests/static/framework/tests/unit/testsuite/Magento/Sniffs/Html/_files/test-html-directive-invalid-json.html new file mode 100644 index 0000000000000..6a6b222c38d3b --- /dev/null +++ b/dev/tests/static/framework/tests/unit/testsuite/Magento/Sniffs/Html/_files/test-html-directive-invalid-json.html @@ -0,0 +1,12 @@ +<!-- +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ +--> +<!--@vars { +"var foo.good":"Some variable", +"var foo.good|stillfine""Some variable" +} @--> + +Template content doesn't matter. The JSON is invalid. diff --git a/dev/tests/static/framework/tests/unit/testsuite/Magento/Sniffs/Html/_files/test-html-directive.html b/dev/tests/static/framework/tests/unit/testsuite/Magento/Sniffs/Html/_files/test-html-directive.html new file mode 100644 index 0000000000000..b6b4e15480143 --- /dev/null +++ b/dev/tests/static/framework/tests/unit/testsuite/Magento/Sniffs/Html/_files/test-html-directive.html @@ -0,0 +1,117 @@ +<!-- +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ +--> +<!--@vars { +"var foo.good":"Some variable", +"var foo.good|stillfine":"Some variable", +"var foo.bad()":"Some variable", +"var foo.bad()|alsobad":"Some variable", +"var foo.getGood()":"Some variable", +"var foo.foo.getGood()":"Some variable", +"var foo.getGood().fine":"Some variable", +"var foo.getGood().fine|alsofine":"Some variable", +"var foo.bad($bad.param())":"Some variable", +"var foo.bad.baz()":"Some variable", +"var foo.good.trans":"Some variable", +"var extra.var.getOhNo()":"Uh Oh, Error time!", +"var foo.bad.trans()":"Some variable", +"var bad.bad()":"Some variable", +"var foo.goodif":"Some Variable", +"var foo.goodif":"Some Variable", +"var foo.badif().bad":"Some Variable", +"var foo.badif3()":"Some Variable", +"var foo.gooddepend":"Some Variable", +"var foo.badDepend().bad":"Some Variable", +"var foo.goodFor":"Some Variable", +"var foo.getGoodFor()":"Some Variable", +"var foo.badForLoop()":"Some Variable", +"var foo.goodif2":"Some Variable", +"var foo.goodif2":"Some Variable", +"var foo.goodif3":"Some Variable", +"var foo.badif2()":"Some Variable", +"var foo.badif4()":"Some Variable", +"var foo.badif5()":"Some Variable", +"var foo.gooddepend2":"Some Variable", +"var foo.baddepend2()":"Some Variable", +"var foo.goodFor":"Some Variable", +"var foo.goodFor|stillfine":"Some Variable", +"var foo.badFor()":"Some Variable", +"var foo.badFor()|alsobad":"Some Variable", +"foobar baz":"Some other directive as a variable", +"var iusefilterslater|raw":"Some Variable", +"var bad.multiline()":"" +} @--> + +<div>{{var foo.good}}</div> +<div>{{var foo.good|stillfine}}</div> +<div>{{var foo.bad()}}</div> +<div>{{var foo.bad()|alsobad}}</div> +<div>{{var foo.getGood()}}</div> +<div>{{var foo.foo.getGood()}}</div> +<div>{{var foo.getGood().fine}}</div> +<div>{{var foo.getGood().fine|alsofine}}</div> +<div>{{var foo.bad($bad.param())}}</div> +<div>{{var foo.bad.baz()}}</div> +<div>{{var foo.undeclared.baz}}</div> +<div>{{trans "foo %bar" bar=$foo.good.trans}}</div> +<div>{{trans "foo %bar" bar=$foo.bad.trans()}}</div> +<div>{{trans "foo %bar" bar="something"}}</div> +<div>{{trans "foo %bar" bar="something" bad="$bad.bad()" something=$undeclared.var.error}}</div> +<div>{{something " + <blah>foo %bar</blah>blah + " bar="something" +}}</div> +<div>{{something " + <blah>foo %bar</blah>blah + " bar="something" bad=$bad.multiline() +}}</div> + +{{if foo.goodif}} +<div>{{var foo.goodif2}}</div> +{{/if}} + +{{if foo.goodif}} +<div>{{var foo.goodif2}}</div> +{{else}} +<div>{{var foo.goodif3}}</div> +{{/if}} + +{{if foo.badif().bad}} +<div>{{var foo.badif2()}}</div> +{{/if}} + +{{if foo.badif3()}} +<div>{{var foo.badif4()}}</div> +{{else}} +<div>{{var foo.badif5()}}</div> +{{/if}} + +{{depend foo.gooddepend}} +<div>{{var foo.gooddepend2}}</div> +{{/depend}} + +{{depend foo.badDepend().bad}} +<div>{{var foo.baddepend2()}}</div> +{{/depend}} + +{{for item in foo.goodFor}} +<div>{{var foo.goodFor}}</div> +<div>{{var foo.goodFor|stillfine}}</div> +<div>{{var foo.badFor()}}</div> +<div>{{var foo.badFor()|alsobad}}</div> +{{/for}} + +{{for item in foo.getGoodFor()}} +<div>loopy</div> +{{/for}} + +{{for item in foo.badForLoop()}} +<div>this loop has a bad variable</div> +{{/for}} + +{{depend iusefilterslater}} + {{var iusefilterslater|raw}} +{{/depend}} diff --git a/lib/internal/Magento/Framework/Acl.php b/lib/internal/Magento/Framework/Acl.php index 86b28f7e2ceb4..8c80bf94e3f2a 100644 --- a/lib/internal/Magento/Framework/Acl.php +++ b/lib/internal/Magento/Framework/Acl.php @@ -9,6 +9,7 @@ * ACL. Can be queried for relations between roles and resources. * * @api + * @since 100.0.2 */ class Acl extends \Zend_Acl { diff --git a/lib/internal/Magento/Framework/Acl/AclResource.php b/lib/internal/Magento/Framework/Acl/AclResource.php index 585b4b5d8514b..47a85a069329e 100644 --- a/lib/internal/Magento/Framework/Acl/AclResource.php +++ b/lib/internal/Magento/Framework/Acl/AclResource.php @@ -11,6 +11,7 @@ /** * @api + * @since 100.0.2 */ class AclResource extends \Zend_Acl_Resource { diff --git a/lib/internal/Magento/Framework/Acl/AclResource/ProviderInterface.php b/lib/internal/Magento/Framework/Acl/AclResource/ProviderInterface.php index 34f85f3641ccd..c11fb7fcd56ed 100644 --- a/lib/internal/Magento/Framework/Acl/AclResource/ProviderInterface.php +++ b/lib/internal/Magento/Framework/Acl/AclResource/ProviderInterface.php @@ -9,6 +9,7 @@ * Acl resources provider interface * * @api + * @since 100.0.2 */ interface ProviderInterface { diff --git a/lib/internal/Magento/Framework/Acl/Builder.php b/lib/internal/Magento/Framework/Acl/Builder.php index 50e4f0b7b5ca9..03adaca0589ce 100644 --- a/lib/internal/Magento/Framework/Acl/Builder.php +++ b/lib/internal/Magento/Framework/Acl/Builder.php @@ -11,6 +11,7 @@ * On consequent requests, ACL object is deserialized from cache. * * @api + * @since 100.0.2 */ class Builder { @@ -77,7 +78,7 @@ public function getAcl() * Remove cached ACL instance. * * @return $this - * @since 100.2.0 + * @since 101.0.0 */ public function resetRuntimeAcl() { diff --git a/lib/internal/Magento/Framework/Acl/Data/CacheInterface.php b/lib/internal/Magento/Framework/Acl/Data/CacheInterface.php index bd6ce6d2c2095..e0a1617fd226d 100644 --- a/lib/internal/Magento/Framework/Acl/Data/CacheInterface.php +++ b/lib/internal/Magento/Framework/Acl/Data/CacheInterface.php @@ -10,7 +10,7 @@ * Interface for caching ACL data * * @api - * @since 100.2.0 + * @since 101.0.0 */ interface CacheInterface extends \Magento\Framework\Cache\FrontendInterface { diff --git a/lib/internal/Magento/Framework/Acl/LoaderInterface.php b/lib/internal/Magento/Framework/Acl/LoaderInterface.php index 920186fc2121a..a61fcbdc24255 100644 --- a/lib/internal/Magento/Framework/Acl/LoaderInterface.php +++ b/lib/internal/Magento/Framework/Acl/LoaderInterface.php @@ -12,6 +12,7 @@ * with data (roles/rules/resources) persisted in external storage. * * @api + * @since 100.0.2 */ interface LoaderInterface { diff --git a/lib/internal/Magento/Framework/Acl/RootResource.php b/lib/internal/Magento/Framework/Acl/RootResource.php index 326416c346563..9247784e94414 100644 --- a/lib/internal/Magento/Framework/Acl/RootResource.php +++ b/lib/internal/Magento/Framework/Acl/RootResource.php @@ -9,6 +9,7 @@ /** * @api + * @since 100.0.2 */ class RootResource { diff --git a/lib/internal/Magento/Framework/Amqp/Config.php b/lib/internal/Magento/Framework/Amqp/Config.php index 684c5cd38b1e4..3fa433c9354ea 100644 --- a/lib/internal/Magento/Framework/Amqp/Config.php +++ b/lib/internal/Magento/Framework/Amqp/Config.php @@ -16,7 +16,7 @@ * Reads the Amqp config in the deployed environment configuration * * @api - * @since 100.0.0 + * @since 102.0.3 */ class Config { @@ -96,7 +96,6 @@ class Config * @param DeploymentConfig $config * @param string $connectionName * @param ConnectionFactory|null $connectionFactory - * @since 100.0.0 */ public function __construct( DeploymentConfig $config, @@ -113,7 +112,7 @@ public function __construct( * Destructor * * @return void - * @since 100.0.0 + * @since 102.0.3 */ public function __destruct() { @@ -126,7 +125,7 @@ public function __destruct() * @param string $key * @return string * @throws \LogicException - * @since 100.0.0 + * @since 102.0.3 */ public function getValue($key) { @@ -162,7 +161,7 @@ private function createConnection(): AbstractConnection * * @return AMQPChannel * @throws \LogicException - * @since 100.0.0 + * @since 102.0.3 */ public function getChannel() { diff --git a/lib/internal/Magento/Framework/Amqp/ConnectionTypeResolver.php b/lib/internal/Magento/Framework/Amqp/ConnectionTypeResolver.php index 9b600278144f0..0bd650919316b 100644 --- a/lib/internal/Magento/Framework/Amqp/ConnectionTypeResolver.php +++ b/lib/internal/Magento/Framework/Amqp/ConnectionTypeResolver.php @@ -12,7 +12,7 @@ * Amqp connection type resolver. * * @api - * @since 100.0.0 + * @since 102.0.3 */ class ConnectionTypeResolver implements ConnectionTypeResolverInterface { @@ -27,7 +27,6 @@ class ConnectionTypeResolver implements ConnectionTypeResolverInterface * Initialize dependencies. * * @param DeploymentConfig $deploymentConfig - * @since 100.0.0 */ public function __construct(DeploymentConfig $deploymentConfig) { @@ -42,7 +41,7 @@ public function __construct(DeploymentConfig $deploymentConfig) /** * {@inheritdoc} - * @since 100.0.0 + * @since 102.0.3 */ public function getConnectionType($connectionName) { diff --git a/lib/internal/Magento/Framework/Amqp/Exchange.php b/lib/internal/Magento/Framework/Amqp/Exchange.php index e57fa09b83d1b..2e03d7bab7e35 100644 --- a/lib/internal/Magento/Framework/Amqp/Exchange.php +++ b/lib/internal/Magento/Framework/Amqp/Exchange.php @@ -18,7 +18,7 @@ * Class message exchange. * * @api - * @since 100.0.0 + * @since 102.0.3 */ class Exchange implements ExchangeInterface { @@ -57,7 +57,6 @@ class Exchange implements ExchangeInterface * @param ResponseQueueNameBuilder $responseQueueNameBuilder * @param CommunicationConfigInterface $communicationConfig * @param int $rpcConnectionTimeout - * @since 100.0.0 */ public function __construct( Config $amqpConfig, @@ -75,7 +74,7 @@ public function __construct( /** * {@inheritdoc} - * @since 100.0.0 + * @since 102.0.3 */ public function enqueue($topic, EnvelopeInterface $envelope) { diff --git a/lib/internal/Magento/Framework/Amqp/ExchangeFactory.php b/lib/internal/Magento/Framework/Amqp/ExchangeFactory.php index 5291b3ab59794..81071ddf736bd 100644 --- a/lib/internal/Magento/Framework/Amqp/ExchangeFactory.php +++ b/lib/internal/Magento/Framework/Amqp/ExchangeFactory.php @@ -9,7 +9,7 @@ * Factory class for @see \Magento\Framework\Amqp\Exchange * * @api - * @since 100.0.0 + * @since 102.0.3 */ class ExchangeFactory implements \Magento\Framework\MessageQueue\ExchangeFactoryInterface { @@ -38,7 +38,6 @@ class ExchangeFactory implements \Magento\Framework\MessageQueue\ExchangeFactory * @param \Magento\Framework\ObjectManagerInterface $objectManager * @param ConfigPool $configPool * @param string $instanceName - * @since 100.0.0 */ public function __construct( \Magento\Framework\ObjectManagerInterface $objectManager, @@ -52,7 +51,7 @@ public function __construct( /** * {@inheritdoc} - * @since 100.0.0 + * @since 102.0.3 */ public function create($connectionName, array $data = []) { diff --git a/lib/internal/Magento/Framework/Amqp/Queue.php b/lib/internal/Magento/Framework/Amqp/Queue.php index ff5bae5017fb9..8ba7b3d0e227f 100644 --- a/lib/internal/Magento/Framework/Amqp/Queue.php +++ b/lib/internal/Magento/Framework/Amqp/Queue.php @@ -17,7 +17,7 @@ * Class Queue * * @api - * @since 100.0.0 + * @since 102.0.3 */ class Queue implements QueueInterface { @@ -48,7 +48,6 @@ class Queue implements QueueInterface * @param EnvelopeFactory $envelopeFactory * @param string $queueName * @param LoggerInterface $logger - * @since 100.0.0 */ public function __construct( Config $amqpConfig, @@ -64,7 +63,7 @@ public function __construct( /** * @inheritdoc - * @since 100.0.0 + * @since 102.0.3 */ public function dequeue() { @@ -99,7 +98,7 @@ public function dequeue() /** * @inheritdoc - * @since 100.0.0 + * @since 102.0.3 */ public function acknowledge(EnvelopeInterface $envelope) { @@ -120,7 +119,7 @@ public function acknowledge(EnvelopeInterface $envelope) /** * @inheritdoc - * @since 100.0.0 + * @since 102.0.3 */ public function subscribe($callback) { @@ -154,7 +153,7 @@ public function subscribe($callback) /** * @inheritdoc - * @since 100.0.0 + * @since 102.0.3 */ public function reject(EnvelopeInterface $envelope, $requeue = true, $rejectionMessage = null) { @@ -173,7 +172,7 @@ public function reject(EnvelopeInterface $envelope, $requeue = true, $rejectionM /** * @inheritdoc - * @since 100.0.0 + * @since 102.0.3 */ public function push(EnvelopeInterface $envelope) { diff --git a/lib/internal/Magento/Framework/Amqp/QueueFactory.php b/lib/internal/Magento/Framework/Amqp/QueueFactory.php index 9f1635a87977b..723f2251d5d18 100644 --- a/lib/internal/Magento/Framework/Amqp/QueueFactory.php +++ b/lib/internal/Magento/Framework/Amqp/QueueFactory.php @@ -9,7 +9,7 @@ * Factory class for @see \Magento\Framework\Amqp\Queue * * @api - * @since 100.0.0 + * @since 102.0.3 */ class QueueFactory implements \Magento\Framework\MessageQueue\QueueFactoryInterface { @@ -38,7 +38,6 @@ class QueueFactory implements \Magento\Framework\MessageQueue\QueueFactoryInterf * @param \Magento\Framework\ObjectManagerInterface $objectManager * @param ConfigPool $configPool * @param string $instanceName - * @since 100.0.0 */ public function __construct( \Magento\Framework\ObjectManagerInterface $objectManager, @@ -52,7 +51,7 @@ public function __construct( /** * {@inheritdoc} - * @since 100.0.0 + * @since 102.0.3 */ public function create($queueName, $connectionName) { diff --git a/lib/internal/Magento/Framework/Amqp/Topology/ArgumentProcessor.php b/lib/internal/Magento/Framework/Amqp/Topology/ArgumentProcessor.php index caa5db4e7ef5c..dcdef340d56fe 100644 --- a/lib/internal/Magento/Framework/Amqp/Topology/ArgumentProcessor.php +++ b/lib/internal/Magento/Framework/Amqp/Topology/ArgumentProcessor.php @@ -6,7 +6,7 @@ namespace Magento\Framework\Amqp\Topology; /** - * @deprecated 100.0.0 + * @deprecated 102.0.3 * see: https://github.com/php-amqplib/php-amqplib/issues/405 */ trait ArgumentProcessor diff --git a/lib/internal/Magento/Framework/Amqp/composer.json b/lib/internal/Magento/Framework/Amqp/composer.json index 7963561420586..5e43b17bf6ad4 100644 --- a/lib/internal/Magento/Framework/Amqp/composer.json +++ b/lib/internal/Magento/Framework/Amqp/composer.json @@ -10,7 +10,7 @@ "AFL-3.0" ], "require": { - "magento/framework": "*", + "magento/framework": "102.0.*", "php": "~7.1.3||~7.2.0||~7.3.0", "php-amqplib/php-amqplib": "~2.7.0" }, @@ -21,5 +21,6 @@ "files": [ "registration.php" ] - } + }, + "version": "100.3.3" } diff --git a/lib/internal/Magento/Framework/Api/AbstractExtensibleObject.php b/lib/internal/Magento/Framework/Api/AbstractExtensibleObject.php index 97c24167d47e1..02e7ee18c3d47 100644 --- a/lib/internal/Magento/Framework/Api/AbstractExtensibleObject.php +++ b/lib/internal/Magento/Framework/Api/AbstractExtensibleObject.php @@ -12,6 +12,7 @@ * * @SuppressWarnings(PHPMD.NumberOfChildren) * @api + * @since 100.0.2 */ abstract class AbstractExtensibleObject extends AbstractSimpleObject implements CustomAttributesDataInterface { diff --git a/lib/internal/Magento/Framework/Api/AttributeInterface.php b/lib/internal/Magento/Framework/Api/AttributeInterface.php index d208d861d4d2e..5324ddb499fd5 100644 --- a/lib/internal/Magento/Framework/Api/AttributeInterface.php +++ b/lib/internal/Magento/Framework/Api/AttributeInterface.php @@ -10,6 +10,7 @@ * Interface for custom attribute value. * * @api + * @since 100.0.2 */ interface AttributeInterface { diff --git a/lib/internal/Magento/Framework/Api/CustomAttributesDataInterface.php b/lib/internal/Magento/Framework/Api/CustomAttributesDataInterface.php index 3019f84abb15a..d6567db27fc10 100644 --- a/lib/internal/Magento/Framework/Api/CustomAttributesDataInterface.php +++ b/lib/internal/Magento/Framework/Api/CustomAttributesDataInterface.php @@ -10,6 +10,7 @@ * Interface for entities which can be extended with custom attributes. * * @api + * @since 100.0.2 */ interface CustomAttributesDataInterface extends ExtensibleDataInterface { diff --git a/lib/internal/Magento/Framework/Api/Data/ImageContentInterface.php b/lib/internal/Magento/Framework/Api/Data/ImageContentInterface.php index abd770dd12f14..06467be9522cc 100644 --- a/lib/internal/Magento/Framework/Api/Data/ImageContentInterface.php +++ b/lib/internal/Magento/Framework/Api/Data/ImageContentInterface.php @@ -10,6 +10,7 @@ * Image Content data interface * * @api + * @since 100.0.2 */ interface ImageContentInterface { diff --git a/lib/internal/Magento/Framework/Api/Data/VideoContentInterface.php b/lib/internal/Magento/Framework/Api/Data/VideoContentInterface.php index 7b1ea05cf939c..6c8f796ee8655 100644 --- a/lib/internal/Magento/Framework/Api/Data/VideoContentInterface.php +++ b/lib/internal/Magento/Framework/Api/Data/VideoContentInterface.php @@ -12,6 +12,7 @@ * Video Content data interface * * @api + * @since 100.0.2 */ interface VideoContentInterface extends ExtensibleDataInterface { diff --git a/lib/internal/Magento/Framework/Api/ExtensibleDataInterface.php b/lib/internal/Magento/Framework/Api/ExtensibleDataInterface.php index affe86992f273..38cc075559804 100644 --- a/lib/internal/Magento/Framework/Api/ExtensibleDataInterface.php +++ b/lib/internal/Magento/Framework/Api/ExtensibleDataInterface.php @@ -10,6 +10,7 @@ * Interface for entities which can be extended with extension attributes. * * @api + * @since 100.0.2 */ interface ExtensibleDataInterface { diff --git a/lib/internal/Magento/Framework/Api/ExtensionAttribute/JoinDataInterface.php b/lib/internal/Magento/Framework/Api/ExtensionAttribute/JoinDataInterface.php index a0a2f649900fb..3bcd0c2fec29d 100644 --- a/lib/internal/Magento/Framework/Api/ExtensionAttribute/JoinDataInterface.php +++ b/lib/internal/Magento/Framework/Api/ExtensionAttribute/JoinDataInterface.php @@ -10,6 +10,7 @@ * Interface of data holder for extension attribute joins. * * @api + * @since 100.0.2 */ interface JoinDataInterface { diff --git a/lib/internal/Magento/Framework/Api/ExtensionAttribute/JoinProcessorInterface.php b/lib/internal/Magento/Framework/Api/ExtensionAttribute/JoinProcessorInterface.php index 1eaeaef24f419..7fb44aa337cc7 100644 --- a/lib/internal/Magento/Framework/Api/ExtensionAttribute/JoinProcessorInterface.php +++ b/lib/internal/Magento/Framework/Api/ExtensionAttribute/JoinProcessorInterface.php @@ -12,6 +12,7 @@ * Join processor allows to join extension attributes during collections loading. * * @api + * @since 100.0.2 */ interface JoinProcessorInterface { diff --git a/lib/internal/Magento/Framework/Api/ExtensionAttributesInterface.php b/lib/internal/Magento/Framework/Api/ExtensionAttributesInterface.php index 5578ed0137a62..b808fb5a22a38 100644 --- a/lib/internal/Magento/Framework/Api/ExtensionAttributesInterface.php +++ b/lib/internal/Magento/Framework/Api/ExtensionAttributesInterface.php @@ -10,6 +10,7 @@ * Marker interface for all extension attributes interfaces. * * @api + * @since 100.0.2 */ interface ExtensionAttributesInterface { diff --git a/lib/internal/Magento/Framework/Api/Filter.php b/lib/internal/Magento/Framework/Api/Filter.php index 03af29a00ad67..7e99a0038bd78 100644 --- a/lib/internal/Magento/Framework/Api/Filter.php +++ b/lib/internal/Magento/Framework/Api/Filter.php @@ -13,6 +13,7 @@ * * @api * @codeCoverageIgnore + * @since 100.0.2 */ class Filter extends AbstractSimpleObject { diff --git a/lib/internal/Magento/Framework/Api/FilterBuilder.php b/lib/internal/Magento/Framework/Api/FilterBuilder.php index 056cc07657deb..c1e7fee39390a 100644 --- a/lib/internal/Magento/Framework/Api/FilterBuilder.php +++ b/lib/internal/Magento/Framework/Api/FilterBuilder.php @@ -11,6 +11,7 @@ * * @api * @method Filter create() + * @since 100.0.2 */ class FilterBuilder extends AbstractSimpleObjectBuilder { diff --git a/lib/internal/Magento/Framework/Api/ImageContentValidatorInterface.php b/lib/internal/Magento/Framework/Api/ImageContentValidatorInterface.php index 686e47f7a933f..eecd7dbe8f19b 100644 --- a/lib/internal/Magento/Framework/Api/ImageContentValidatorInterface.php +++ b/lib/internal/Magento/Framework/Api/ImageContentValidatorInterface.php @@ -13,6 +13,7 @@ * Image content validation interface * * @api + * @since 100.0.2 */ interface ImageContentValidatorInterface { diff --git a/lib/internal/Magento/Framework/Api/ImageProcessorInterface.php b/lib/internal/Magento/Framework/Api/ImageProcessorInterface.php index 676e89974fe09..38e66fc9a1feb 100644 --- a/lib/internal/Magento/Framework/Api/ImageProcessorInterface.php +++ b/lib/internal/Magento/Framework/Api/ImageProcessorInterface.php @@ -13,6 +13,7 @@ * Interface ImageProcessorInterface * * @api + * @since 100.0.2 */ interface ImageProcessorInterface { diff --git a/lib/internal/Magento/Framework/Api/MetadataObjectInterface.php b/lib/internal/Magento/Framework/Api/MetadataObjectInterface.php index 64593d87f2a2d..a4a48fcbf7bb0 100644 --- a/lib/internal/Magento/Framework/Api/MetadataObjectInterface.php +++ b/lib/internal/Magento/Framework/Api/MetadataObjectInterface.php @@ -10,6 +10,7 @@ * Provides metadata about an attribute. * * @api + * @since 100.0.2 */ interface MetadataObjectInterface { diff --git a/lib/internal/Magento/Framework/Api/MetadataServiceInterface.php b/lib/internal/Magento/Framework/Api/MetadataServiceInterface.php index c6c3492420922..8993d7bc0003d 100644 --- a/lib/internal/Magento/Framework/Api/MetadataServiceInterface.php +++ b/lib/internal/Magento/Framework/Api/MetadataServiceInterface.php @@ -10,6 +10,7 @@ * MetadataService returns custom attribute metadata for a given class or interface it implements * * @api + * @since 100.0.2 */ interface MetadataServiceInterface { diff --git a/lib/internal/Magento/Framework/Api/Search/Document.php b/lib/internal/Magento/Framework/Api/Search/Document.php index 7454fa7974ece..c1edec9860f67 100644 --- a/lib/internal/Magento/Framework/Api/Search/Document.php +++ b/lib/internal/Magento/Framework/Api/Search/Document.php @@ -9,6 +9,7 @@ /** * @api + * @since 100.0.2 */ class Document extends AbstractSimpleObject implements DocumentInterface, \IteratorAggregate { diff --git a/lib/internal/Magento/Framework/Api/Search/FilterGroup.php b/lib/internal/Magento/Framework/Api/Search/FilterGroup.php index aef3df998a550..a8057d6d0d8b0 100644 --- a/lib/internal/Magento/Framework/Api/Search/FilterGroup.php +++ b/lib/internal/Magento/Framework/Api/Search/FilterGroup.php @@ -12,6 +12,7 @@ * Groups two or more filters together using a logical OR * * @api + * @since 100.0.2 */ class FilterGroup extends AbstractSimpleObject { diff --git a/lib/internal/Magento/Framework/Api/Search/FilterGroupBuilder.php b/lib/internal/Magento/Framework/Api/Search/FilterGroupBuilder.php index cfde284524482..64bb7431819b0 100644 --- a/lib/internal/Magento/Framework/Api/Search/FilterGroupBuilder.php +++ b/lib/internal/Magento/Framework/Api/Search/FilterGroupBuilder.php @@ -14,6 +14,7 @@ * Builder for FilterGroup Data. * * @api + * @since 100.0.2 */ class FilterGroupBuilder extends AbstractSimpleObjectBuilder { diff --git a/lib/internal/Magento/Framework/Api/Search/SearchCriteria.php b/lib/internal/Magento/Framework/Api/Search/SearchCriteria.php index 964e506120167..728b32ebfd06e 100644 --- a/lib/internal/Magento/Framework/Api/Search/SearchCriteria.php +++ b/lib/internal/Magento/Framework/Api/Search/SearchCriteria.php @@ -10,6 +10,7 @@ /** * @api + * @since 100.0.2 */ class SearchCriteria extends BaseSearchCriteria implements SearchCriteriaInterface { diff --git a/lib/internal/Magento/Framework/Api/Search/SearchCriteriaBuilder.php b/lib/internal/Magento/Framework/Api/Search/SearchCriteriaBuilder.php index 918a16a255729..ba443f116f652 100644 --- a/lib/internal/Magento/Framework/Api/Search/SearchCriteriaBuilder.php +++ b/lib/internal/Magento/Framework/Api/Search/SearchCriteriaBuilder.php @@ -14,6 +14,7 @@ * Builder for SearchCriteria Service Data Object * * @api + * @since 100.0.2 */ class SearchCriteriaBuilder extends AbstractSimpleObjectBuilder { diff --git a/lib/internal/Magento/Framework/Api/Search/SearchCriteriaInterface.php b/lib/internal/Magento/Framework/Api/Search/SearchCriteriaInterface.php index 6dda50569ca03..a61a33260fc5c 100644 --- a/lib/internal/Magento/Framework/Api/Search/SearchCriteriaInterface.php +++ b/lib/internal/Magento/Framework/Api/Search/SearchCriteriaInterface.php @@ -12,6 +12,7 @@ * * @api * @package Magento\Framework\Api\Search + * @since 100.0.2 */ interface SearchCriteriaInterface extends BaseSearchCriteriaInterface { diff --git a/lib/internal/Magento/Framework/Api/Search/SearchInterface.php b/lib/internal/Magento/Framework/Api/Search/SearchInterface.php index 9793e005b70b5..0b161b04561e8 100644 --- a/lib/internal/Magento/Framework/Api/Search/SearchInterface.php +++ b/lib/internal/Magento/Framework/Api/Search/SearchInterface.php @@ -9,6 +9,7 @@ * Search API for all requests * * @api + * @since 100.0.2 */ interface SearchInterface { diff --git a/lib/internal/Magento/Framework/Api/Search/SearchResultInterface.php b/lib/internal/Magento/Framework/Api/Search/SearchResultInterface.php index 792401124b96e..92941d9a9c025 100644 --- a/lib/internal/Magento/Framework/Api/Search/SearchResultInterface.php +++ b/lib/internal/Magento/Framework/Api/Search/SearchResultInterface.php @@ -11,6 +11,7 @@ * Interface SearchResultInterface * * @api + * @since 100.0.2 */ interface SearchResultInterface extends SearchResultsInterface { diff --git a/lib/internal/Magento/Framework/Api/SearchCriteria/CollectionProcessor/FilterProcessor/CustomFilterInterface.php b/lib/internal/Magento/Framework/Api/SearchCriteria/CollectionProcessor/FilterProcessor/CustomFilterInterface.php index c068970c93b12..a076348262a61 100644 --- a/lib/internal/Magento/Framework/Api/SearchCriteria/CollectionProcessor/FilterProcessor/CustomFilterInterface.php +++ b/lib/internal/Magento/Framework/Api/SearchCriteria/CollectionProcessor/FilterProcessor/CustomFilterInterface.php @@ -10,7 +10,7 @@ /** * @api - * @since 100.2.0 + * @since 101.0.0 */ interface CustomFilterInterface { @@ -20,7 +20,7 @@ interface CustomFilterInterface * @param Filter $filter * @param AbstractDb $collection * @return bool Whether the filter was applied - * @since 100.2.0 + * @since 101.0.0 */ public function apply(Filter $filter, AbstractDb $collection); } diff --git a/lib/internal/Magento/Framework/Api/SearchCriteria/CollectionProcessor/JoinProcessor/CustomJoinInterface.php b/lib/internal/Magento/Framework/Api/SearchCriteria/CollectionProcessor/JoinProcessor/CustomJoinInterface.php index 4ca55b6a1a72d..0fd4f077af984 100644 --- a/lib/internal/Magento/Framework/Api/SearchCriteria/CollectionProcessor/JoinProcessor/CustomJoinInterface.php +++ b/lib/internal/Magento/Framework/Api/SearchCriteria/CollectionProcessor/JoinProcessor/CustomJoinInterface.php @@ -9,7 +9,7 @@ /** * @api - * @since 100.2.0 + * @since 101.0.0 */ interface CustomJoinInterface { @@ -18,7 +18,7 @@ interface CustomJoinInterface * * @param AbstractDb $collection * @return bool - * @since 100.2.0 + * @since 101.0.0 */ public function apply(AbstractDb $collection); } diff --git a/lib/internal/Magento/Framework/Api/SearchCriteria/CollectionProcessorInterface.php b/lib/internal/Magento/Framework/Api/SearchCriteria/CollectionProcessorInterface.php index 722e1b96254d0..a87a92d8d9dfa 100644 --- a/lib/internal/Magento/Framework/Api/SearchCriteria/CollectionProcessorInterface.php +++ b/lib/internal/Magento/Framework/Api/SearchCriteria/CollectionProcessorInterface.php @@ -10,7 +10,7 @@ /** * @api - * @since 100.2.0 + * @since 101.0.0 */ interface CollectionProcessorInterface { @@ -21,7 +21,7 @@ interface CollectionProcessorInterface * @param AbstractDb $collection * @throws \InvalidArgumentException * @return void - * @since 100.2.0 + * @since 101.0.0 */ public function process(SearchCriteriaInterface $searchCriteria, AbstractDb $collection); } diff --git a/lib/internal/Magento/Framework/Api/SearchCriteriaInterface.php b/lib/internal/Magento/Framework/Api/SearchCriteriaInterface.php index ae4057ae9c21e..45397b6a195c2 100644 --- a/lib/internal/Magento/Framework/Api/SearchCriteriaInterface.php +++ b/lib/internal/Magento/Framework/Api/SearchCriteriaInterface.php @@ -10,6 +10,7 @@ * Search criteria interface. * * @api + * @since 100.0.2 */ interface SearchCriteriaInterface { diff --git a/lib/internal/Magento/Framework/Api/SearchResultsInterface.php b/lib/internal/Magento/Framework/Api/SearchResultsInterface.php index d2bc3053b8d6e..709c97ca2832f 100644 --- a/lib/internal/Magento/Framework/Api/SearchResultsInterface.php +++ b/lib/internal/Magento/Framework/Api/SearchResultsInterface.php @@ -10,6 +10,7 @@ * Search results interface. * * @api + * @since 100.0.2 */ interface SearchResultsInterface { diff --git a/lib/internal/Magento/Framework/Api/SortOrder.php b/lib/internal/Magento/Framework/Api/SortOrder.php index 67897ea22570d..b2da7d180395d 100644 --- a/lib/internal/Magento/Framework/Api/SortOrder.php +++ b/lib/internal/Magento/Framework/Api/SortOrder.php @@ -13,6 +13,7 @@ * Data object for sort order. * * @api + * @since 100.0.2 */ class SortOrder extends AbstractSimpleObject { diff --git a/lib/internal/Magento/Framework/Api/SortOrderBuilder.php b/lib/internal/Magento/Framework/Api/SortOrderBuilder.php index 6960440d4d522..6b3365ae5bf9c 100644 --- a/lib/internal/Magento/Framework/Api/SortOrderBuilder.php +++ b/lib/internal/Magento/Framework/Api/SortOrderBuilder.php @@ -11,6 +11,7 @@ * @method SortOrder create() * * @api + * @since 100.0.2 */ class SortOrderBuilder extends AbstractSimpleObjectBuilder { diff --git a/lib/internal/Magento/Framework/App/Action/Action.php b/lib/internal/Magento/Framework/App/Action/Action.php index b68e7e873be6a..4c0227cc5dbb8 100644 --- a/lib/internal/Magento/Framework/App/Action/Action.php +++ b/lib/internal/Magento/Framework/App/Action/Action.php @@ -20,6 +20,7 @@ * @api * @SuppressWarnings(PHPMD.CouplingBetweenObjects) * @SuppressWarnings(PHPMD.NumberOfChildren) + * @since 100.0.2 */ abstract class Action extends AbstractAction { diff --git a/lib/internal/Magento/Framework/App/Action/Context.php b/lib/internal/Magento/Framework/App/Action/Context.php index 5f5f013f454f2..1d2f04a23035b 100644 --- a/lib/internal/Magento/Framework/App/Action/Context.php +++ b/lib/internal/Magento/Framework/App/Action/Context.php @@ -19,6 +19,7 @@ * the classes they were introduced for. * * @api + * @since 100.0.2 */ class Context implements \Magento\Framework\ObjectManager\ContextInterface { diff --git a/lib/internal/Magento/Framework/App/Action/HttpHeadActionInterface.php b/lib/internal/Magento/Framework/App/Action/HttpHeadActionInterface.php index 389bd8089967b..6d85e0b80ee55 100644 --- a/lib/internal/Magento/Framework/App/Action/HttpHeadActionInterface.php +++ b/lib/internal/Magento/Framework/App/Action/HttpHeadActionInterface.php @@ -13,7 +13,7 @@ /** * Marker for actions processing HEAD requests. * - * @deprecated Both GET and HEAD requests map to HttpGetActionInterface + * @deprecated 102.0.2 Both GET and HEAD requests map to HttpGetActionInterface */ interface HttpHeadActionInterface extends ActionInterface { diff --git a/lib/internal/Magento/Framework/App/ActionFactory.php b/lib/internal/Magento/Framework/App/ActionFactory.php index 94f5ef36eb9c9..4edf022e43509 100644 --- a/lib/internal/Magento/Framework/App/ActionFactory.php +++ b/lib/internal/Magento/Framework/App/ActionFactory.php @@ -10,6 +10,7 @@ /** * @api + * @since 100.0.2 */ class ActionFactory { diff --git a/lib/internal/Magento/Framework/App/ActionFlag.php b/lib/internal/Magento/Framework/App/ActionFlag.php index 55201504c968f..3d6c2756595ad 100644 --- a/lib/internal/Magento/Framework/App/ActionFlag.php +++ b/lib/internal/Magento/Framework/App/ActionFlag.php @@ -13,6 +13,7 @@ * Please use plugins to prevent action dispatching instead. * * @api + * @since 100.0.2 */ class ActionFlag { diff --git a/lib/internal/Magento/Framework/App/ActionInterface.php b/lib/internal/Magento/Framework/App/ActionInterface.php index 921e1a2e16b1e..513a4ffd6660d 100644 --- a/lib/internal/Magento/Framework/App/ActionInterface.php +++ b/lib/internal/Magento/Framework/App/ActionInterface.php @@ -9,6 +9,7 @@ * Magento application action controller type. Every action controller in Application should implement this interface. * * @api + * @since 100.0.2 */ interface ActionInterface { diff --git a/lib/internal/Magento/Framework/App/Area/FrontNameResolverFactory.php b/lib/internal/Magento/Framework/App/Area/FrontNameResolverFactory.php index 6a4f79dfefe82..fb46ec621b4f8 100644 --- a/lib/internal/Magento/Framework/App/Area/FrontNameResolverFactory.php +++ b/lib/internal/Magento/Framework/App/Area/FrontNameResolverFactory.php @@ -12,6 +12,7 @@ * Keeping it for backward compatibility * * @api + * @since 100.0.2 */ class FrontNameResolverFactory { diff --git a/lib/internal/Magento/Framework/App/Area/FrontNameResolverInterface.php b/lib/internal/Magento/Framework/App/Area/FrontNameResolverInterface.php index fcdee6276c63c..960c933042e62 100644 --- a/lib/internal/Magento/Framework/App/Area/FrontNameResolverInterface.php +++ b/lib/internal/Magento/Framework/App/Area/FrontNameResolverInterface.php @@ -17,6 +17,7 @@ * for areas with dynamic front names. * * @api + * @since 100.0.2 */ interface FrontNameResolverInterface { diff --git a/lib/internal/Magento/Framework/App/Bootstrap.php b/lib/internal/Magento/Framework/App/Bootstrap.php index 717b810cffd29..83a04ba3916d5 100644 --- a/lib/internal/Magento/Framework/App/Bootstrap.php +++ b/lib/internal/Magento/Framework/App/Bootstrap.php @@ -23,6 +23,7 @@ * * @api * @SuppressWarnings(PHPMD.CouplingBetweenObjects) + * @since 100.0.2 */ class Bootstrap { diff --git a/lib/internal/Magento/Framework/App/Cache/Manager.php b/lib/internal/Magento/Framework/App/Cache/Manager.php index 7ac53d5d6e070..b3531f6e0d163 100644 --- a/lib/internal/Magento/Framework/App/Cache/Manager.php +++ b/lib/internal/Magento/Framework/App/Cache/Manager.php @@ -12,6 +12,7 @@ * Cache status manager * * @api + * @since 100.0.2 */ class Manager { diff --git a/lib/internal/Magento/Framework/App/Cache/StateInterface.php b/lib/internal/Magento/Framework/App/Cache/StateInterface.php index c9f6db3dd8899..1f0b2fa6e00d5 100644 --- a/lib/internal/Magento/Framework/App/Cache/StateInterface.php +++ b/lib/internal/Magento/Framework/App/Cache/StateInterface.php @@ -7,6 +7,7 @@ /** * @api + * @since 100.0.2 */ interface StateInterface { diff --git a/lib/internal/Magento/Framework/App/Cache/Type/FrontendPool.php b/lib/internal/Magento/Framework/App/Cache/Type/FrontendPool.php index 596fd833ab1ed..b89ba7067d725 100644 --- a/lib/internal/Magento/Framework/App/Cache/Type/FrontendPool.php +++ b/lib/internal/Magento/Framework/App/Cache/Type/FrontendPool.php @@ -12,6 +12,7 @@ * In-memory readonly pool of cache front-ends with enforced access control, specific to cache types * * @api + * @since 100.0.2 */ class FrontendPool { diff --git a/lib/internal/Magento/Framework/App/Cache/TypeListInterface.php b/lib/internal/Magento/Framework/App/Cache/TypeListInterface.php index 8f18f5b57d6cc..c379133e94a3b 100644 --- a/lib/internal/Magento/Framework/App/Cache/TypeListInterface.php +++ b/lib/internal/Magento/Framework/App/Cache/TypeListInterface.php @@ -7,6 +7,7 @@ /** * @api + * @since 100.0.2 */ interface TypeListInterface { diff --git a/lib/internal/Magento/Framework/App/CacheInterface.php b/lib/internal/Magento/Framework/App/CacheInterface.php index 374fb3cf68936..9052d93191929 100644 --- a/lib/internal/Magento/Framework/App/CacheInterface.php +++ b/lib/internal/Magento/Framework/App/CacheInterface.php @@ -10,6 +10,7 @@ * System cache model interface * * @api + * @since 100.0.2 */ interface CacheInterface { diff --git a/lib/internal/Magento/Framework/App/Config/Data/ProcessorInterface.php b/lib/internal/Magento/Framework/App/Config/Data/ProcessorInterface.php index 83ff73ab387a9..7d0b53cf1bc12 100644 --- a/lib/internal/Magento/Framework/App/Config/Data/ProcessorInterface.php +++ b/lib/internal/Magento/Framework/App/Config/Data/ProcessorInterface.php @@ -9,6 +9,7 @@ * Processes data from admin store configuration fields * * @api + * @since 100.0.2 */ interface ProcessorInterface { diff --git a/lib/internal/Magento/Framework/App/Config/DataInterface.php b/lib/internal/Magento/Framework/App/Config/DataInterface.php index 6495bbf0bc4da..e267e7311be1a 100644 --- a/lib/internal/Magento/Framework/App/Config/DataInterface.php +++ b/lib/internal/Magento/Framework/App/Config/DataInterface.php @@ -9,6 +9,7 @@ * Configuration data storage * * @api + * @since 100.0.2 */ interface DataInterface { diff --git a/lib/internal/Magento/Framework/App/Config/Element.php b/lib/internal/Magento/Framework/App/Config/Element.php index e5b4a5c384513..d714783847dc5 100644 --- a/lib/internal/Magento/Framework/App/Config/Element.php +++ b/lib/internal/Magento/Framework/App/Config/Element.php @@ -11,6 +11,7 @@ /** * @api + * @since 100.0.2 */ class Element extends \Magento\Framework\Simplexml\Element { diff --git a/lib/internal/Magento/Framework/App/Config/InitialConfigSource.php b/lib/internal/Magento/Framework/App/Config/InitialConfigSource.php index 50a250f9c6591..79305e651eeaa 100644 --- a/lib/internal/Magento/Framework/App/Config/InitialConfigSource.php +++ b/lib/internal/Magento/Framework/App/Config/InitialConfigSource.php @@ -25,7 +25,7 @@ class InitialConfigSource implements ConfigSourceInterface /** * @var string - * @deprecated 100.2.0 Initial configs can not be separated since 2.2.0 version + * @deprecated 101.0.0 Initial configs can not be separated since 2.2.0 version */ private $fileKey; diff --git a/lib/internal/Magento/Framework/App/Config/MutableScopeConfigInterface.php b/lib/internal/Magento/Framework/App/Config/MutableScopeConfigInterface.php index 32d081b853f40..15c7530e80373 100644 --- a/lib/internal/Magento/Framework/App/Config/MutableScopeConfigInterface.php +++ b/lib/internal/Magento/Framework/App/Config/MutableScopeConfigInterface.php @@ -10,6 +10,7 @@ /** * @api + * @since 100.0.2 */ interface MutableScopeConfigInterface extends \Magento\Framework\App\Config\ScopeConfigInterface { diff --git a/lib/internal/Magento/Framework/App/Config/ReinitableConfigInterface.php b/lib/internal/Magento/Framework/App/Config/ReinitableConfigInterface.php index 7974f97ef1ffc..f180a4ce401b1 100644 --- a/lib/internal/Magento/Framework/App/Config/ReinitableConfigInterface.php +++ b/lib/internal/Magento/Framework/App/Config/ReinitableConfigInterface.php @@ -10,6 +10,7 @@ /** * @api + * @since 100.0.2 */ interface ReinitableConfigInterface extends \Magento\Framework\App\Config\MutableScopeConfigInterface { diff --git a/lib/internal/Magento/Framework/App/Config/Scope/Validator.php b/lib/internal/Magento/Framework/App/Config/Scope/Validator.php index 9c0f60286e093..df9807ac55c79 100644 --- a/lib/internal/Magento/Framework/App/Config/Scope/Validator.php +++ b/lib/internal/Magento/Framework/App/Config/Scope/Validator.php @@ -15,7 +15,7 @@ use Magento\Framework\Phrase; /** - * @deprecated 100.2.0 Added in order to avoid backward incompatibility because class was moved to another directory. + * @deprecated 101.0.0 Added in order to avoid backward incompatibility because class was moved to another directory. * @see \Magento\Framework\App\Scope\Validator */ class Validator implements ValidatorInterface diff --git a/lib/internal/Magento/Framework/App/Config/ScopeConfigInterface.php b/lib/internal/Magento/Framework/App/Config/ScopeConfigInterface.php index 122e6801ed187..cdac6f3552eea 100644 --- a/lib/internal/Magento/Framework/App/Config/ScopeConfigInterface.php +++ b/lib/internal/Magento/Framework/App/Config/ScopeConfigInterface.php @@ -10,6 +10,7 @@ /** * @api + * @since 100.0.2 */ interface ScopeConfigInterface { diff --git a/lib/internal/Magento/Framework/App/Config/Storage/WriterInterface.php b/lib/internal/Magento/Framework/App/Config/Storage/WriterInterface.php index 35b24692bd228..c1e20cf332023 100644 --- a/lib/internal/Magento/Framework/App/Config/Storage/WriterInterface.php +++ b/lib/internal/Magento/Framework/App/Config/Storage/WriterInterface.php @@ -12,6 +12,7 @@ /** * Interface \Magento\Framework\App\Config\Storage\WriterInterface * @api + * @since 100.0.2 */ interface WriterInterface { diff --git a/lib/internal/Magento/Framework/App/Config/Value.php b/lib/internal/Magento/Framework/App/Config/Value.php index 6fde4dded4695..c18da34f86a26 100644 --- a/lib/internal/Magento/Framework/App/Config/Value.php +++ b/lib/internal/Magento/Framework/App/Config/Value.php @@ -24,6 +24,7 @@ * @api * * @SuppressWarnings(PHPMD.NumberOfChildren) + * @since 100.0.2 */ class Value extends \Magento\Framework\Model\AbstractModel implements \Magento\Framework\App\Config\ValueInterface { @@ -134,6 +135,7 @@ public function afterSave() * {@inheritdoc}. In addition, it sets status 'invalidate' for config caches * * @return $this + * @since 100.1.0 */ public function afterDelete() { diff --git a/lib/internal/Magento/Framework/App/DeploymentConfig.php b/lib/internal/Magento/Framework/App/DeploymentConfig.php index 40b03b068d6ab..56816c65cebd9 100644 --- a/lib/internal/Magento/Framework/App/DeploymentConfig.php +++ b/lib/internal/Magento/Framework/App/DeploymentConfig.php @@ -12,6 +12,7 @@ * Application deployment configuration * * @api + * @since 100.0.2 */ class DeploymentConfig { diff --git a/lib/internal/Magento/Framework/App/DeploymentConfig/Reader.php b/lib/internal/Magento/Framework/App/DeploymentConfig/Reader.php index ff7077213c5c3..8d4db3d444f52 100644 --- a/lib/internal/Magento/Framework/App/DeploymentConfig/Reader.php +++ b/lib/internal/Magento/Framework/App/DeploymentConfig/Reader.php @@ -136,7 +136,7 @@ public function load($fileKey = null) * @param string $pathConfig The path config * @param bool $ignoreInitialConfigFiles Whether ignore custom pools * @return array - * @deprecated 100.2.0 Magento does not support custom config file pools since 2.2.0 version + * @deprecated 101.0.0 Magento does not support custom config file pools since 2.2.0 version * @SuppressWarnings(PHPMD.UnusedFormalParameter) */ public function loadConfigFile($fileKey, $pathConfig, $ignoreInitialConfigFiles = false) diff --git a/lib/internal/Magento/Framework/App/DocRootLocator.php b/lib/internal/Magento/Framework/App/DocRootLocator.php index d73baf8e4e742..698001044bdf3 100644 --- a/lib/internal/Magento/Framework/App/DocRootLocator.php +++ b/lib/internal/Magento/Framework/App/DocRootLocator.php @@ -22,7 +22,7 @@ class DocRootLocator private $request; /** - * @deprecated + * @deprecated 102.0.2 * @var ReadFactory */ private $readFactory; diff --git a/lib/internal/Magento/Framework/App/FrontControllerInterface.php b/lib/internal/Magento/Framework/App/FrontControllerInterface.php index afd3091097d19..712f3876355c1 100644 --- a/lib/internal/Magento/Framework/App/FrontControllerInterface.php +++ b/lib/internal/Magento/Framework/App/FrontControllerInterface.php @@ -11,6 +11,7 @@ * Every application area has own front controller. * * @api + * @since 100.0.2 */ interface FrontControllerInterface { diff --git a/lib/internal/Magento/Framework/App/Language/Dictionary.php b/lib/internal/Magento/Framework/App/Language/Dictionary.php index d9a5ccb00d892..50a9410939225 100644 --- a/lib/internal/Magento/Framework/App/Language/Dictionary.php +++ b/lib/internal/Magento/Framework/App/Language/Dictionary.php @@ -13,6 +13,7 @@ * A service for reading language package dictionaries * * @api + * @since 100.0.2 */ class Dictionary { diff --git a/lib/internal/Magento/Framework/App/ObjectManager.php b/lib/internal/Magento/Framework/App/ObjectManager.php index 1cc1745c3a57f..f18102a1dbc78 100644 --- a/lib/internal/Magento/Framework/App/ObjectManager.php +++ b/lib/internal/Magento/Framework/App/ObjectManager.php @@ -15,6 +15,7 @@ * * @api * @SuppressWarnings(PHPMD.CouplingBetweenObjects) + * @since 100.0.2 */ class ObjectManager extends \Magento\Framework\ObjectManager\ObjectManager { diff --git a/lib/internal/Magento/Framework/App/ObjectManager/ConfigCache.php b/lib/internal/Magento/Framework/App/ObjectManager/ConfigCache.php index 0df11cb3cb6e1..846dd6011c732 100644 --- a/lib/internal/Magento/Framework/App/ObjectManager/ConfigCache.php +++ b/lib/internal/Magento/Framework/App/ObjectManager/ConfigCache.php @@ -68,7 +68,7 @@ public function save(array $config, $key) * Get serializer * * @return SerializerInterface - * @deprecated 100.2.0 + * @deprecated 101.0.0 */ private function getSerializer() { diff --git a/lib/internal/Magento/Framework/App/ObjectManager/ConfigLoader.php b/lib/internal/Magento/Framework/App/ObjectManager/ConfigLoader.php index 6abf2aca8d641..1d73bdf4a9956 100644 --- a/lib/internal/Magento/Framework/App/ObjectManager/ConfigLoader.php +++ b/lib/internal/Magento/Framework/App/ObjectManager/ConfigLoader.php @@ -86,7 +86,7 @@ public function load($area) * Get serializer * * @return SerializerInterface - * @deprecated 100.2.0 + * @deprecated 101.0.0 */ private function getSerializer() { diff --git a/lib/internal/Magento/Framework/App/ObjectManagerFactory.php b/lib/internal/Magento/Framework/App/ObjectManagerFactory.php index 1c05c58473602..bb05cf8d36b2e 100644 --- a/lib/internal/Magento/Framework/App/ObjectManagerFactory.php +++ b/lib/internal/Magento/Framework/App/ObjectManagerFactory.php @@ -19,6 +19,7 @@ * * @api * @SuppressWarnings(PHPMD.CouplingBetweenObjects) + * @since 100.0.2 */ class ObjectManagerFactory { @@ -291,7 +292,7 @@ protected function _loadPrimaryConfig(DirectoryList $directoryList, $driverPool, * @param \Magento\Framework\ObjectManager\Config\Config $diConfig * @param \Magento\Framework\ObjectManager\DefinitionInterface $definitions * @return \Magento\Framework\Interception\PluginList\PluginList - * @deprecated 100.2.0 + * @deprecated 101.0.0 * @SuppressWarnings(PHPMD.UnusedFormalParameter) */ protected function _createPluginList( diff --git a/lib/internal/Magento/Framework/App/PlainTextRequestInterface.php b/lib/internal/Magento/Framework/App/PlainTextRequestInterface.php index c986a2309888a..fbcabd15adba8 100644 --- a/lib/internal/Magento/Framework/App/PlainTextRequestInterface.php +++ b/lib/internal/Magento/Framework/App/PlainTextRequestInterface.php @@ -13,7 +13,7 @@ * To read already parsed request data use \Magento\Framework\App\RequestInterface. * * @api - * @since 100.2.0 + * @since 101.0.0 */ interface PlainTextRequestInterface { @@ -21,7 +21,7 @@ interface PlainTextRequestInterface * Returns textual representation of request to Magento. * * @return string - * @since 100.2.0 + * @since 101.0.0 */ public function getContent(); } diff --git a/lib/internal/Magento/Framework/App/ProductMetadataInterface.php b/lib/internal/Magento/Framework/App/ProductMetadataInterface.php index 4d55092d45e03..a62b06077a842 100644 --- a/lib/internal/Magento/Framework/App/ProductMetadataInterface.php +++ b/lib/internal/Magento/Framework/App/ProductMetadataInterface.php @@ -9,6 +9,7 @@ * Magento application product metadata * * @api + * @since 100.0.2 */ interface ProductMetadataInterface { diff --git a/lib/internal/Magento/Framework/App/ReinitableConfig.php b/lib/internal/Magento/Framework/App/ReinitableConfig.php index 70bc82229995d..09ba71a279636 100644 --- a/lib/internal/Magento/Framework/App/ReinitableConfig.php +++ b/lib/internal/Magento/Framework/App/ReinitableConfig.php @@ -9,7 +9,7 @@ /** * @inheritdoc - * @deprecated 100.2.0 + * @deprecated 101.0.0 */ class ReinitableConfig extends MutableScopeConfig implements ReinitableConfigInterface { diff --git a/lib/internal/Magento/Framework/App/Request/PathInfoProcessorInterface.php b/lib/internal/Magento/Framework/App/Request/PathInfoProcessorInterface.php index 60d867cb4388f..3c2896569c199 100644 --- a/lib/internal/Magento/Framework/App/Request/PathInfoProcessorInterface.php +++ b/lib/internal/Magento/Framework/App/Request/PathInfoProcessorInterface.php @@ -9,6 +9,7 @@ /** * @api + * @since 100.0.2 */ interface PathInfoProcessorInterface { diff --git a/lib/internal/Magento/Framework/App/RequestContentInterface.php b/lib/internal/Magento/Framework/App/RequestContentInterface.php index 90848f34ccd66..29e26e0702163 100644 --- a/lib/internal/Magento/Framework/App/RequestContentInterface.php +++ b/lib/internal/Magento/Framework/App/RequestContentInterface.php @@ -11,7 +11,7 @@ * Direct usage of RequestInterface and PlainTextRequestInterface is preferable. * * @api - * @since 100.2.0 + * @since 101.0.0 */ interface RequestContentInterface extends RequestInterface, PlainTextRequestInterface { diff --git a/lib/internal/Magento/Framework/App/RequestInterface.php b/lib/internal/Magento/Framework/App/RequestInterface.php index 7abcc9208af5c..a830d46978b84 100644 --- a/lib/internal/Magento/Framework/App/RequestInterface.php +++ b/lib/internal/Magento/Framework/App/RequestInterface.php @@ -9,6 +9,7 @@ /** * @api + * @since 100.0.2 */ interface RequestInterface { diff --git a/lib/internal/Magento/Framework/App/RequestSafetyInterface.php b/lib/internal/Magento/Framework/App/RequestSafetyInterface.php index f56ff9aaf8ab5..56d6312a60c7c 100644 --- a/lib/internal/Magento/Framework/App/RequestSafetyInterface.php +++ b/lib/internal/Magento/Framework/App/RequestSafetyInterface.php @@ -10,6 +10,7 @@ * Request safety check. Can be used to identify if current application request is safe (does not modify state) or not. * * @api + * @since 100.0.2 */ interface RequestSafetyInterface { diff --git a/lib/internal/Magento/Framework/App/ResourceConnection.php b/lib/internal/Magento/Framework/App/ResourceConnection.php index b543cc970f640..50ebab048c7ae 100644 --- a/lib/internal/Magento/Framework/App/ResourceConnection.php +++ b/lib/internal/Magento/Framework/App/ResourceConnection.php @@ -15,6 +15,7 @@ * This class provides access to all these connections. * * @api + * @since 100.0.2 */ class ResourceConnection { @@ -298,6 +299,7 @@ public function getFkName($priTableName, $priColumnName, $refTableName, $refColu * * @param string $resourceName * @return string + * @since 102.0.0 */ public function getSchemaName($resourceName) { diff --git a/lib/internal/Magento/Framework/App/ResourceConnection/SourceProviderInterface.php b/lib/internal/Magento/Framework/App/ResourceConnection/SourceProviderInterface.php index f8ff407d4507e..0a67b4cac9785 100644 --- a/lib/internal/Magento/Framework/App/ResourceConnection/SourceProviderInterface.php +++ b/lib/internal/Magento/Framework/App/ResourceConnection/SourceProviderInterface.php @@ -7,6 +7,7 @@ /** * @api + * @since 100.0.2 */ interface SourceProviderInterface extends \Traversable { diff --git a/lib/internal/Magento/Framework/App/Response/HttpInterface.php b/lib/internal/Magento/Framework/App/Response/HttpInterface.php index 08b1257f73abe..abe548b875a20 100644 --- a/lib/internal/Magento/Framework/App/Response/HttpInterface.php +++ b/lib/internal/Magento/Framework/App/Response/HttpInterface.php @@ -9,6 +9,7 @@ * HTTP response interface * * @api + * @since 100.0.2 */ interface HttpInterface extends \Magento\Framework\App\ResponseInterface { @@ -24,7 +25,7 @@ public function setHttpResponseCode($code); * Get HTTP response code * * @return int - * @since 100.2.0 + * @since 101.0.0 */ public function getHttpResponseCode(); @@ -37,7 +38,7 @@ public function getHttpResponseCode(); * @param string $value * @param boolean $replace * @return self - * @since 100.2.0 + * @since 101.0.0 */ public function setHeader($name, $value, $replace = false); @@ -49,7 +50,7 @@ public function setHeader($name, $value, $replace = false); * * @param string $name * @return \Zend\Http\Header\HeaderInterface|bool - * @since 100.2.0 + * @since 101.0.0 */ public function getHeader($name); @@ -58,7 +59,7 @@ public function getHeader($name); * * @param string $name * @return self - * @since 100.2.0 + * @since 101.0.0 */ public function clearHeader($name); @@ -76,7 +77,7 @@ public function clearHeader($name); * @param null|int|string $version * @param null|string $phrase * @return self - * @since 100.2.0 + * @since 101.0.0 */ public function setStatusHeader($httpCode, $version = null, $phrase = null); @@ -85,7 +86,7 @@ public function setStatusHeader($httpCode, $version = null, $phrase = null); * * @param string $value * @return self - * @since 100.2.0 + * @since 101.0.0 */ public function appendBody($value); @@ -96,7 +97,7 @@ public function appendBody($value); * * @param string $value * @return self - * @since 100.2.0 + * @since 101.0.0 */ public function setBody($value); @@ -108,7 +109,7 @@ public function setBody($value); * @param string $url * @param int $code * @return self - * @since 100.2.0 + * @since 101.0.0 */ public function setRedirect($url, $code = 302); } diff --git a/lib/internal/Magento/Framework/App/ResponseInterface.php b/lib/internal/Magento/Framework/App/ResponseInterface.php index f55e2cbaa2c1c..98633720d3ba4 100644 --- a/lib/internal/Magento/Framework/App/ResponseInterface.php +++ b/lib/internal/Magento/Framework/App/ResponseInterface.php @@ -9,6 +9,7 @@ /** * @api + * @since 100.0.2 */ interface ResponseInterface { diff --git a/lib/internal/Magento/Framework/App/Route/Config.php b/lib/internal/Magento/Framework/App/Route/Config.php index a578858a75740..4df7ae4e16bbd 100644 --- a/lib/internal/Magento/Framework/App/Route/Config.php +++ b/lib/internal/Magento/Framework/App/Route/Config.php @@ -149,7 +149,7 @@ public function getModulesByFrontName($frontName, $scope = null) * Get serializer * * @return \Magento\Framework\Serialize\SerializerInterface - * @deprecated 100.2.0 + * @deprecated 101.0.0 */ private function getSerializer() { diff --git a/lib/internal/Magento/Framework/App/Route/ConfigInterface.php b/lib/internal/Magento/Framework/App/Route/ConfigInterface.php index 88b1c42261fc7..26d1a6bf30ac0 100644 --- a/lib/internal/Magento/Framework/App/Route/ConfigInterface.php +++ b/lib/internal/Magento/Framework/App/Route/ConfigInterface.php @@ -9,6 +9,7 @@ * Routes configuration interface * * @api + * @since 100.0.2 */ interface ConfigInterface { diff --git a/lib/internal/Magento/Framework/App/Rss/DataProviderInterface.php b/lib/internal/Magento/Framework/App/Rss/DataProviderInterface.php index 2c61c855945f2..4c20469ea9f59 100644 --- a/lib/internal/Magento/Framework/App/Rss/DataProviderInterface.php +++ b/lib/internal/Magento/Framework/App/Rss/DataProviderInterface.php @@ -7,6 +7,7 @@ /** * @api + * @since 100.0.2 */ interface DataProviderInterface { diff --git a/lib/internal/Magento/Framework/App/ScopeInterface.php b/lib/internal/Magento/Framework/App/ScopeInterface.php index 5821bf2aafa2a..81de45c5d9240 100644 --- a/lib/internal/Magento/Framework/App/ScopeInterface.php +++ b/lib/internal/Magento/Framework/App/ScopeInterface.php @@ -7,6 +7,7 @@ /** * @api + * @since 100.0.2 */ interface ScopeInterface { diff --git a/lib/internal/Magento/Framework/App/State.php b/lib/internal/Magento/Framework/App/State.php index 5d6ebaa2cc070..bc2b85b37442b 100644 --- a/lib/internal/Magento/Framework/App/State.php +++ b/lib/internal/Magento/Framework/App/State.php @@ -12,6 +12,7 @@ * Note: Area code communication and emulation will be removed from this class. * * @api + * @since 100.0.2 */ class State { @@ -219,7 +220,7 @@ private function checkAreaCode($areaCode) * Get Instance of AreaList * * @return AreaList - * @deprecated 100.2.0 + * @deprecated 101.0.0 */ private function getAreaListInstance() { diff --git a/lib/internal/Magento/Framework/App/StaticResource.php b/lib/internal/Magento/Framework/App/StaticResource.php index 86b2b15d3c446..321ded57c0885 100644 --- a/lib/internal/Magento/Framework/App/StaticResource.php +++ b/lib/internal/Magento/Framework/App/StaticResource.php @@ -215,7 +215,7 @@ private function getFilesystem() * Retrieves LoggerInterface instance * * @return LoggerInterface - * @deprecated 100.2.0 + * @deprecated 101.0.0 */ private function getLogger() { diff --git a/lib/internal/Magento/Framework/App/TemplateTypesInterface.php b/lib/internal/Magento/Framework/App/TemplateTypesInterface.php index bc12d4d7e1ba5..37ae5e5431b92 100644 --- a/lib/internal/Magento/Framework/App/TemplateTypesInterface.php +++ b/lib/internal/Magento/Framework/App/TemplateTypesInterface.php @@ -8,7 +8,7 @@ /** * Template Types interface * - * @deprecated 100.2.0 because of incorrect location + * @deprecated 101.0.0 because of incorrect location */ interface TemplateTypesInterface { diff --git a/lib/internal/Magento/Framework/App/View/Asset/Publisher.php b/lib/internal/Magento/Framework/App/View/Asset/Publisher.php index 0af5a8199ab88..ea50f96615139 100644 --- a/lib/internal/Magento/Framework/App/View/Asset/Publisher.php +++ b/lib/internal/Magento/Framework/App/View/Asset/Publisher.php @@ -14,6 +14,7 @@ * A publishing service for view assets * * @api + * @since 100.0.2 */ class Publisher { diff --git a/lib/internal/Magento/Framework/App/View/Deployment/Version.php b/lib/internal/Magento/Framework/App/View/Deployment/Version.php index 67f6d3c1ed779..e86e51eaf83d3 100644 --- a/lib/internal/Magento/Framework/App/View/Deployment/Version.php +++ b/lib/internal/Magento/Framework/App/View/Deployment/Version.php @@ -109,7 +109,7 @@ private function generateVersion() * Get logger * * @return LoggerInterface - * @deprecated 100.2.0 + * @deprecated 101.0.0 */ private function getLogger() { diff --git a/lib/internal/Magento/Framework/App/ViewInterface.php b/lib/internal/Magento/Framework/App/ViewInterface.php index a659cd371a9a4..6a61154ce8b40 100644 --- a/lib/internal/Magento/Framework/App/ViewInterface.php +++ b/lib/internal/Magento/Framework/App/ViewInterface.php @@ -10,8 +10,9 @@ * Later replaced with Magento\Framework\View\Result component * * @api - * @deprecated 100.2.0 + * @deprecated 101.0.0 * @see \Magento\Framework\View\Result\Layout + * @since 100.0.2 */ interface ViewInterface { diff --git a/lib/internal/Magento/Framework/AppInterface.php b/lib/internal/Magento/Framework/AppInterface.php index 25a0a9e785daa..e0397f8544536 100644 --- a/lib/internal/Magento/Framework/AppInterface.php +++ b/lib/internal/Magento/Framework/AppInterface.php @@ -14,6 +14,7 @@ * Implementations of this interface should implement application type specific initialization. * * @api + * @since 100.0.2 */ interface AppInterface { diff --git a/lib/internal/Magento/Framework/Archive/ArchiveInterface.php b/lib/internal/Magento/Framework/Archive/ArchiveInterface.php index 69a524107f1e0..c6e85b558b24e 100644 --- a/lib/internal/Magento/Framework/Archive/ArchiveInterface.php +++ b/lib/internal/Magento/Framework/Archive/ArchiveInterface.php @@ -13,6 +13,7 @@ /** * @api + * @since 100.0.2 */ interface ArchiveInterface { diff --git a/lib/internal/Magento/Framework/Authorization/PolicyInterface.php b/lib/internal/Magento/Framework/Authorization/PolicyInterface.php index 0d9a5d3af74c9..0afcc5c80e596 100644 --- a/lib/internal/Magento/Framework/Authorization/PolicyInterface.php +++ b/lib/internal/Magento/Framework/Authorization/PolicyInterface.php @@ -9,6 +9,7 @@ * Responsible for internal authorization decision making based on provided role, resource and privilege * * @api + * @since 100.0.2 */ interface PolicyInterface { diff --git a/lib/internal/Magento/Framework/Authorization/RoleLocatorInterface.php b/lib/internal/Magento/Framework/Authorization/RoleLocatorInterface.php index b273f2274df34..29b8cbdc377d4 100644 --- a/lib/internal/Magento/Framework/Authorization/RoleLocatorInterface.php +++ b/lib/internal/Magento/Framework/Authorization/RoleLocatorInterface.php @@ -11,6 +11,7 @@ * Should be implemented by application developer that uses \Magento\Framework\Authorization component. * * @api + * @since 100.0.2 */ interface RoleLocatorInterface { diff --git a/lib/internal/Magento/Framework/AuthorizationInterface.php b/lib/internal/Magento/Framework/AuthorizationInterface.php index 6077e2740b75c..65f0755a48a5c 100644 --- a/lib/internal/Magento/Framework/AuthorizationInterface.php +++ b/lib/internal/Magento/Framework/AuthorizationInterface.php @@ -9,6 +9,7 @@ /** * @api + * @since 100.0.2 */ interface AuthorizationInterface { diff --git a/lib/internal/Magento/Framework/Backup/AbstractBackup.php b/lib/internal/Magento/Framework/Backup/AbstractBackup.php index 66bcdbf16a54b..a46f7d629f6f1 100644 --- a/lib/internal/Magento/Framework/Backup/AbstractBackup.php +++ b/lib/internal/Magento/Framework/Backup/AbstractBackup.php @@ -12,6 +12,7 @@ * Class to work with archives * * @api + * @since 100.0.2 */ abstract class AbstractBackup implements BackupInterface, SourceFileInterface { @@ -311,6 +312,7 @@ protected function _filterName($name) * Check if keep files of backup * * @return bool + * @since 102.0.0 */ public function keepSourceFile() { @@ -322,6 +324,7 @@ public function keepSourceFile() * * @param bool $keepSourceFile * @return $this + * @since 102.0.0 */ public function setKeepSourceFile(bool $keepSourceFile) { diff --git a/lib/internal/Magento/Framework/Backup/BackupException.php b/lib/internal/Magento/Framework/Backup/BackupException.php index 7694c084c10a7..6fef1d92ddbfe 100644 --- a/lib/internal/Magento/Framework/Backup/BackupException.php +++ b/lib/internal/Magento/Framework/Backup/BackupException.php @@ -8,6 +8,7 @@ /** * @api + * @since 100.0.2 */ class BackupException extends \Magento\Framework\Exception\LocalizedException { diff --git a/lib/internal/Magento/Framework/Backup/BackupInterface.php b/lib/internal/Magento/Framework/Backup/BackupInterface.php index 16aada9689c11..e16eef51d25a9 100644 --- a/lib/internal/Magento/Framework/Backup/BackupInterface.php +++ b/lib/internal/Magento/Framework/Backup/BackupInterface.php @@ -14,7 +14,8 @@ /** * @api * - * @deprecated Backups should be done using other means. + * @deprecated 101.0.7 Backups should be done using other means. + * @since 100.0.2 */ interface BackupInterface { diff --git a/lib/internal/Magento/Framework/Backup/Db.php b/lib/internal/Magento/Framework/Backup/Db.php index d3b72f30d8cb3..b7e0edf7c4f47 100644 --- a/lib/internal/Magento/Framework/Backup/Db.php +++ b/lib/internal/Magento/Framework/Backup/Db.php @@ -14,6 +14,7 @@ * * @author Magento Core Team <core@magentocommerce.com> * @api + * @since 100.0.2 */ class Db extends AbstractBackup { diff --git a/lib/internal/Magento/Framework/Backup/Db/BackupDbInterface.php b/lib/internal/Magento/Framework/Backup/Db/BackupDbInterface.php index a019ccac06b66..78ace64e4fe68 100644 --- a/lib/internal/Magento/Framework/Backup/Db/BackupDbInterface.php +++ b/lib/internal/Magento/Framework/Backup/Db/BackupDbInterface.php @@ -8,7 +8,8 @@ /** * @api * - * @deprecated Backups should be done using other means. + * @deprecated 101.0.7 Backups should be done using other means. + * @since 100.0.2 */ interface BackupDbInterface { diff --git a/lib/internal/Magento/Framework/Backup/Db/BackupFactory.php b/lib/internal/Magento/Framework/Backup/Db/BackupFactory.php index d1c9c3df1e9aa..a9e1cdd133f75 100644 --- a/lib/internal/Magento/Framework/Backup/Db/BackupFactory.php +++ b/lib/internal/Magento/Framework/Backup/Db/BackupFactory.php @@ -10,6 +10,7 @@ /** * @api + * @since 100.0.2 */ class BackupFactory { diff --git a/lib/internal/Magento/Framework/Backup/Db/BackupInterface.php b/lib/internal/Magento/Framework/Backup/Db/BackupInterface.php index ae5879290eb20..78940f93e33c9 100644 --- a/lib/internal/Magento/Framework/Backup/Db/BackupInterface.php +++ b/lib/internal/Magento/Framework/Backup/Db/BackupInterface.php @@ -8,7 +8,8 @@ /** * @api * - * @deprecated Backups should be done using other means. + * @deprecated 101.0.7 Backups should be done using other means. + * @since 100.0.2 */ interface BackupInterface { diff --git a/lib/internal/Magento/Framework/Backup/Exception/CantLoadSnapshot.php b/lib/internal/Magento/Framework/Backup/Exception/CantLoadSnapshot.php index 45d1cc21b06da..b351bc85a613b 100644 --- a/lib/internal/Magento/Framework/Backup/Exception/CantLoadSnapshot.php +++ b/lib/internal/Magento/Framework/Backup/Exception/CantLoadSnapshot.php @@ -8,6 +8,7 @@ /** * @api + * @since 100.0.2 */ class CantLoadSnapshot extends \Magento\Framework\Backup\BackupException { diff --git a/lib/internal/Magento/Framework/Backup/Exception/FtpConnectionFailed.php b/lib/internal/Magento/Framework/Backup/Exception/FtpConnectionFailed.php index 9b722da10a1bd..311de25343eb7 100644 --- a/lib/internal/Magento/Framework/Backup/Exception/FtpConnectionFailed.php +++ b/lib/internal/Magento/Framework/Backup/Exception/FtpConnectionFailed.php @@ -8,6 +8,7 @@ /** * @api + * @since 100.0.2 */ class FtpConnectionFailed extends \Magento\Framework\Backup\BackupException { diff --git a/lib/internal/Magento/Framework/Backup/Exception/FtpValidationFailed.php b/lib/internal/Magento/Framework/Backup/Exception/FtpValidationFailed.php index 53af4bfd3061b..1b197576b32c2 100644 --- a/lib/internal/Magento/Framework/Backup/Exception/FtpValidationFailed.php +++ b/lib/internal/Magento/Framework/Backup/Exception/FtpValidationFailed.php @@ -8,6 +8,7 @@ /** * @api + * @since 100.0.2 */ class FtpValidationFailed extends \Magento\Framework\Backup\BackupException { diff --git a/lib/internal/Magento/Framework/Backup/Exception/NotEnoughFreeSpace.php b/lib/internal/Magento/Framework/Backup/Exception/NotEnoughFreeSpace.php index b373134d2e9a6..48cedca5aecbb 100644 --- a/lib/internal/Magento/Framework/Backup/Exception/NotEnoughFreeSpace.php +++ b/lib/internal/Magento/Framework/Backup/Exception/NotEnoughFreeSpace.php @@ -8,6 +8,7 @@ /** * @api + * @since 100.0.2 */ class NotEnoughFreeSpace extends \Magento\Framework\Backup\BackupException { diff --git a/lib/internal/Magento/Framework/Backup/Exception/NotEnoughPermissions.php b/lib/internal/Magento/Framework/Backup/Exception/NotEnoughPermissions.php index ba7e80a503f4f..df89932680029 100644 --- a/lib/internal/Magento/Framework/Backup/Exception/NotEnoughPermissions.php +++ b/lib/internal/Magento/Framework/Backup/Exception/NotEnoughPermissions.php @@ -8,6 +8,7 @@ /** * @api + * @since 100.0.2 */ class NotEnoughPermissions extends \Magento\Framework\Backup\BackupException { diff --git a/lib/internal/Magento/Framework/Backup/Factory.php b/lib/internal/Magento/Framework/Backup/Factory.php index effa796a2a074..1692cc168d5f2 100644 --- a/lib/internal/Magento/Framework/Backup/Factory.php +++ b/lib/internal/Magento/Framework/Backup/Factory.php @@ -15,6 +15,7 @@ /** * @api + * @since 100.0.2 */ class Factory { diff --git a/lib/internal/Magento/Framework/Backup/Filesystem.php b/lib/internal/Magento/Framework/Backup/Filesystem.php index f3946444cec20..72996cdd28fda 100644 --- a/lib/internal/Magento/Framework/Backup/Filesystem.php +++ b/lib/internal/Magento/Framework/Backup/Filesystem.php @@ -317,7 +317,7 @@ protected function _getTarTmpPath() /** * @return Ftp - * @deprecated 100.2.0 + * @deprecated 101.0.0 */ protected function getRollBackFtp() { @@ -333,7 +333,7 @@ protected function getRollBackFtp() /** * @return Fs - * @deprecated 100.2.0 + * @deprecated 101.0.0 */ protected function getRollBackFs() { diff --git a/lib/internal/Magento/Framework/Backup/Filesystem/Rollback/AbstractRollback.php b/lib/internal/Magento/Framework/Backup/Filesystem/Rollback/AbstractRollback.php index 8c8c21a8405b6..976c07ef986e0 100644 --- a/lib/internal/Magento/Framework/Backup/Filesystem/Rollback/AbstractRollback.php +++ b/lib/internal/Magento/Framework/Backup/Filesystem/Rollback/AbstractRollback.php @@ -11,6 +11,7 @@ * Filesystem rollback workers abstract class * * @api + * @since 100.0.2 */ abstract class AbstractRollback { diff --git a/lib/internal/Magento/Framework/Backup/Filesystem/Rollback/Fs.php b/lib/internal/Magento/Framework/Backup/Filesystem/Rollback/Fs.php index 4820b83ceb7a8..b8eca279fdf22 100644 --- a/lib/internal/Magento/Framework/Backup/Filesystem/Rollback/Fs.php +++ b/lib/internal/Magento/Framework/Backup/Filesystem/Rollback/Fs.php @@ -97,7 +97,7 @@ public function run() * Get file system helper instance * * @return Helper - * @deprecated 100.2.0 + * @deprecated 101.0.0 */ private function getFsHelper() { diff --git a/lib/internal/Magento/Framework/Bulk/BulkManagementInterface.php b/lib/internal/Magento/Framework/Bulk/BulkManagementInterface.php index 9cfb2b1c97a4d..02adab87e4d1f 100644 --- a/lib/internal/Magento/Framework/Bulk/BulkManagementInterface.php +++ b/lib/internal/Magento/Framework/Bulk/BulkManagementInterface.php @@ -8,7 +8,7 @@ /** * Interface BulkManagementInterface * @api - * @since 100.2.0 + * @since 102.0.3 */ interface BulkManagementInterface { @@ -20,7 +20,7 @@ interface BulkManagementInterface * @param string $description * @param int $userId * @return boolean - * @since 100.2.0 + * @since 102.0.3 */ public function scheduleBulk($bulkUuid, array $operations, $description, $userId = null); @@ -29,7 +29,7 @@ public function scheduleBulk($bulkUuid, array $operations, $description, $userId * * @param string $bulkId * @return boolean - * @since 100.2.0 + * @since 102.0.3 */ public function deleteBulk($bulkId); } diff --git a/lib/internal/Magento/Framework/Bulk/BulkStatusInterface.php b/lib/internal/Magento/Framework/Bulk/BulkStatusInterface.php index 0f1deb0ceeeaf..473ab69b7f353 100644 --- a/lib/internal/Magento/Framework/Bulk/BulkStatusInterface.php +++ b/lib/internal/Magento/Framework/Bulk/BulkStatusInterface.php @@ -8,7 +8,7 @@ /** * Interface BulkStatusInterface * @api - * @since 100.2.0 + * @since 102.0.3 */ interface BulkStatusInterface { @@ -18,7 +18,7 @@ interface BulkStatusInterface * @param string $bulkUuid * @param int|null $failureType * @return \Magento\Framework\Bulk\OperationInterface[] - * @since 100.2.0 + * @since 102.0.3 */ public function getFailedOperationsByBulkId($bulkUuid, $failureType = null); @@ -28,7 +28,7 @@ public function getFailedOperationsByBulkId($bulkUuid, $failureType = null); * @param string $bulkUuid * @param int $status * @return int - * @since 100.2.0 + * @since 102.0.3 */ public function getOperationsCountByBulkIdAndStatus($bulkUuid, $status); @@ -37,7 +37,7 @@ public function getOperationsCountByBulkIdAndStatus($bulkUuid, $status); * * @param int $userId * @return BulkSummaryInterface[] - * @since 100.2.0 + * @since 102.0.3 */ public function getBulksByUser($userId); @@ -49,7 +49,7 @@ public function getBulksByUser($userId); * * @param string $bulkUuid * @return int NOT_STARTED | IN_PROGRESS | FINISHED_SUCCESFULLY | FINISHED_WITH_FAILURE - * @since 100.2.0 + * @since 102.0.3 */ public function getBulkStatus($bulkUuid); } diff --git a/lib/internal/Magento/Framework/Bulk/BulkSummaryInterface.php b/lib/internal/Magento/Framework/Bulk/BulkSummaryInterface.php index 69e9b71ca00c3..2646c899b178d 100644 --- a/lib/internal/Magento/Framework/Bulk/BulkSummaryInterface.php +++ b/lib/internal/Magento/Framework/Bulk/BulkSummaryInterface.php @@ -8,7 +8,7 @@ /** * Interface BulkSummaryInterface * @api - * @since 100.2.0 + * @since 102.0.3 */ interface BulkSummaryInterface { @@ -35,7 +35,7 @@ interface BulkSummaryInterface * Get bulk uuid * * @return string - * @since 100.2.0 + * @since 102.0.3 */ public function getBulkId(); @@ -44,7 +44,7 @@ public function getBulkId(); * * @param string $bulkUuid * @return $this - * @since 100.2.0 + * @since 102.0.3 */ public function setBulkId($bulkUuid); @@ -52,7 +52,7 @@ public function setBulkId($bulkUuid); * Get bulk description * * @return string - * @since 100.2.0 + * @since 102.0.3 */ public function getDescription(); @@ -61,7 +61,7 @@ public function getDescription(); * * @param string $description * @return $this - * @since 100.2.0 + * @since 102.0.3 */ public function setDescription($description); @@ -69,7 +69,7 @@ public function setDescription($description); * Get bulk scheduled time * * @return string - * @since 100.2.0 + * @since 102.0.3 */ public function getStartTime(); @@ -78,7 +78,7 @@ public function getStartTime(); * * @param string $timestamp * @return $this - * @since 100.2.0 + * @since 102.0.3 */ public function setStartTime($timestamp); @@ -86,7 +86,7 @@ public function setStartTime($timestamp); * Get user id * * @return int - * @since 100.2.0 + * @since 102.0.3 */ public function getUserId(); @@ -95,7 +95,7 @@ public function getUserId(); * * @param int $userId * @return $this - * @since 100.2.0 + * @since 102.0.3 */ public function setUserId($userId); @@ -103,7 +103,7 @@ public function setUserId($userId); * Get total number of operations scheduled in scope of this bulk * * @return int - * @since 100.2.0 + * @since 102.0.3 */ public function getOperationCount(); @@ -112,7 +112,7 @@ public function getOperationCount(); * * @param int $operationCount * @return $this - * @since 100.2.0 + * @since 102.0.3 */ public function setOperationCount($operationCount); } diff --git a/lib/internal/Magento/Framework/Bulk/OperationInterface.php b/lib/internal/Magento/Framework/Bulk/OperationInterface.php index c1cac9f171430..ec382c9861cb7 100644 --- a/lib/internal/Magento/Framework/Bulk/OperationInterface.php +++ b/lib/internal/Magento/Framework/Bulk/OperationInterface.php @@ -8,7 +8,7 @@ /** * Interface OperationInterface * @api - * @since 100.2.0 + * @since 102.0.3 */ interface OperationInterface extends \Magento\Framework\Api\ExtensibleDataInterface { @@ -39,7 +39,7 @@ interface OperationInterface extends \Magento\Framework\Api\ExtensibleDataInterf * Operation id * * @return int - * @since 100.2.0 + * @since 102.0.3 */ public function getId(); @@ -48,7 +48,7 @@ public function getId(); * * @param int $id * @return $this - * @since 100.2.0 + * @since 102.0.3 */ public function setId($id); @@ -56,7 +56,7 @@ public function setId($id); * Get bulk uuid * * @return string - * @since 100.2.0 + * @since 102.0.3 */ public function getBulkUuid(); @@ -65,7 +65,7 @@ public function getBulkUuid(); * * @param string $bulkId * @return $this - * @since 100.2.0 + * @since 102.0.3 */ public function setBulkUuid($bulkId); @@ -73,7 +73,7 @@ public function setBulkUuid($bulkId); * Message Queue Topic * * @return string - * @since 100.2.0 + * @since 102.0.3 */ public function getTopicName(); @@ -82,7 +82,7 @@ public function getTopicName(); * * @param string $topic * @return $this - * @since 100.2.0 + * @since 102.0.3 */ public function setTopicName($topic); @@ -90,7 +90,7 @@ public function setTopicName($topic); * Serialized Data * * @return string - * @since 100.2.0 + * @since 102.0.3 */ public function getSerializedData(); @@ -99,7 +99,7 @@ public function getSerializedData(); * * @param string $serializedData * @return $this - * @since 100.2.0 + * @since 102.0.3 */ public function setSerializedData($serializedData); @@ -107,7 +107,7 @@ public function setSerializedData($serializedData); * Result serialized Data * * @return string - * @since 100.3.0 + * @since 102.0.3 */ public function getResultSerializedData(); @@ -116,7 +116,7 @@ public function getResultSerializedData(); * * @param string $resultSerializedData * @return $this - * @since 100.3.0 + * @since 102.0.3 */ public function setResultSerializedData($resultSerializedData); @@ -126,7 +126,7 @@ public function setResultSerializedData($resultSerializedData); * OPEN | COMPLETE | RETRIABLY_FAILED | NOT_RETRIABLY_FAILED * * @return int - * @since 100.2.0 + * @since 102.0.3 */ public function getStatus(); @@ -135,7 +135,7 @@ public function getStatus(); * * @param int $status * @return $this - * @since 100.2.0 + * @since 102.0.3 */ public function setStatus($status); @@ -143,7 +143,7 @@ public function setStatus($status); * Get result message * * @return string - * @since 100.2.0 + * @since 102.0.3 */ public function getResultMessage(); @@ -152,7 +152,7 @@ public function getResultMessage(); * * @param string $resultMessage * @return $this - * @since 100.2.0 + * @since 102.0.3 */ public function setResultMessage($resultMessage); @@ -160,7 +160,7 @@ public function setResultMessage($resultMessage); * Get error code * * @return int - * @since 100.2.0 + * @since 102.0.3 */ public function getErrorCode(); @@ -169,7 +169,7 @@ public function getErrorCode(); * * @param int $errorCode * @return $this - * @since 100.2.0 + * @since 102.0.3 */ public function setErrorCode($errorCode); } diff --git a/lib/internal/Magento/Framework/Bulk/OperationManagementInterface.php b/lib/internal/Magento/Framework/Bulk/OperationManagementInterface.php index e86d3ca8c1624..f4db18530a5be 100644 --- a/lib/internal/Magento/Framework/Bulk/OperationManagementInterface.php +++ b/lib/internal/Magento/Framework/Bulk/OperationManagementInterface.php @@ -9,7 +9,7 @@ /** * Interface OperationManagementInterface * @api - * @since 100.2.0 + * @since 102.0.3 */ interface OperationManagementInterface { @@ -22,7 +22,7 @@ interface OperationManagementInterface * @param string|null $message property to update Result Message * @param string|null $data serialized data object of failed message * @return boolean - * @since 100.2.0 + * @since 102.0.3 */ public function changeOperationStatus($operationId, $status, $errorCode = null, $message = null, $data = null); } diff --git a/lib/internal/Magento/Framework/Bulk/composer.json b/lib/internal/Magento/Framework/Bulk/composer.json index 2253e30829ecb..4c97f1cc71a5d 100644 --- a/lib/internal/Magento/Framework/Bulk/composer.json +++ b/lib/internal/Magento/Framework/Bulk/composer.json @@ -10,7 +10,7 @@ "AFL-3.0" ], "require": { - "magento/framework": "*", + "magento/framework": "102.0.*", "php": "~7.1.3||~7.2.0||~7.3.0" }, "autoload": { @@ -20,5 +20,6 @@ "files": [ "registration.php" ] - } + }, + "version": "100.3.3" } diff --git a/lib/internal/Magento/Framework/Cache/Frontend/Decorator/TagScope.php b/lib/internal/Magento/Framework/Cache/Frontend/Decorator/TagScope.php index c837544a75f0f..1c5f04364b087 100644 --- a/lib/internal/Magento/Framework/Cache/Frontend/Decorator/TagScope.php +++ b/lib/internal/Magento/Framework/Cache/Frontend/Decorator/TagScope.php @@ -10,6 +10,7 @@ * Cache frontend decorator that limits the cleaning scope within a tag * * @api + * @since 100.0.2 */ class TagScope extends \Magento\Framework\Cache\Frontend\Decorator\Bare { diff --git a/lib/internal/Magento/Framework/Cache/FrontendInterface.php b/lib/internal/Magento/Framework/Cache/FrontendInterface.php index d81d7fbe1c7cc..c57c97238bddd 100644 --- a/lib/internal/Magento/Framework/Cache/FrontendInterface.php +++ b/lib/internal/Magento/Framework/Cache/FrontendInterface.php @@ -9,6 +9,7 @@ * Interface of a cache frontend - an ultimate publicly available interface to an actual cache storage * * @api + * @since 100.0.2 */ interface FrontendInterface { diff --git a/lib/internal/Magento/Framework/Code/Generator/DefinedClasses.php b/lib/internal/Magento/Framework/Code/Generator/DefinedClasses.php index 363c6f59b17ea..e0ae472ba20cb 100644 --- a/lib/internal/Magento/Framework/Code/Generator/DefinedClasses.php +++ b/lib/internal/Magento/Framework/Code/Generator/DefinedClasses.php @@ -40,7 +40,7 @@ public function isClassLoadableFromMemory($className) * * @param string $className * @return bool - * @deprecated + * @deprecated 102.0.0 */ public function isClassLoadableFromDisc($className) { diff --git a/lib/internal/Magento/Framework/Code/NameBuilder.php b/lib/internal/Magento/Framework/Code/NameBuilder.php index 993235054e490..8ceac1c569766 100644 --- a/lib/internal/Magento/Framework/Code/NameBuilder.php +++ b/lib/internal/Magento/Framework/Code/NameBuilder.php @@ -9,6 +9,7 @@ * Builds namespace with classname out of the parts. * * @api + * @since 100.0.2 */ class NameBuilder { diff --git a/lib/internal/Magento/Framework/Code/Reader/SourceArgumentsReader.php b/lib/internal/Magento/Framework/Code/Reader/SourceArgumentsReader.php index 31243f6ad98f9..840cc2a3e943c 100644 --- a/lib/internal/Magento/Framework/Code/Reader/SourceArgumentsReader.php +++ b/lib/internal/Magento/Framework/Code/Reader/SourceArgumentsReader.php @@ -87,7 +87,7 @@ public function getConstructorArgumentTypes( * @param string $argument * @param array $availableNamespaces * @return string - * @deprecated 100.2.0 + * @deprecated 101.0.0 * @see getConstructorArgumentTypes */ protected function resolveNamespaces($argument, $availableNamespaces) @@ -102,7 +102,7 @@ protected function resolveNamespaces($argument, $availableNamespaces) * @param string $token * @return string * - * @deprecated Not used anymore. + * @deprecated 102.0.0 Not used anymore. */ protected function removeToken($argument, $token) { @@ -118,7 +118,7 @@ protected function removeToken($argument, $token) * * @param array $file * @return array - * @deprecated 100.2.0 + * @deprecated 101.0.0 * @see getConstructorArgumentTypes */ protected function getImportedNamespaces(array $file) diff --git a/lib/internal/Magento/Framework/Communication/Config/Reader/XmlReader/Converter.php b/lib/internal/Magento/Framework/Communication/Config/Reader/XmlReader/Converter.php index b79ba49a24ddd..3f69c3258d0b9 100644 --- a/lib/internal/Magento/Framework/Communication/Config/Reader/XmlReader/Converter.php +++ b/lib/internal/Magento/Framework/Communication/Config/Reader/XmlReader/Converter.php @@ -62,7 +62,7 @@ public function __construct( * The getter function to get the new ConfigParser dependency. * * @return \Magento\Framework\Communication\Config\ConfigParser - * @deprecated 100.2.0 + * @deprecated 101.0.0 */ private function getConfigParser() { diff --git a/lib/internal/Magento/Framework/Component/ComponentRegistrar.php b/lib/internal/Magento/Framework/Component/ComponentRegistrar.php index 0a54d770300e8..a21e2b024599e 100644 --- a/lib/internal/Magento/Framework/Component/ComponentRegistrar.php +++ b/lib/internal/Magento/Framework/Component/ComponentRegistrar.php @@ -11,6 +11,7 @@ * @author Josh Di Fabio <joshdifabio@gmail.com> * * @api + * @since 100.0.2 */ class ComponentRegistrar implements ComponentRegistrarInterface { diff --git a/lib/internal/Magento/Framework/Config/AbstractXml.php b/lib/internal/Magento/Framework/Config/AbstractXml.php index caead98147bf5..35ce8348c4fc0 100644 --- a/lib/internal/Magento/Framework/Config/AbstractXml.php +++ b/lib/internal/Magento/Framework/Config/AbstractXml.php @@ -11,6 +11,7 @@ /** * @api + * @since 100.0.2 */ abstract class AbstractXml { diff --git a/lib/internal/Magento/Framework/Config/CacheInterface.php b/lib/internal/Magento/Framework/Config/CacheInterface.php index 7064dcfca0547..5d28cf7563a80 100644 --- a/lib/internal/Magento/Framework/Config/CacheInterface.php +++ b/lib/internal/Magento/Framework/Config/CacheInterface.php @@ -11,6 +11,7 @@ * Config cache interface. * * @api + * @since 100.0.2 */ interface CacheInterface extends \Magento\Framework\Cache\FrontendInterface { diff --git a/lib/internal/Magento/Framework/Config/Composer/Package.php b/lib/internal/Magento/Framework/Config/Composer/Package.php index a8ff6ac724c3f..bc0b195297980 100644 --- a/lib/internal/Magento/Framework/Config/Composer/Package.php +++ b/lib/internal/Magento/Framework/Config/Composer/Package.php @@ -9,6 +9,7 @@ /** * A model that represents composer package * @api + * @since 100.0.2 */ class Package { diff --git a/lib/internal/Magento/Framework/Config/ConfigOptionsListConstants.php b/lib/internal/Magento/Framework/Config/ConfigOptionsListConstants.php index 6bdb74ef7b89a..3d6c99b0adc0a 100644 --- a/lib/internal/Magento/Framework/Config/ConfigOptionsListConstants.php +++ b/lib/internal/Magento/Framework/Config/ConfigOptionsListConstants.php @@ -11,6 +11,7 @@ /** * Deployment configuration options constant storage * @api + * @since 100.0.2 */ class ConfigOptionsListConstants { diff --git a/lib/internal/Magento/Framework/Config/Converter/Dom/Flat.php b/lib/internal/Magento/Framework/Config/Converter/Dom/Flat.php index 7f64705a6bde0..d989f03b44f4d 100644 --- a/lib/internal/Magento/Framework/Config/Converter/Dom/Flat.php +++ b/lib/internal/Magento/Framework/Config/Converter/Dom/Flat.php @@ -11,6 +11,7 @@ * Universal converter of any XML data to an array representation with no data loss * * @api + * @since 100.0.2 */ class Flat { diff --git a/lib/internal/Magento/Framework/Config/ConverterInterface.php b/lib/internal/Magento/Framework/Config/ConverterInterface.php index 4e299e31fb206..ed4b811253c40 100644 --- a/lib/internal/Magento/Framework/Config/ConverterInterface.php +++ b/lib/internal/Magento/Framework/Config/ConverterInterface.php @@ -9,6 +9,7 @@ * Config DOM-to-array converter interface. * * @api + * @since 100.0.2 */ interface ConverterInterface { diff --git a/lib/internal/Magento/Framework/Config/Data.php b/lib/internal/Magento/Framework/Config/Data.php index 2ae8eb378064a..cc11b32c410ba 100644 --- a/lib/internal/Magento/Framework/Config/Data.php +++ b/lib/internal/Magento/Framework/Config/Data.php @@ -13,6 +13,7 @@ * * @SuppressWarnings(PHPMD.NumberOfChildren) * @api + * @since 100.0.2 */ class Data implements \Magento\Framework\Config\DataInterface { diff --git a/lib/internal/Magento/Framework/Config/Data/ConfigData.php b/lib/internal/Magento/Framework/Config/Data/ConfigData.php index b6ea96e36ec56..1c3d2524efa57 100644 --- a/lib/internal/Magento/Framework/Config/Data/ConfigData.php +++ b/lib/internal/Magento/Framework/Config/Data/ConfigData.php @@ -9,6 +9,7 @@ /** * Data transfer object to store config data for config options * @api + * @since 100.0.2 */ class ConfigData { diff --git a/lib/internal/Magento/Framework/Config/Data/Scoped.php b/lib/internal/Magento/Framework/Config/Data/Scoped.php index 9806d89fd5737..e453e8397a9a5 100644 --- a/lib/internal/Magento/Framework/Config/Data/Scoped.php +++ b/lib/internal/Magento/Framework/Config/Data/Scoped.php @@ -11,6 +11,7 @@ /** * Provides scoped configuration * @api + * @since 100.0.2 */ class Scoped extends \Magento\Framework\Config\Data { diff --git a/lib/internal/Magento/Framework/Config/DataInterface.php b/lib/internal/Magento/Framework/Config/DataInterface.php index f0fbedae5a500..0418915a2dadb 100644 --- a/lib/internal/Magento/Framework/Config/DataInterface.php +++ b/lib/internal/Magento/Framework/Config/DataInterface.php @@ -9,6 +9,7 @@ * Config data interface. * * @api + * @since 100.0.2 */ interface DataInterface { diff --git a/lib/internal/Magento/Framework/Config/Dom.php b/lib/internal/Magento/Framework/Config/Dom.php index e36f9615db26b..227eec631a8fe 100644 --- a/lib/internal/Magento/Framework/Config/Dom.php +++ b/lib/internal/Magento/Framework/Config/Dom.php @@ -18,6 +18,7 @@ * * @SuppressWarnings(PHPMD.CouplingBetweenObjects) * @api + * @since 100.0.2 */ class Dom { @@ -83,7 +84,6 @@ class Dom /** * @var array - * @since 2.2.0 */ private static $resolvedSchemaPaths = []; @@ -122,7 +122,6 @@ public function __construct( * * @param string $errorFormat * @return string[] - * @since 2.1.0 */ private static function getXmlErrors($errorFormat) { diff --git a/lib/internal/Magento/Framework/Config/Dom/UrnResolver.php b/lib/internal/Magento/Framework/Config/Dom/UrnResolver.php index 41c83c940ca04..44ebe82422aba 100644 --- a/lib/internal/Magento/Framework/Config/Dom/UrnResolver.php +++ b/lib/internal/Magento/Framework/Config/Dom/UrnResolver.php @@ -16,6 +16,7 @@ /** * @api + * @since 100.0.2 */ class UrnResolver { diff --git a/lib/internal/Magento/Framework/Config/Dom/ValidationException.php b/lib/internal/Magento/Framework/Config/Dom/ValidationException.php index 3c74a80bdfab1..1c77e510841eb 100644 --- a/lib/internal/Magento/Framework/Config/Dom/ValidationException.php +++ b/lib/internal/Magento/Framework/Config/Dom/ValidationException.php @@ -11,6 +11,7 @@ /** * @api + * @since 100.0.2 */ class ValidationException extends \InvalidArgumentException { diff --git a/lib/internal/Magento/Framework/Config/Dom/ValidationSchemaException.php b/lib/internal/Magento/Framework/Config/Dom/ValidationSchemaException.php index d65cfa9a2ec9b..81548c31f6ba3 100644 --- a/lib/internal/Magento/Framework/Config/Dom/ValidationSchemaException.php +++ b/lib/internal/Magento/Framework/Config/Dom/ValidationSchemaException.php @@ -13,7 +13,7 @@ /** * @api - * @since 100.2.0 + * @since 101.0.0 */ class ValidationSchemaException extends LocalizedException { diff --git a/lib/internal/Magento/Framework/Config/DomFactory.php b/lib/internal/Magento/Framework/Config/DomFactory.php index 542ebd642c71d..f079674a50b9e 100644 --- a/lib/internal/Magento/Framework/Config/DomFactory.php +++ b/lib/internal/Magento/Framework/Config/DomFactory.php @@ -8,6 +8,7 @@ /** * Magento configuration DOM factory * @api + * @since 100.0.2 */ class DomFactory { diff --git a/lib/internal/Magento/Framework/Config/File/ConfigFilePool.php b/lib/internal/Magento/Framework/Config/File/ConfigFilePool.php index ffc32a300ccfe..c9fa5e3ddc606 100644 --- a/lib/internal/Magento/Framework/Config/File/ConfigFilePool.php +++ b/lib/internal/Magento/Framework/Config/File/ConfigFilePool.php @@ -9,6 +9,7 @@ /** * Stores file key to file name config * @api + * @since 100.0.2 */ class ConfigFilePool { @@ -39,7 +40,7 @@ class ConfigFilePool * Initial files for configuration * * @var array - * @deprecated 100.2.0 Magento does not support custom config file pools since 2.2.0 version + * @deprecated 101.0.0 Magento does not support custom config file pools since 2.2.0 version */ private $initialConfigFiles = [ self::DIST => [ @@ -91,7 +92,7 @@ public function getPath($fileKey) * Returns application initial config files. * * @return array - * @deprecated 100.2.0 Magento does not support custom config file pools since 2.2.0 version + * @deprecated 101.0.0 Magento does not support custom config file pools since 2.2.0 version * @since 100.1.3 */ public function getInitialFilePools() @@ -104,7 +105,7 @@ public function getInitialFilePools() * * @param string $pool * @return array - * @deprecated 100.2.0 Magento does not support custom config file pools since 2.2.0 version + * @deprecated 101.0.0 Magento does not support custom config file pools since 2.2.0 version * @since 100.1.3 */ public function getPathsByPool($pool) diff --git a/lib/internal/Magento/Framework/Config/FileIterator.php b/lib/internal/Magento/Framework/Config/FileIterator.php index 0de1d8ae528f9..7cf1f34b6deb6 100644 --- a/lib/internal/Magento/Framework/Config/FileIterator.php +++ b/lib/internal/Magento/Framework/Config/FileIterator.php @@ -12,6 +12,7 @@ /** * Class FileIterator * @api + * @since 100.0.2 */ class FileIterator implements \Iterator, \Countable { diff --git a/lib/internal/Magento/Framework/Config/FileIteratorFactory.php b/lib/internal/Magento/Framework/Config/FileIteratorFactory.php index 15d0edd57ded8..337a6110096b9 100644 --- a/lib/internal/Magento/Framework/Config/FileIteratorFactory.php +++ b/lib/internal/Magento/Framework/Config/FileIteratorFactory.php @@ -8,6 +8,7 @@ /** * @api + * @since 100.0.2 */ class FileIteratorFactory { diff --git a/lib/internal/Magento/Framework/Config/FileResolver.php b/lib/internal/Magento/Framework/Config/FileResolver.php index 30967a8fa0014..959537d76ab91 100644 --- a/lib/internal/Magento/Framework/Config/FileResolver.php +++ b/lib/internal/Magento/Framework/Config/FileResolver.php @@ -55,7 +55,7 @@ class FileResolver implements \Magento\Framework\Config\FileResolverInterface, D /** * @var DirectoryList - * @deprecated Unused class property + * @deprecated 102.0.0 Unused class property */ private $directoryList; diff --git a/lib/internal/Magento/Framework/Config/FileResolverInterface.php b/lib/internal/Magento/Framework/Config/FileResolverInterface.php index a83f1da03e123..95bf7f5249561 100644 --- a/lib/internal/Magento/Framework/Config/FileResolverInterface.php +++ b/lib/internal/Magento/Framework/Config/FileResolverInterface.php @@ -9,6 +9,7 @@ * File resolver interface. * * @api + * @since 100.0.2 */ interface FileResolverInterface { diff --git a/lib/internal/Magento/Framework/Config/Reader/Filesystem.php b/lib/internal/Magento/Framework/Config/Reader/Filesystem.php index e2008b95c3b61..b05269b33689d 100644 --- a/lib/internal/Magento/Framework/Config/Reader/Filesystem.php +++ b/lib/internal/Magento/Framework/Config/Reader/Filesystem.php @@ -12,6 +12,7 @@ /** * @SuppressWarnings(PHPMD.NumberOfChildren) * @api + * @since 100.0.2 */ class Filesystem implements \Magento\Framework\Config\ReaderInterface { diff --git a/lib/internal/Magento/Framework/Config/ReaderInterface.php b/lib/internal/Magento/Framework/Config/ReaderInterface.php index d85ed2030a262..97883d21489b5 100644 --- a/lib/internal/Magento/Framework/Config/ReaderInterface.php +++ b/lib/internal/Magento/Framework/Config/ReaderInterface.php @@ -11,6 +11,7 @@ * Config reader interface. * * @api + * @since 100.0.2 */ interface ReaderInterface { diff --git a/lib/internal/Magento/Framework/Config/SchemaLocatorInterface.php b/lib/internal/Magento/Framework/Config/SchemaLocatorInterface.php index 242f3d62a5f2a..985614051b665 100644 --- a/lib/internal/Magento/Framework/Config/SchemaLocatorInterface.php +++ b/lib/internal/Magento/Framework/Config/SchemaLocatorInterface.php @@ -11,6 +11,7 @@ * Config schema locator interface. * * @api + * @since 100.0.2 */ interface SchemaLocatorInterface { diff --git a/lib/internal/Magento/Framework/Config/ScopeInterface.php b/lib/internal/Magento/Framework/Config/ScopeInterface.php index 052d97eebc166..bd6bc92cdea48 100644 --- a/lib/internal/Magento/Framework/Config/ScopeInterface.php +++ b/lib/internal/Magento/Framework/Config/ScopeInterface.php @@ -9,6 +9,7 @@ * Config scope interface. * * @api + * @since 100.0.2 */ interface ScopeInterface { diff --git a/lib/internal/Magento/Framework/Config/ScopeListInterface.php b/lib/internal/Magento/Framework/Config/ScopeListInterface.php index c45938db93d41..47526c8ca0a86 100644 --- a/lib/internal/Magento/Framework/Config/ScopeListInterface.php +++ b/lib/internal/Magento/Framework/Config/ScopeListInterface.php @@ -9,6 +9,7 @@ * Config scope list interface. * * @api + * @since 100.0.2 */ interface ScopeListInterface { diff --git a/lib/internal/Magento/Framework/Config/Theme.php b/lib/internal/Magento/Framework/Config/Theme.php index 812e61483b77b..a5e216d335ae4 100644 --- a/lib/internal/Magento/Framework/Config/Theme.php +++ b/lib/internal/Magento/Framework/Config/Theme.php @@ -11,6 +11,7 @@ /** * @api + * @since 100.0.2 */ class Theme { diff --git a/lib/internal/Magento/Framework/Config/ValidationStateInterface.php b/lib/internal/Magento/Framework/Config/ValidationStateInterface.php index 20869d20b9dc1..6d1199adda5e2 100644 --- a/lib/internal/Magento/Framework/Config/ValidationStateInterface.php +++ b/lib/internal/Magento/Framework/Config/ValidationStateInterface.php @@ -9,6 +9,7 @@ * Config validation state interface. * * @api + * @since 100.0.2 */ interface ValidationStateInterface { diff --git a/lib/internal/Magento/Framework/Config/View.php b/lib/internal/Magento/Framework/Config/View.php index 05863caeec2b6..1f15c71e5ddce 100644 --- a/lib/internal/Magento/Framework/Config/View.php +++ b/lib/internal/Magento/Framework/Config/View.php @@ -9,6 +9,7 @@ * View configuration files handler * * @api + * @since 100.0.2 */ class View extends \Magento\Framework\Config\Reader\Filesystem { diff --git a/lib/internal/Magento/Framework/Console/CommandListInterface.php b/lib/internal/Magento/Framework/Console/CommandListInterface.php index 1547b5b671bfd..104d22cd735bf 100644 --- a/lib/internal/Magento/Framework/Console/CommandListInterface.php +++ b/lib/internal/Magento/Framework/Console/CommandListInterface.php @@ -8,6 +8,7 @@ /** * Contains a list of Console commands * @api + * @since 100.0.2 */ interface CommandListInterface { diff --git a/lib/internal/Magento/Framework/Controller/Result/Json.php b/lib/internal/Magento/Framework/Controller/Result/Json.php index f46d0875c4250..a40cbf8f78200 100644 --- a/lib/internal/Magento/Framework/Controller/Result/Json.php +++ b/lib/internal/Magento/Framework/Controller/Result/Json.php @@ -15,6 +15,7 @@ * Actual for controller actions that serve ajax requests * * @api + * @since 100.0.2 */ class Json extends AbstractResult { diff --git a/lib/internal/Magento/Framework/Controller/Result/Redirect.php b/lib/internal/Magento/Framework/Controller/Result/Redirect.php index 120b18d873cff..02daae818b120 100644 --- a/lib/internal/Magento/Framework/Controller/Result/Redirect.php +++ b/lib/internal/Magento/Framework/Controller/Result/Redirect.php @@ -17,6 +17,7 @@ * so this is a result object that implements all necessary properties of a HTTP redirect * * @api + * @since 100.0.2 */ class Redirect extends AbstractResult { diff --git a/lib/internal/Magento/Framework/Controller/Result/RedirectFactory.php b/lib/internal/Magento/Framework/Controller/Result/RedirectFactory.php index 0e622b1cc5e1a..797fcea4186dc 100644 --- a/lib/internal/Magento/Framework/Controller/Result/RedirectFactory.php +++ b/lib/internal/Magento/Framework/Controller/Result/RedirectFactory.php @@ -9,6 +9,7 @@ /** * @api + * @since 100.0.2 */ class RedirectFactory { diff --git a/lib/internal/Magento/Framework/Controller/ResultFactory.php b/lib/internal/Magento/Framework/Controller/ResultFactory.php index bb7ab1c8b6c85..88efcdf8d3386 100644 --- a/lib/internal/Magento/Framework/Controller/ResultFactory.php +++ b/lib/internal/Magento/Framework/Controller/ResultFactory.php @@ -12,6 +12,7 @@ * Result Factory * * @api + * @since 100.0.2 */ class ResultFactory { diff --git a/lib/internal/Magento/Framework/Controller/ResultInterface.php b/lib/internal/Magento/Framework/Controller/ResultInterface.php index f20f32078a9b5..3fe42ae07f566 100644 --- a/lib/internal/Magento/Framework/Controller/ResultInterface.php +++ b/lib/internal/Magento/Framework/Controller/ResultInterface.php @@ -14,6 +14,7 @@ * and be able to set it to the HTTP response * * @api + * @since 100.0.2 */ interface ResultInterface { diff --git a/lib/internal/Magento/Framework/Css/PreProcessor/Instruction/MagentoImport.php b/lib/internal/Magento/Framework/Css/PreProcessor/Instruction/MagentoImport.php index db30eb4844edb..4187650938bf9 100644 --- a/lib/internal/Magento/Framework/Css/PreProcessor/Instruction/MagentoImport.php +++ b/lib/internal/Magento/Framework/Css/PreProcessor/Instruction/MagentoImport.php @@ -48,7 +48,7 @@ class MagentoImport implements PreProcessorInterface /** * @var \Magento\Framework\View\Design\Theme\ListInterface - * @deprecated 100.1.1 + * @deprecated 100.0.2 */ protected $themeList; diff --git a/lib/internal/Magento/Framework/CurrencyInterface.php b/lib/internal/Magento/Framework/CurrencyInterface.php index ca042bda849aa..8ddaae5459c78 100644 --- a/lib/internal/Magento/Framework/CurrencyInterface.php +++ b/lib/internal/Magento/Framework/CurrencyInterface.php @@ -7,6 +7,7 @@ /** * @api + * @since 100.0.2 */ interface CurrencyInterface { diff --git a/lib/internal/Magento/Framework/DB/Adapter/AdapterInterface.php b/lib/internal/Magento/Framework/DB/Adapter/AdapterInterface.php index f654fd263f605..acfd18370a732 100644 --- a/lib/internal/Magento/Framework/DB/Adapter/AdapterInterface.php +++ b/lib/internal/Magento/Framework/DB/Adapter/AdapterInterface.php @@ -12,6 +12,7 @@ * Magento Database Adapter Interface * * @api + * @since 100.0.2 */ interface AdapterInterface { diff --git a/lib/internal/Magento/Framework/DB/Adapter/Pdo/Mysql.php b/lib/internal/Magento/Framework/DB/Adapter/Pdo/Mysql.php index 480af45e40a69..a1d6879540c41 100644 --- a/lib/internal/Magento/Framework/DB/Adapter/Pdo/Mysql.php +++ b/lib/internal/Magento/Framework/DB/Adapter/Pdo/Mysql.php @@ -38,6 +38,7 @@ * @SuppressWarnings(PHPMD.TooManyFields) * @SuppressWarnings(PHPMD.ExcessiveClassComplexity) * @SuppressWarnings(PHPMD.CouplingBetweenObjects) + * @since 100.0.2 */ class Mysql extends \Zend_Db_Adapter_Pdo_Mysql implements AdapterInterface { @@ -634,7 +635,7 @@ public function query($sql, $bind = []) * @throws \Zend_Db_Adapter_Exception To re-throw \PDOException. * @throws LocalizedException In case multiple queries are attempted at once, to protect from SQL injection * @SuppressWarnings(PHPMD.CyclomaticComplexity) - * @deprecated 100.2.0 + * @deprecated 101.0.0 */ public function multiQuery($sql, $bind = []) { @@ -3780,7 +3781,7 @@ protected function _getInsertSqlQuery($tableName, array $columns, array $values, * @param array $columns * @param array $values * @return string - * @since 100.2.0 + * @since 101.0.0 */ protected function _getReplaceSqlQuery($tableName, array $columns, array $values) { @@ -4026,6 +4027,7 @@ public function getAutoIncrementField($tableName, $schemaName = null) * Required to listen all DDL changes done by 3-rd party modules with old Install/UpgradeSchema scripts. * * @return SchemaListener + * @since 102.0.0 */ public function getSchemaListener() { diff --git a/lib/internal/Magento/Framework/DB/Ddl/Table.php b/lib/internal/Magento/Framework/DB/Ddl/Table.php index 9d343806d66b3..e812b49f49d23 100644 --- a/lib/internal/Magento/Framework/DB/Ddl/Table.php +++ b/lib/internal/Magento/Framework/DB/Ddl/Table.php @@ -11,6 +11,7 @@ * Data Definition for table * * @api + * @since 100.0.2 */ class Table { diff --git a/lib/internal/Magento/Framework/DB/Ddl/Trigger.php b/lib/internal/Magento/Framework/DB/Ddl/Trigger.php index 94427c3d9c39d..1fd58be46d6c7 100644 --- a/lib/internal/Magento/Framework/DB/Ddl/Trigger.php +++ b/lib/internal/Magento/Framework/DB/Ddl/Trigger.php @@ -7,6 +7,7 @@ /** * @api + * @since 100.0.2 */ class Trigger { diff --git a/lib/internal/Magento/Framework/DB/Query/BatchRangeIterator.php b/lib/internal/Magento/Framework/DB/Query/BatchRangeIterator.php index e2ef4ae530a9d..ac76804fcf5ed 100644 --- a/lib/internal/Magento/Framework/DB/Query/BatchRangeIterator.php +++ b/lib/internal/Magento/Framework/DB/Query/BatchRangeIterator.php @@ -35,7 +35,7 @@ class BatchRangeIterator implements BatchIteratorInterface /** * @var string - * @deprecated unused class property + * @deprecated 102.0.0 unused class property */ private $rangeFieldAlias; diff --git a/lib/internal/Magento/Framework/DB/Query/Generator.php b/lib/internal/Magento/Framework/DB/Query/Generator.php index 0538aec760bd7..af119b16780ee 100644 --- a/lib/internal/Magento/Framework/DB/Query/Generator.php +++ b/lib/internal/Magento/Framework/DB/Query/Generator.php @@ -134,7 +134,7 @@ public function generate( * @return BatchIteratorInterface * @throws LocalizedException Throws if incorrect "FROM" part in \Select exists * @see \Magento\Framework\DB\Query\Generator - * @deprecated 100.2.0 This is a temporary solution which is made due to the fact that we + * @deprecated 100.1.8 This is a temporary solution which is made due to the fact that we * can't change method generate() in version 2.1 due to a backwards incompatibility. * In 2.2 version need to use original method generate() with additional parameter. */ diff --git a/lib/internal/Magento/Framework/DB/Select.php b/lib/internal/Magento/Framework/DB/Select.php index 7399845215bb5..942b9568fdd74 100644 --- a/lib/internal/Magento/Framework/DB/Select.php +++ b/lib/internal/Magento/Framework/DB/Select.php @@ -28,6 +28,7 @@ * @method \Magento\Framework\DB\Select distinct($flag = true) * @method \Magento\Framework\DB\Select reset($part = null) * @method \Magento\Framework\DB\Select columns($cols = '*', $correlationName = null) + * @since 100.0.2 */ class Select extends \Zend_Db_Select { diff --git a/lib/internal/Magento/Framework/DB/SelectFactory.php b/lib/internal/Magento/Framework/DB/SelectFactory.php index 3c64e78839c4d..306e649addff8 100644 --- a/lib/internal/Magento/Framework/DB/SelectFactory.php +++ b/lib/internal/Magento/Framework/DB/SelectFactory.php @@ -32,7 +32,6 @@ class SelectFactory /** * @param SelectRenderer $selectRenderer * @param array $parts - * @since 100.1.0 */ public function __construct( SelectRenderer $selectRenderer, diff --git a/lib/internal/Magento/Framework/DB/Sql/ColumnValueExpression.php b/lib/internal/Magento/Framework/DB/Sql/ColumnValueExpression.php index cf033dbe297f2..b51da7c47936b 100644 --- a/lib/internal/Magento/Framework/DB/Sql/ColumnValueExpression.php +++ b/lib/internal/Magento/Framework/DB/Sql/ColumnValueExpression.php @@ -10,7 +10,7 @@ * * Just a wrapper over Expression for implementing the specific type of expression. * @api - * @since 100.2.0 + * @since 100.1.8 */ class ColumnValueExpression extends Expression { diff --git a/lib/internal/Magento/Framework/DB/TemporaryTableService.php b/lib/internal/Magento/Framework/DB/TemporaryTableService.php index 881ebbe5c85ad..750b65217e50f 100644 --- a/lib/internal/Magento/Framework/DB/TemporaryTableService.php +++ b/lib/internal/Magento/Framework/DB/TemporaryTableService.php @@ -12,7 +12,7 @@ * Use this class to create an index with that you want to query later for quick data access * * @api - * @since 100.2.0 + * @since 100.1.8 */ class TemporaryTableService { @@ -43,7 +43,6 @@ class TemporaryTableService * @param \Magento\Framework\Math\Random $random * @param string[] $allowedIndexMethods * @param string[] $allowedEngines - * @since 100.2.0 */ public function __construct( \Magento\Framework\Math\Random $random, @@ -79,7 +78,7 @@ public function __construct( * @param string $dbEngine * @return string * @throws \InvalidArgumentException - * @since 100.2.0 + * @since 100.1.8 */ public function createFromSelect( Select $select, @@ -150,7 +149,7 @@ public function createFromSelect( * * @param string $name * @return bool - * @since 100.2.0 + * @since 100.1.8 */ public function dropTable($name) { diff --git a/lib/internal/Magento/Framework/DB/Tree.php b/lib/internal/Magento/Framework/DB/Tree.php index 1aeaf122131f6..6fbd014213bc8 100644 --- a/lib/internal/Magento/Framework/DB/Tree.php +++ b/lib/internal/Magento/Framework/DB/Tree.php @@ -18,7 +18,7 @@ * @SuppressWarnings(PHPMD.CouplingBetweenObjects) * phpcs:ignoreFile * - * @deprecated Not used anymore. + * @deprecated 102.0.0 Not used anymore. */ class Tree { @@ -82,7 +82,7 @@ class Tree * @SuppressWarnings(PHPMD.CyclomaticComplexity) * @SuppressWarnings(PHPMD.NPathComplexity) * - * @deprecated Not used anymore. + * @deprecated 102.0.0 Not used anymore. */ public function __construct($config = []) { @@ -156,7 +156,7 @@ public function __construct($config = []) * @param string $name * @return $this * - * @deprecated Not used anymore. + * @deprecated 102.0.0 Not used anymore. */ public function setIdField($name) { @@ -170,7 +170,7 @@ public function setIdField($name) * @param string $name * @return $this * - * @deprecated Not used anymore. + * @deprecated 102.0.0 Not used anymore. */ public function setLeftField($name) { @@ -184,7 +184,7 @@ public function setLeftField($name) * @param string $name * @return $this * - * @deprecated Not used anymore. + * @deprecated 102.0.0 Not used anymore. */ public function setRightField($name) { @@ -198,7 +198,7 @@ public function setRightField($name) * @param string $name * @return $this * - * @deprecated Not used anymore. + * @deprecated 102.0.0 Not used anymore. */ public function setLevelField($name) { @@ -212,7 +212,7 @@ public function setLevelField($name) * @param string $name * @return $this * - * @deprecated Not used anymore. + * @deprecated 102.0.0 Not used anymore. */ public function setPidField($name) { @@ -226,7 +226,7 @@ public function setPidField($name) * @param string $name * @return $this * - * @deprecated Not used anymore. + * @deprecated 102.0.0 Not used anymore. */ public function setTable($name) { @@ -237,7 +237,7 @@ public function setTable($name) /** * @return array * - * @deprecated Not used anymore. + * @deprecated 102.0.0 Not used anymore. */ public function getKeys() { @@ -256,7 +256,7 @@ public function getKeys() * @param array $data * @return string * - * @deprecated Not used anymore. + * @deprecated 102.0.0 Not used anymore. */ public function clear($data = []) { @@ -283,7 +283,7 @@ public function clear($data = []) * @param string|int $nodeId * @return array * - * @deprecated Not used anymore. + * @deprecated 102.0.0 Not used anymore. */ public function getNodeInfo($nodeId) { @@ -303,7 +303,7 @@ public function getNodeInfo($nodeId) * @param array $data * @return false|string * - * @deprecated Not used anymore. + * @deprecated 102.0.0 Not used anymore. */ public function appendChild($nodeId, $data) { @@ -371,7 +371,7 @@ public function appendChild($nodeId, $data) /** * @return array * - * @deprecated Not used anymore. + * @deprecated 102.0.0 Not used anymore. */ public function checkNodes() { @@ -403,7 +403,7 @@ public function checkNodes() * @param string|int $nodeId * @return bool|Node|void * - * @deprecated Not used anymore. + * @deprecated 102.0.0 Not used anymore. */ public function removeNode($nodeId) { @@ -479,7 +479,7 @@ public function removeNode($nodeId) * @SuppressWarnings(PHPMD.ExcessiveMethodLength) * @SuppressWarnings(PHPMD.UnusedFormalParameter) * - * @deprecated Not used anymore. + * @deprecated 102.0.0 Not used anymore. */ public function moveNode($eId, $pId, $aId = 0) { @@ -815,7 +815,7 @@ public function moveNode($eId, $pId, $aId = 0) * @SuppressWarnings(PHPMD.ExcessiveMethodLength) * @SuppressWarnings(PHPMD.UnusedLocalVariable) * - * @deprecated Not used anymore. + * @deprecated 102.0.0 Not used anymore. */ public function moveNodes($eId, $pId, $aId = 0) { @@ -1015,7 +1015,7 @@ public function moveNodes($eId, $pId, $aId = 0) * @param string $fields * @return void * - * @deprecated Not used anymore. + * @deprecated 102.0.0 Not used anymore. */ public function addTable($tableName, $joinCondition, $fields = '*') { @@ -1026,7 +1026,7 @@ public function addTable($tableName, $joinCondition, $fields = '*') * @param Select $select * @return void * - * @deprecated Not used anymore. + * @deprecated 102.0.0 Not used anymore. */ protected function _addExtTablesToSelect(Select &$select) { @@ -1041,7 +1041,7 @@ protected function _addExtTablesToSelect(Select &$select) * @param int $endLevel * @return NodeSet * - * @deprecated Not used anymore. + * @deprecated 102.0.0 Not used anymore. */ public function getChildren($nodeId, $startLevel = 0, $endLevel = 0) { @@ -1088,7 +1088,7 @@ public function getChildren($nodeId, $startLevel = 0, $endLevel = 0) * @param string|int $nodeId * @return Node * - * @deprecated Not used anymore. + * @deprecated 102.0.0 Not used anymore. */ public function getNode($nodeId) { diff --git a/lib/internal/Magento/Framework/DB/Tree/Node.php b/lib/internal/Magento/Framework/DB/Tree/Node.php index eb954a696e21e..507a09476abba 100644 --- a/lib/internal/Magento/Framework/DB/Tree/Node.php +++ b/lib/internal/Magento/Framework/DB/Tree/Node.php @@ -11,7 +11,7 @@ /** * @SuppressWarnings(PHPMD.UnusedPrivateField) * - * @deprecated Not used anymore. + * @deprecated 102.0.0 Not used anymore. */ class Node { @@ -53,14 +53,14 @@ class Node /** * @var bool * - * @deprecated + * @deprecated 102.0.0 */ public $hasChild = false; /** * @var float|int * - * @deprecated + * @deprecated 102.0.0 */ public $numChild = 0; @@ -69,7 +69,7 @@ class Node * @param array $keys * @throws LocalizedException * - * @deprecated + * @deprecated 102.0.0 */ public function __construct($nodeData, $keys) { @@ -103,7 +103,7 @@ public function __construct($nodeData, $keys) * @param string $name * @return null|array * - * @deprecated + * @deprecated 102.0.0 */ public function getData($name) { @@ -117,7 +117,7 @@ public function getData($name) /** * @return int * - * @deprecated + * @deprecated 102.0.0 */ public function getLevel() { @@ -127,7 +127,7 @@ public function getLevel() /** * @return int * - * @deprecated + * @deprecated 102.0.0 */ public function getLeft() { @@ -137,7 +137,7 @@ public function getLeft() /** * @return int * - * @deprecated + * @deprecated 102.0.0 */ public function getRight() { @@ -147,7 +147,7 @@ public function getRight() /** * @return string|int * - * @deprecated + * @deprecated 102.0.0 */ public function getPid() { @@ -157,7 +157,7 @@ public function getPid() /** * @return string|int * - * @deprecated + * @deprecated 102.0.0 */ public function getId() { @@ -169,7 +169,7 @@ public function getId() * * @return bool * - * @deprecated + * @deprecated 102.0.0 */ public function isParent() { diff --git a/lib/internal/Magento/Framework/DB/Tree/NodeSet.php b/lib/internal/Magento/Framework/DB/Tree/NodeSet.php index 75e677b77ae45..e861a90f7cd0d 100644 --- a/lib/internal/Magento/Framework/DB/Tree/NodeSet.php +++ b/lib/internal/Magento/Framework/DB/Tree/NodeSet.php @@ -8,7 +8,7 @@ /** * TODO implements iterators * - * @deprecated Not used anymore. + * @deprecated 102.0.0 Not used anymore. */ class NodeSet implements \Iterator, \Countable { @@ -35,7 +35,7 @@ class NodeSet implements \Iterator, \Countable /** * Constructor * - * @deprecated + * @deprecated 102.0.0 */ public function __construct() { @@ -49,7 +49,7 @@ public function __construct() * @param Node $node * @return int * - * @deprecated + * @deprecated 102.0.0 */ public function addNode(Node $node) { @@ -61,7 +61,7 @@ public function addNode(Node $node) /** * @return int * - * @deprecated + * @deprecated 102.0.0 */ public function count() { @@ -71,7 +71,7 @@ public function count() /** * @return bool * - * @deprecated + * @deprecated 102.0.0 */ public function valid() { @@ -81,7 +81,7 @@ public function valid() /** * @return false|int * - * @deprecated + * @deprecated 102.0.0 */ public function next() { @@ -95,7 +95,7 @@ public function next() /** * @return int * - * @deprecated + * @deprecated 102.0.0 */ public function key() { @@ -105,7 +105,7 @@ public function key() /** * @return Node * - * @deprecated + * @deprecated 102.0.0 */ public function current() { @@ -115,7 +115,7 @@ public function current() /** * @return void * - * @deprecated + * @deprecated 102.0.0 */ public function rewind() { diff --git a/lib/internal/Magento/Framework/Data/AbstractSearchResult.php b/lib/internal/Magento/Framework/Data/AbstractSearchResult.php index f9272683005ce..05c8e39f52465 100644 --- a/lib/internal/Magento/Framework/Data/AbstractSearchResult.php +++ b/lib/internal/Magento/Framework/Data/AbstractSearchResult.php @@ -64,7 +64,7 @@ abstract class AbstractSearchResult extends AbstractDataObject implements Search /** * @var \Magento\Framework\DB\Select - * @deprecated 100.2.0 + * @deprecated 101.0.0 */ protected $select; diff --git a/lib/internal/Magento/Framework/Data/Argument/InterpreterInterface.php b/lib/internal/Magento/Framework/Data/Argument/InterpreterInterface.php index 2deabdf9829ae..178efc3b23463 100644 --- a/lib/internal/Magento/Framework/Data/Argument/InterpreterInterface.php +++ b/lib/internal/Magento/Framework/Data/Argument/InterpreterInterface.php @@ -9,6 +9,7 @@ * Interface that encapsulates complexity of expression computation * * @api + * @since 100.0.2 */ interface InterpreterInterface { diff --git a/lib/internal/Magento/Framework/Data/Collection.php b/lib/internal/Magento/Framework/Data/Collection.php index 128d3d8e9fd3d..8514d82f6aa71 100644 --- a/lib/internal/Magento/Framework/Data/Collection.php +++ b/lib/internal/Magento/Framework/Data/Collection.php @@ -15,6 +15,7 @@ * TODO: Refactor use of \Magento\Framework\Option\ArrayInterface in library. * * @api + * @since 100.0.2 */ class Collection implements \IteratorAggregate, \Countable, ArrayInterface, CollectionDataSourceInterface { diff --git a/lib/internal/Magento/Framework/Data/Collection/AbstractDb.php b/lib/internal/Magento/Framework/Data/Collection/AbstractDb.php index 8a22c9a1ce4fc..b829f063ac2de 100644 --- a/lib/internal/Magento/Framework/Data/Collection/AbstractDb.php +++ b/lib/internal/Magento/Framework/Data/Collection/AbstractDb.php @@ -19,6 +19,7 @@ * phpcs:disable Magento2.Classes.AbstractApi * @api * @SuppressWarnings(PHPMD.CouplingBetweenObjects) + * @since 100.0.2 */ abstract class AbstractDb extends \Magento\Framework\Data\Collection { diff --git a/lib/internal/Magento/Framework/Data/Collection/Filesystem.php b/lib/internal/Magento/Framework/Data/Collection/Filesystem.php index 629b992b32cfd..6103a7df5bf0d 100644 --- a/lib/internal/Magento/Framework/Data/Collection/Filesystem.php +++ b/lib/internal/Magento/Framework/Data/Collection/Filesystem.php @@ -25,6 +25,7 @@ * At least one target directory must be set * * @api + * @since 100.0.2 */ class Filesystem extends \Magento\Framework\Data\Collection { diff --git a/lib/internal/Magento/Framework/Data/Form.php b/lib/internal/Magento/Framework/Data/Form.php index abeda0c17542e..a9cdfbf5f9ae7 100644 --- a/lib/internal/Magento/Framework/Data/Form.php +++ b/lib/internal/Magento/Framework/Data/Form.php @@ -16,6 +16,7 @@ /** * @api + * @since 100.0.2 */ class Form extends \Magento\Framework\Data\Form\AbstractForm { diff --git a/lib/internal/Magento/Framework/Data/Form/Element/AbstractElement.php b/lib/internal/Magento/Framework/Data/Form/Element/AbstractElement.php index ff1e3ba63ba8a..0d548a93f7408 100644 --- a/lib/internal/Magento/Framework/Data/Form/Element/AbstractElement.php +++ b/lib/internal/Magento/Framework/Data/Form/Element/AbstractElement.php @@ -17,6 +17,7 @@ * @api * @author Magento Core Team <core@magentocommerce.com> * @SuppressWarnings(PHPMD.NumberOfChildren) + * @since 100.0.2 */ abstract class AbstractElement extends AbstractForm { diff --git a/lib/internal/Magento/Framework/Data/Form/Element/Fieldset.php b/lib/internal/Magento/Framework/Data/Form/Element/Fieldset.php index 90482ab55fc71..d2c44c0f112a6 100644 --- a/lib/internal/Magento/Framework/Data/Form/Element/Fieldset.php +++ b/lib/internal/Magento/Framework/Data/Form/Element/Fieldset.php @@ -13,6 +13,7 @@ * * @api * @author Magento Core Team <core@magentocommerce.com> + * @since 100.0.2 */ class Fieldset extends AbstractElement { diff --git a/lib/internal/Magento/Framework/Data/Form/Element/Image.php b/lib/internal/Magento/Framework/Data/Form/Element/Image.php index 0b37a9ab18c8c..29071fbe40cbf 100644 --- a/lib/internal/Magento/Framework/Data/Form/Element/Image.php +++ b/lib/internal/Magento/Framework/Data/Form/Element/Image.php @@ -4,15 +4,15 @@ * See COPYING.txt for license details. */ +namespace Magento\Framework\Data\Form\Element; + +use Magento\Framework\UrlInterface; + /** * Category form input image element * * @author Magento Core Team <core@magentocommerce.com> */ -namespace Magento\Framework\Data\Form\Element; - -use Magento\Framework\UrlInterface; - class Image extends \Magento\Framework\Data\Form\Element\AbstractElement { /** @@ -54,6 +54,7 @@ public function getElementHtml() if (!preg_match("/^http\:\/\/|https\:\/\//", $url)) { $url = $this->_urlBuilder->getBaseUrl(['_type' => UrlInterface::URL_TYPE_MEDIA]) . $url; } + $url = $this->_escaper->escapeUrl($url); $html = '<a href="' . $url . @@ -70,10 +71,10 @@ public function getElementHtml() '" id="' . $this->getHtmlId() . '_image" title="' . - $this->getValue() . + $this->_escaper->escapeHtmlAttr($this->getValue()) . '"' . ' alt="' . - $this->getValue() . + $this->_escaper->escapeHtmlAttr($this->getValue()) . '" height="22" width="22" class="small-image-preview v-middle" ' . $this->_getUiId() . ' />' . @@ -127,7 +128,8 @@ protected function _getDeleteCheckbox() */ protected function _getHiddenInput() { - return '<input type="hidden" name="' . parent::getName() . '[value]" value="' . $this->getValue() . '" />'; + return '<input type="hidden" name="' . parent::getName() . '[value]" value="' . + $this->_escaper->escapeHtmlAttr($this->getValue()) . '" />'; } /** diff --git a/lib/internal/Magento/Framework/Data/Form/Element/Renderer/RendererInterface.php b/lib/internal/Magento/Framework/Data/Form/Element/Renderer/RendererInterface.php index 6cd22e0f50d5e..18a0d30ba3a6d 100644 --- a/lib/internal/Magento/Framework/Data/Form/Element/Renderer/RendererInterface.php +++ b/lib/internal/Magento/Framework/Data/Form/Element/Renderer/RendererInterface.php @@ -13,6 +13,7 @@ /** * @api + * @since 100.0.2 */ interface RendererInterface { diff --git a/lib/internal/Magento/Framework/Data/Form/Element/Select.php b/lib/internal/Magento/Framework/Data/Form/Element/Select.php index d6d95ef9da63b..fad67c93046e8 100644 --- a/lib/internal/Magento/Framework/Data/Form/Element/Select.php +++ b/lib/internal/Magento/Framework/Data/Form/Element/Select.php @@ -12,6 +12,7 @@ * * @api * @author Magento Core Team <core@magentocommerce.com> + * @since 100.0.2 */ class Select extends AbstractElement { diff --git a/lib/internal/Magento/Framework/Data/Form/Filter/FilterInterface.php b/lib/internal/Magento/Framework/Data/Form/Filter/FilterInterface.php index f7205fd6946a2..a9bf479cfce05 100644 --- a/lib/internal/Magento/Framework/Data/Form/Filter/FilterInterface.php +++ b/lib/internal/Magento/Framework/Data/Form/Filter/FilterInterface.php @@ -13,6 +13,7 @@ /** * @api + * @since 100.0.2 */ interface FilterInterface { diff --git a/lib/internal/Magento/Framework/Data/Form/FormKey.php b/lib/internal/Magento/Framework/Data/Form/FormKey.php index 355460902eee6..2f8c6724f7a2e 100644 --- a/lib/internal/Magento/Framework/Data/Form/FormKey.php +++ b/lib/internal/Magento/Framework/Data/Form/FormKey.php @@ -13,6 +13,7 @@ * @api * * @SuppressWarnings(PHPMD.CookieAndSessionMisuse) + * @since 100.0.2 */ class FormKey { diff --git a/lib/internal/Magento/Framework/Data/Form/FormKey/Validator.php b/lib/internal/Magento/Framework/Data/Form/FormKey/Validator.php index 225ff1fd140a9..a99692ed31609 100644 --- a/lib/internal/Magento/Framework/Data/Form/FormKey/Validator.php +++ b/lib/internal/Magento/Framework/Data/Form/FormKey/Validator.php @@ -9,6 +9,7 @@ /** * @api + * @since 100.0.2 */ class Validator { diff --git a/lib/internal/Magento/Framework/Data/OptionSourceInterface.php b/lib/internal/Magento/Framework/Data/OptionSourceInterface.php index aac9a266c7957..6d0955f294072 100644 --- a/lib/internal/Magento/Framework/Data/OptionSourceInterface.php +++ b/lib/internal/Magento/Framework/Data/OptionSourceInterface.php @@ -9,6 +9,7 @@ * Source of option values in a form of value-label pairs * * @api + * @since 100.0.2 */ interface OptionSourceInterface { diff --git a/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/ImageTest.php b/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/ImageTest.php index 47df8390890bf..127c3f58ddb6b 100644 --- a/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/ImageTest.php +++ b/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/ImageTest.php @@ -5,7 +5,7 @@ */ /** - * Tests for \Magento\Framework\Data\Form\Element\Image + * Tests for \Magento\Framework\Data\Form\Element\Image. */ namespace Magento\Framework\Data\Test\Unit\Form\Element; @@ -28,16 +28,24 @@ class ImageTest extends \PHPUnit\Framework\TestCase */ protected $_image; + /** + * @var \Magento\Framework\Escaper|\PHPUnit\Framework\MockObject\MockObject + */ + private $escaperMock; + + /** + * @inheritdoc + */ protected function setUp() { $factoryMock = $this->createMock(\Magento\Framework\Data\Form\Element\Factory::class); $collectionFactoryMock = $this->createMock(\Magento\Framework\Data\Form\Element\CollectionFactory::class); - $escaperMock = $this->createMock(\Magento\Framework\Escaper::class); + $this->escaperMock = $this->createMock(\Magento\Framework\Escaper::class); $this->urlBuilder = $this->createMock(\Magento\Framework\Url::class); $this->_image = new \Magento\Framework\Data\Form\Element\Image( $factoryMock, $collectionFactoryMock, - $escaperMock, + $this->escaperMock, $this->urlBuilder ); $formMock = new \Magento\Framework\DataObject(); @@ -47,6 +55,8 @@ protected function setUp() } /** + * Check that getType return correct value. + * * @covers \Magento\Framework\Data\Form\Element\Image::__construct */ public function testConstruct() @@ -55,20 +65,26 @@ public function testConstruct() } /** + * Get name and check data. + * * @covers \Magento\Framework\Data\Form\Element\Image::getName */ public function testGetName() { $this->_image->setName('image_name'); + $this->assertEquals('image_name', $this->_image->getName()); } /** + * Get element without value and check data. + * * @covers \Magento\Framework\Data\Form\Element\Image::getElementHtml */ public function testGetElementHtmlWithoutValue() { $html = $this->_image->getElementHtml(); + $this->assertContains('class="input-file"', $html); $this->assertContains('<input', $html); $this->assertContains('type="file"', $html); @@ -77,16 +93,26 @@ public function testGetElementHtmlWithoutValue() } /** + * Get element with value and check data. + * * @covers \Magento\Framework\Data\Form\Element\Image::getElementHtml */ public function testGetElementHtmlWithValue() { - $this->_image->setValue('test_value'); + $data = 'test_value'; + $baseUrl = 'http://localhost/media/'; + $this->_image->setValue($data); $this->urlBuilder->expects($this->once()) ->method('getBaseUrl') ->with(['_type' => UrlInterface::URL_TYPE_MEDIA]) - ->willReturn('http://localhost/media/'); + ->willReturn($baseUrl); + $this->escaperMock->expects($this->once()) + ->method('escapeUrl') + ->with($baseUrl . $data) + ->willReturn($baseUrl . $data); + $this->escaperMock->expects($this->exactly(3))->method('escapeHtmlAttr')->with($data)->willReturn($data); $html = $this->_image->getElementHtml(); + $this->assertContains('class="input-file"', $html); $this->assertContains('<input', $html); $this->assertContains('type="file"', $html); diff --git a/lib/internal/Magento/Framework/Data/Tree.php b/lib/internal/Magento/Framework/Data/Tree.php index b458338184885..14197eb20c00c 100644 --- a/lib/internal/Magento/Framework/Data/Tree.php +++ b/lib/internal/Magento/Framework/Data/Tree.php @@ -13,6 +13,7 @@ * * @api * @author Magento Core Team <core@magentocommerce.com> + * @since 100.0.2 */ class Tree { diff --git a/lib/internal/Magento/Framework/Data/Tree/Node.php b/lib/internal/Magento/Framework/Data/Tree/Node.php index f1901b71f21e6..ac0ac57e72969 100644 --- a/lib/internal/Magento/Framework/Data/Tree/Node.php +++ b/lib/internal/Magento/Framework/Data/Tree/Node.php @@ -13,6 +13,7 @@ * * @api * @author Magento Core Team <core@magentocommerce.com> + * @since 100.0.2 */ class Node extends \Magento\Framework\DataObject { diff --git a/lib/internal/Magento/Framework/Data/Tree/Node/Collection.php b/lib/internal/Magento/Framework/Data/Tree/Node/Collection.php index 94990c0340a83..cf6529988eb44 100644 --- a/lib/internal/Magento/Framework/Data/Tree/Node/Collection.php +++ b/lib/internal/Magento/Framework/Data/Tree/Node/Collection.php @@ -16,6 +16,7 @@ /** * @api + * @since 100.0.2 */ class Collection implements \ArrayAccess, \IteratorAggregate, \Countable { diff --git a/lib/internal/Magento/Framework/Data/Wysiwyg/ConfigProviderInterface.php b/lib/internal/Magento/Framework/Data/Wysiwyg/ConfigProviderInterface.php index dc1dabd42d9e8..07fbd302ac573 100644 --- a/lib/internal/Magento/Framework/Data/Wysiwyg/ConfigProviderInterface.php +++ b/lib/internal/Magento/Framework/Data/Wysiwyg/ConfigProviderInterface.php @@ -10,12 +10,14 @@ /** * Interface ConfigProviderInterface * @api + * @since 102.0.0 */ interface ConfigProviderInterface { /** * @param \Magento\Framework\DataObject $config * @return \Magento\Framework\DataObject + * @since 102.0.0 */ public function getConfig(\Magento\Framework\DataObject $config) : \Magento\Framework\DataObject; } diff --git a/lib/internal/Magento/Framework/DataObject.php b/lib/internal/Magento/Framework/DataObject.php index 6ecbca133e22a..11452c49fa162 100644 --- a/lib/internal/Magento/Framework/DataObject.php +++ b/lib/internal/Magento/Framework/DataObject.php @@ -10,6 +10,7 @@ * * @api * @SuppressWarnings(PHPMD.NumberOfChildren) + * @since 100.0.2 */ class DataObject implements \ArrayAccess { diff --git a/lib/internal/Magento/Framework/DataObject/Copy.php b/lib/internal/Magento/Framework/DataObject/Copy.php index e8bc194a1d983..7a400ac449577 100644 --- a/lib/internal/Magento/Framework/DataObject/Copy.php +++ b/lib/internal/Magento/Framework/DataObject/Copy.php @@ -268,7 +268,7 @@ protected function _setFieldsetFieldValue($target, $targetCode, $value) * @return mixed * @throws \InvalidArgumentException * - * @deprecated + * @deprecated 102.0.3 * @see \Magento\Framework\DataObject\Copy::getAttributeValueFromExtensibleObject */ protected function getAttributeValueFromExtensibleDataObject($source, $code) @@ -325,7 +325,7 @@ private function getAttributeValueFromExtensibleObject(ExtensibleDataInterface $ * @return void * @throws \InvalidArgumentException * - * @deprecated + * @deprecated 102.0.3 * @see \Magento\Framework\DataObject\Copy::setAttributeValueFromExtensibleObject */ protected function setAttributeValueFromExtensibleDataObject(ExtensibleDataInterface $target, $code, $value) diff --git a/lib/internal/Magento/Framework/Encryption/Crypt.php b/lib/internal/Magento/Framework/Encryption/Crypt.php index 930cfa7a44f68..55f4d1a31f53d 100644 --- a/lib/internal/Magento/Framework/Encryption/Crypt.php +++ b/lib/internal/Magento/Framework/Encryption/Crypt.php @@ -12,7 +12,8 @@ * Class encapsulates cryptographic algorithm * * @api - * @deprecated + * @deprecated 102.0.0 + * @since 100.0.2 */ class Crypt { diff --git a/lib/internal/Magento/Framework/Encryption/EncryptorInterface.php b/lib/internal/Magento/Framework/Encryption/EncryptorInterface.php index 778cfcb897e0b..61d546daf3796 100644 --- a/lib/internal/Magento/Framework/Encryption/EncryptorInterface.php +++ b/lib/internal/Magento/Framework/Encryption/EncryptorInterface.php @@ -9,6 +9,7 @@ * Encryptor interface * * @api + * @since 100.0.2 */ interface EncryptorInterface { diff --git a/lib/internal/Magento/Framework/Encryption/Helper/Security.php b/lib/internal/Magento/Framework/Encryption/Helper/Security.php index 63884b5c7fb3e..2ccd4bd6f6381 100644 --- a/lib/internal/Magento/Framework/Encryption/Helper/Security.php +++ b/lib/internal/Magento/Framework/Encryption/Helper/Security.php @@ -12,6 +12,7 @@ * Class implements compareString from Zend\Crypt * * @api + * @since 100.0.2 */ class Security { diff --git a/lib/internal/Magento/Framework/Encryption/UrlCoder.php b/lib/internal/Magento/Framework/Encryption/UrlCoder.php index 12e3bb27b6724..f63e64bb66e6c 100644 --- a/lib/internal/Magento/Framework/Encryption/UrlCoder.php +++ b/lib/internal/Magento/Framework/Encryption/UrlCoder.php @@ -8,6 +8,7 @@ /** * @api + * @since 100.0.2 */ class UrlCoder { diff --git a/lib/internal/Magento/Framework/EntityManager/MetadataPool.php b/lib/internal/Magento/Framework/EntityManager/MetadataPool.php index dc295b97c1d28..d787daf3d1181 100644 --- a/lib/internal/Magento/Framework/EntityManager/MetadataPool.php +++ b/lib/internal/Magento/Framework/EntityManager/MetadataPool.php @@ -46,7 +46,6 @@ class MetadataPool * @param ObjectManagerInterface $objectManager * @param SequenceFactory $sequenceFactory * @param array $metadata - * @since 100.1.0 */ public function __construct( ObjectManagerInterface $objectManager, diff --git a/lib/internal/Magento/Framework/EntityManager/Operation/Create.php b/lib/internal/Magento/Framework/EntityManager/Operation/Create.php index ae9001be9e34f..a24ec39a2156d 100644 --- a/lib/internal/Magento/Framework/EntityManager/Operation/Create.php +++ b/lib/internal/Magento/Framework/EntityManager/Operation/Create.php @@ -142,7 +142,7 @@ public function execute($entity, $arguments = []) /** * @return SequenceApplier * - * @deprecated 100.2.0 + * @deprecated 101.0.0 */ private function getSequenceApplier() { diff --git a/lib/internal/Magento/Framework/Escaper.php b/lib/internal/Magento/Framework/Escaper.php index e9837e7464c03..b097b3d6620c6 100644 --- a/lib/internal/Magento/Framework/Escaper.php +++ b/lib/internal/Magento/Framework/Escaper.php @@ -10,6 +10,7 @@ * Magento escape methods * * @api + * @since 100.0.2 */ class Escaper { @@ -238,7 +239,7 @@ private function escapeAttributeValue($name, $value) * @param string $string * @param boolean $escapeSingleQuote * @return string - * @since 100.2.0 + * @since 101.0.0 */ public function escapeHtmlAttr($string, $escapeSingleQuote = true) { @@ -264,7 +265,7 @@ public function escapeUrl($string) * * @param string $string * @return string - * @since 100.2.0 + * @since 101.0.0 */ public function encodeUrlParam($string) { @@ -276,7 +277,7 @@ public function encodeUrlParam($string) * * @param string $string * @return string - * @since 100.2.0 + * @since 101.0.0 */ public function escapeJs($string) { @@ -303,7 +304,7 @@ function ($matches) { * * @param string $string * @return string - * @since 100.2.0 + * @since 101.0.0 */ public function escapeCss($string) { @@ -316,7 +317,7 @@ public function escapeCss($string) * @param string|array $data * @param string $quote * @return string|array - * @deprecated 100.2.0 + * @deprecated 101.0.0 */ public function escapeJsQuote($data, $quote = '\'') { @@ -336,7 +337,7 @@ public function escapeJsQuote($data, $quote = '\'') * * @param string $data * @return string - * @deprecated 100.2.0 + * @deprecated 101.0.0 */ public function escapeXssInUrl($data) { @@ -376,7 +377,7 @@ private function escapeScriptIdentifiers(string $data): string * @param string $data * @param bool $addSlashes * @return string - * @deprecated 100.2.0 + * @deprecated 101.0.0 */ public function escapeQuote($data, $addSlashes = false) { @@ -390,7 +391,7 @@ public function escapeQuote($data, $addSlashes = false) * Get escaper * * @return \Magento\Framework\ZendEscaper - * @deprecated 100.2.0 + * @deprecated 101.0.0 */ private function getEscaper() { @@ -405,7 +406,7 @@ private function getEscaper() * Get logger * * @return \Psr\Log\LoggerInterface - * @deprecated 100.2.0 + * @deprecated 101.0.0 */ private function getLogger() { diff --git a/lib/internal/Magento/Framework/Event.php b/lib/internal/Magento/Framework/Event.php index c7b15a8eb0722..9df9c315ccad8 100644 --- a/lib/internal/Magento/Framework/Event.php +++ b/lib/internal/Magento/Framework/Event.php @@ -13,6 +13,7 @@ /** * @api + * @since 100.0.2 */ class Event extends \Magento\Framework\DataObject { diff --git a/lib/internal/Magento/Framework/Event/Observer.php b/lib/internal/Magento/Framework/Event/Observer.php index 4b5dc47795e6c..f3d954d641dfd 100644 --- a/lib/internal/Magento/Framework/Event/Observer.php +++ b/lib/internal/Magento/Framework/Event/Observer.php @@ -9,6 +9,7 @@ /** * @api + * @since 100.0.2 */ class Observer extends \Magento\Framework\DataObject { diff --git a/lib/internal/Magento/Framework/Event/Observer/Collection.php b/lib/internal/Magento/Framework/Event/Observer/Collection.php index c108d422cc9ca..595ee8f70da3a 100644 --- a/lib/internal/Magento/Framework/Event/Observer/Collection.php +++ b/lib/internal/Magento/Framework/Event/Observer/Collection.php @@ -13,6 +13,7 @@ /** * @api + * @since 100.0.2 */ class Collection { diff --git a/lib/internal/Magento/Framework/Event/ObserverInterface.php b/lib/internal/Magento/Framework/Event/ObserverInterface.php index e7c9b770ea1f5..e07de37c0e15b 100644 --- a/lib/internal/Magento/Framework/Event/ObserverInterface.php +++ b/lib/internal/Magento/Framework/Event/ObserverInterface.php @@ -11,6 +11,7 @@ * Interface \Magento\Framework\Event\ObserverInterface * * @api + * @since 100.0.2 */ interface ObserverInterface { diff --git a/lib/internal/Magento/Framework/Exception/AbstractAggregateException.php b/lib/internal/Magento/Framework/Exception/AbstractAggregateException.php index ff142c5319006..7cc968789e4e2 100644 --- a/lib/internal/Magento/Framework/Exception/AbstractAggregateException.php +++ b/lib/internal/Magento/Framework/Exception/AbstractAggregateException.php @@ -10,6 +10,7 @@ /** * @api + * @since 100.0.2 */ abstract class AbstractAggregateException extends LocalizedException implements AggregateExceptionInterface { @@ -81,6 +82,7 @@ public function addError(Phrase $phrase) /** * @param LocalizedException $exception * @return $this + * @since 101.0.6 */ public function addException(LocalizedException $exception) { diff --git a/lib/internal/Magento/Framework/Exception/AggregateExceptionInterface.php b/lib/internal/Magento/Framework/Exception/AggregateExceptionInterface.php index d7b6f6fce3f8f..d1a9846b9cc3c 100644 --- a/lib/internal/Magento/Framework/Exception/AggregateExceptionInterface.php +++ b/lib/internal/Magento/Framework/Exception/AggregateExceptionInterface.php @@ -10,6 +10,7 @@ * not mandating to inherit from AbstractAggregateException class * * @api + * @since 101.0.7 */ interface AggregateExceptionInterface { @@ -20,6 +21,7 @@ interface AggregateExceptionInterface * @see the \Magento\Framework\Webapi\Exception which receives $errors as a set of Localized Exceptions * * @return LocalizedException[] + * @since 101.0.7 */ public function getErrors(); } diff --git a/lib/internal/Magento/Framework/Exception/AlreadyExistsException.php b/lib/internal/Magento/Framework/Exception/AlreadyExistsException.php index eaef391521979..e64f147a13ea7 100644 --- a/lib/internal/Magento/Framework/Exception/AlreadyExistsException.php +++ b/lib/internal/Magento/Framework/Exception/AlreadyExistsException.php @@ -9,6 +9,7 @@ /** * @api + * @since 100.0.2 */ class AlreadyExistsException extends LocalizedException { @@ -16,7 +17,6 @@ class AlreadyExistsException extends LocalizedException * @param Phrase $phrase * @param \Exception $cause * @param int $code - * @since 100.2.0 */ public function __construct(Phrase $phrase = null, \Exception $cause = null, $code = 0) { diff --git a/lib/internal/Magento/Framework/Exception/AuthenticationException.php b/lib/internal/Magento/Framework/Exception/AuthenticationException.php index 9b20dea99ccf9..b16c1f5841c3d 100644 --- a/lib/internal/Magento/Framework/Exception/AuthenticationException.php +++ b/lib/internal/Magento/Framework/Exception/AuthenticationException.php @@ -9,6 +9,7 @@ /** * @api + * @since 100.0.2 */ class AuthenticationException extends LocalizedException { diff --git a/lib/internal/Magento/Framework/Exception/AuthorizationException.php b/lib/internal/Magento/Framework/Exception/AuthorizationException.php index ed310117d6717..9cc6b4d8094bc 100644 --- a/lib/internal/Magento/Framework/Exception/AuthorizationException.php +++ b/lib/internal/Magento/Framework/Exception/AuthorizationException.php @@ -10,6 +10,7 @@ /** * @api + * @since 100.0.2 */ class AuthorizationException extends LocalizedException { diff --git a/lib/internal/Magento/Framework/Exception/BulkException.php b/lib/internal/Magento/Framework/Exception/BulkException.php index 168e910e0d375..a7ec480341542 100644 --- a/lib/internal/Magento/Framework/Exception/BulkException.php +++ b/lib/internal/Magento/Framework/Exception/BulkException.php @@ -12,6 +12,7 @@ * Exception thrown while processing bulk of entities * * @api + * @since 101.0.7 */ class BulkException extends AbstractAggregateException { @@ -42,6 +43,7 @@ public function __construct(Phrase $phrase = null, \Exception $cause = null, $co * Add data * * @param array $data + * @since 101.0.7 */ public function addData($data) { @@ -52,6 +54,7 @@ public function addData($data) * Retrieve data * * @return array + * @since 101.0.7 */ public function getData() { diff --git a/lib/internal/Magento/Framework/Exception/CouldNotDeleteException.php b/lib/internal/Magento/Framework/Exception/CouldNotDeleteException.php index af8e4c3c0ec57..d22a9168e1d01 100644 --- a/lib/internal/Magento/Framework/Exception/CouldNotDeleteException.php +++ b/lib/internal/Magento/Framework/Exception/CouldNotDeleteException.php @@ -7,6 +7,7 @@ /** * @api + * @since 100.0.2 */ class CouldNotDeleteException extends LocalizedException { diff --git a/lib/internal/Magento/Framework/Exception/CouldNotSaveException.php b/lib/internal/Magento/Framework/Exception/CouldNotSaveException.php index ea265864afd24..b0480c49d2940 100644 --- a/lib/internal/Magento/Framework/Exception/CouldNotSaveException.php +++ b/lib/internal/Magento/Framework/Exception/CouldNotSaveException.php @@ -8,6 +8,7 @@ /** * @api + * @since 100.0.2 */ class CouldNotSaveException extends AbstractAggregateException { diff --git a/lib/internal/Magento/Framework/Exception/CronException.php b/lib/internal/Magento/Framework/Exception/CronException.php index 22d23526a6558..feff3f3cb95a4 100644 --- a/lib/internal/Magento/Framework/Exception/CronException.php +++ b/lib/internal/Magento/Framework/Exception/CronException.php @@ -7,6 +7,7 @@ /** * @api + * @since 100.0.2 */ class CronException extends LocalizedException { diff --git a/lib/internal/Magento/Framework/Exception/EmailNotConfirmedException.php b/lib/internal/Magento/Framework/Exception/EmailNotConfirmedException.php index 330f34fb565ce..1a114f19d731e 100644 --- a/lib/internal/Magento/Framework/Exception/EmailNotConfirmedException.php +++ b/lib/internal/Magento/Framework/Exception/EmailNotConfirmedException.php @@ -7,6 +7,7 @@ /** * @api + * @since 100.0.2 */ class EmailNotConfirmedException extends AuthenticationException { diff --git a/lib/internal/Magento/Framework/Exception/FileSystemException.php b/lib/internal/Magento/Framework/Exception/FileSystemException.php index 6c85314b6f2a6..81078ae7cd31c 100644 --- a/lib/internal/Magento/Framework/Exception/FileSystemException.php +++ b/lib/internal/Magento/Framework/Exception/FileSystemException.php @@ -9,6 +9,7 @@ * Magento filesystem exception * * @api + * @since 100.0.2 */ class FileSystemException extends LocalizedException { diff --git a/lib/internal/Magento/Framework/Exception/InputException.php b/lib/internal/Magento/Framework/Exception/InputException.php index 7b1815dc0d1bb..f85baf4c9b0b9 100644 --- a/lib/internal/Magento/Framework/Exception/InputException.php +++ b/lib/internal/Magento/Framework/Exception/InputException.php @@ -12,6 +12,7 @@ * Exception to be thrown when there is an issue with the Input to a function call. * * @api + * @since 100.0.2 */ class InputException extends AbstractAggregateException { diff --git a/lib/internal/Magento/Framework/Exception/IntegrationException.php b/lib/internal/Magento/Framework/Exception/IntegrationException.php index 9adf9c740f0e2..56db6caecacf2 100644 --- a/lib/internal/Magento/Framework/Exception/IntegrationException.php +++ b/lib/internal/Magento/Framework/Exception/IntegrationException.php @@ -7,6 +7,7 @@ /** * @api + * @since 100.0.2 */ class IntegrationException extends LocalizedException { diff --git a/lib/internal/Magento/Framework/Exception/InvalidEmailOrPasswordException.php b/lib/internal/Magento/Framework/Exception/InvalidEmailOrPasswordException.php index ba5b7d94f5328..38e69f0476b77 100644 --- a/lib/internal/Magento/Framework/Exception/InvalidEmailOrPasswordException.php +++ b/lib/internal/Magento/Framework/Exception/InvalidEmailOrPasswordException.php @@ -7,6 +7,7 @@ /** * @api + * @since 100.0.2 */ class InvalidEmailOrPasswordException extends AuthenticationException { diff --git a/lib/internal/Magento/Framework/Exception/LocalizedException.php b/lib/internal/Magento/Framework/Exception/LocalizedException.php index 977c69db77bbc..b279fe65906a3 100644 --- a/lib/internal/Magento/Framework/Exception/LocalizedException.php +++ b/lib/internal/Magento/Framework/Exception/LocalizedException.php @@ -14,6 +14,7 @@ * Localized exception * * @api + * @since 100.0.2 */ class LocalizedException extends \Exception { diff --git a/lib/internal/Magento/Framework/Exception/MailException.php b/lib/internal/Magento/Framework/Exception/MailException.php index 1475ba04257c9..708f03adbe7b0 100644 --- a/lib/internal/Magento/Framework/Exception/MailException.php +++ b/lib/internal/Magento/Framework/Exception/MailException.php @@ -9,6 +9,7 @@ * Magento mail exception * * @api + * @since 100.0.2 */ class MailException extends LocalizedException { diff --git a/lib/internal/Magento/Framework/Exception/NoSuchEntityException.php b/lib/internal/Magento/Framework/Exception/NoSuchEntityException.php index 42b30d45e4c72..f39fef57ed568 100644 --- a/lib/internal/Magento/Framework/Exception/NoSuchEntityException.php +++ b/lib/internal/Magento/Framework/Exception/NoSuchEntityException.php @@ -11,6 +11,7 @@ /** * @api + * @since 100.0.2 */ class NoSuchEntityException extends LocalizedException { diff --git a/lib/internal/Magento/Framework/Exception/NotFoundException.php b/lib/internal/Magento/Framework/Exception/NotFoundException.php index 40e02e70fa37c..cfc02f4f516d6 100644 --- a/lib/internal/Magento/Framework/Exception/NotFoundException.php +++ b/lib/internal/Magento/Framework/Exception/NotFoundException.php @@ -7,6 +7,7 @@ /** * @api + * @since 100.0.2 */ class NotFoundException extends LocalizedException { diff --git a/lib/internal/Magento/Framework/Exception/PaymentException.php b/lib/internal/Magento/Framework/Exception/PaymentException.php index 83b189d020ee3..fb52401229ba4 100644 --- a/lib/internal/Magento/Framework/Exception/PaymentException.php +++ b/lib/internal/Magento/Framework/Exception/PaymentException.php @@ -7,6 +7,7 @@ /** * @api + * @since 100.0.2 */ class PaymentException extends LocalizedException { diff --git a/lib/internal/Magento/Framework/Exception/Plugin/AuthenticationException.php b/lib/internal/Magento/Framework/Exception/Plugin/AuthenticationException.php index 2a5564181d43f..4d559a548eff6 100644 --- a/lib/internal/Magento/Framework/Exception/Plugin/AuthenticationException.php +++ b/lib/internal/Magento/Framework/Exception/Plugin/AuthenticationException.php @@ -7,6 +7,7 @@ /** * @api + * @since 100.0.2 */ class AuthenticationException extends \Magento\Framework\Exception\AuthenticationException { diff --git a/lib/internal/Magento/Framework/Exception/RemoteServiceUnavailableException.php b/lib/internal/Magento/Framework/Exception/RemoteServiceUnavailableException.php index a9af31b003333..50f01473b9dc9 100644 --- a/lib/internal/Magento/Framework/Exception/RemoteServiceUnavailableException.php +++ b/lib/internal/Magento/Framework/Exception/RemoteServiceUnavailableException.php @@ -7,6 +7,7 @@ /** * @api + * @since 100.0.2 */ class RemoteServiceUnavailableException extends AuthenticationException { diff --git a/lib/internal/Magento/Framework/Exception/SerializationException.php b/lib/internal/Magento/Framework/Exception/SerializationException.php index bae56b487975c..cbb40de6578f0 100644 --- a/lib/internal/Magento/Framework/Exception/SerializationException.php +++ b/lib/internal/Magento/Framework/Exception/SerializationException.php @@ -12,6 +12,7 @@ * Serialization Exception * * @api + * @since 100.0.2 */ class SerializationException extends LocalizedException { diff --git a/lib/internal/Magento/Framework/Exception/SessionException.php b/lib/internal/Magento/Framework/Exception/SessionException.php index b3af3ea5b5bb0..0127e3fa551e6 100644 --- a/lib/internal/Magento/Framework/Exception/SessionException.php +++ b/lib/internal/Magento/Framework/Exception/SessionException.php @@ -9,6 +9,7 @@ * Session exception * * @api + * @since 100.0.2 */ class SessionException extends LocalizedException { diff --git a/lib/internal/Magento/Framework/Exception/State/ExpiredException.php b/lib/internal/Magento/Framework/Exception/State/ExpiredException.php index 29748b52c8351..9f127b2d1fa29 100644 --- a/lib/internal/Magento/Framework/Exception/State/ExpiredException.php +++ b/lib/internal/Magento/Framework/Exception/State/ExpiredException.php @@ -11,6 +11,7 @@ /** * @api + * @since 100.0.2 */ class ExpiredException extends StateException { diff --git a/lib/internal/Magento/Framework/Exception/State/InitException.php b/lib/internal/Magento/Framework/Exception/State/InitException.php index 9ca7de26c58d7..ad2e6ef283deb 100644 --- a/lib/internal/Magento/Framework/Exception/State/InitException.php +++ b/lib/internal/Magento/Framework/Exception/State/InitException.php @@ -11,6 +11,7 @@ * An exception that indicates application initialization error * * @api + * @since 100.0.2 */ class InitException extends LocalizedException { diff --git a/lib/internal/Magento/Framework/Exception/State/InputMismatchException.php b/lib/internal/Magento/Framework/Exception/State/InputMismatchException.php index 752ebcf4804b1..efc8e1b4afe3e 100644 --- a/lib/internal/Magento/Framework/Exception/State/InputMismatchException.php +++ b/lib/internal/Magento/Framework/Exception/State/InputMismatchException.php @@ -11,6 +11,7 @@ /** * @api + * @since 100.0.2 */ class InputMismatchException extends StateException { diff --git a/lib/internal/Magento/Framework/Exception/State/InvalidTransitionException.php b/lib/internal/Magento/Framework/Exception/State/InvalidTransitionException.php index 2667d1745767e..c66163e87c9c1 100644 --- a/lib/internal/Magento/Framework/Exception/State/InvalidTransitionException.php +++ b/lib/internal/Magento/Framework/Exception/State/InvalidTransitionException.php @@ -11,6 +11,7 @@ /** * @api + * @since 100.0.2 */ class InvalidTransitionException extends StateException { diff --git a/lib/internal/Magento/Framework/Exception/State/UserLockedException.php b/lib/internal/Magento/Framework/Exception/State/UserLockedException.php index fa39556f6eecc..63e81f987f776 100644 --- a/lib/internal/Magento/Framework/Exception/State/UserLockedException.php +++ b/lib/internal/Magento/Framework/Exception/State/UserLockedException.php @@ -9,6 +9,7 @@ /** * @api + * @since 100.0.2 */ class UserLockedException extends AuthenticationException { diff --git a/lib/internal/Magento/Framework/Exception/StateException.php b/lib/internal/Magento/Framework/Exception/StateException.php index 580ef6fabe2fa..ed80b9c2df35b 100644 --- a/lib/internal/Magento/Framework/Exception/StateException.php +++ b/lib/internal/Magento/Framework/Exception/StateException.php @@ -9,6 +9,7 @@ * State Exception * * @api + * @since 100.0.2 */ class StateException extends LocalizedException { diff --git a/lib/internal/Magento/Framework/Exception/TemporaryState/CouldNotSaveException.php b/lib/internal/Magento/Framework/Exception/TemporaryState/CouldNotSaveException.php index 894b5be3f0bd1..4c59205b24519 100644 --- a/lib/internal/Magento/Framework/Exception/TemporaryState/CouldNotSaveException.php +++ b/lib/internal/Magento/Framework/Exception/TemporaryState/CouldNotSaveException.php @@ -13,7 +13,7 @@ * CouldNotSaveException caused by recoverable error * * @api - * @since 100.2.0 + * @since 101.0.0 */ class CouldNotSaveException extends LocalizedCouldNotSaveException implements TemporaryStateExceptionInterface { @@ -23,7 +23,6 @@ class CouldNotSaveException extends LocalizedCouldNotSaveException implements Te * @param Phrase $phrase The Exception message to throw. * @param \Exception $previous [optional] The previous exception used for the exception chaining. * @param int $code [optional] The Exception code. - * @since 100.2.0 */ public function __construct(Phrase $phrase, \Exception $previous = null, $code = 0) { diff --git a/lib/internal/Magento/Framework/Exception/ValidatorException.php b/lib/internal/Magento/Framework/Exception/ValidatorException.php index 1066fe268df44..9dbb994c111f9 100644 --- a/lib/internal/Magento/Framework/Exception/ValidatorException.php +++ b/lib/internal/Magento/Framework/Exception/ValidatorException.php @@ -7,6 +7,7 @@ /** * @api + * @since 100.0.2 */ class ValidatorException extends LocalizedException { diff --git a/lib/internal/Magento/Framework/File/Csv.php b/lib/internal/Magento/Framework/File/Csv.php index 571ad6b21efa7..1b1decdb5327c 100644 --- a/lib/internal/Magento/Framework/File/Csv.php +++ b/lib/internal/Magento/Framework/File/Csv.php @@ -130,7 +130,7 @@ public function getDataPairs($file, $keyIndex = 0, $valueIndex = 1) * @param array $data * @return $this * @throws \Magento\Framework\Exception\FileSystemException - * @deprecated + * @deprecated 102.0.0 * @see appendData */ public function saveData($file, $data) diff --git a/lib/internal/Magento/Framework/File/Size.php b/lib/internal/Magento/Framework/File/Size.php index c5a51ec1760e7..52cf572186f9f 100644 --- a/lib/internal/Magento/Framework/File/Size.php +++ b/lib/internal/Magento/Framework/File/Size.php @@ -11,6 +11,7 @@ /** * @api + * @since 100.0.2 */ class Size { diff --git a/lib/internal/Magento/Framework/File/Uploader.php b/lib/internal/Magento/Framework/File/Uploader.php index f9b41709ec7c8..c0126acf70041 100644 --- a/lib/internal/Magento/Framework/File/Uploader.php +++ b/lib/internal/Magento/Framework/File/Uploader.php @@ -18,6 +18,7 @@ * @SuppressWarnings(PHPMD.TooManyFields) * * @api + * @since 100.0.2 */ class Uploader { @@ -701,7 +702,7 @@ public static function getNewFileName($destinationFile) * * @param string $fileName * @return string - * @deprecated + * @deprecated 101.0.4 */ public static function getDispretionPath($fileName) { @@ -713,6 +714,7 @@ public static function getDispretionPath($fileName) * * @param string $fileName * @return string + * @since 101.0.4 */ public static function getDispersionPath($fileName) { diff --git a/lib/internal/Magento/Framework/Filesystem.php b/lib/internal/Magento/Framework/Filesystem.php index 01877fe17a716..1f65bd6885fcd 100644 --- a/lib/internal/Magento/Framework/Filesystem.php +++ b/lib/internal/Magento/Framework/Filesystem.php @@ -11,6 +11,7 @@ /** * @api + * @since 100.0.2 */ class Filesystem { @@ -78,6 +79,7 @@ public function getDirectoryRead($directoryCode, $driverCode = DriverPool::FILE) * * @return \Magento\Framework\Filesystem\Directory\ReadInterface * + * @since 102.0.0 */ public function getDirectoryReadByPath($path, $driverCode = DriverPool::FILE) { diff --git a/lib/internal/Magento/Framework/Filesystem/Directory/Read.php b/lib/internal/Magento/Framework/Filesystem/Directory/Read.php index a3a4cec59953f..c55752e7b0208 100644 --- a/lib/internal/Magento/Framework/Filesystem/Directory/Read.php +++ b/lib/internal/Magento/Framework/Filesystem/Directory/Read.php @@ -10,6 +10,7 @@ /** * @api + * @since 100.0.2 */ class Read implements ReadInterface { @@ -66,6 +67,7 @@ public function __construct( * @throws ValidatorException * * @return void + * @since 101.0.7 */ protected function validatePath( ?string $path, diff --git a/lib/internal/Magento/Framework/Filesystem/Directory/ReadInterface.php b/lib/internal/Magento/Framework/Filesystem/Directory/ReadInterface.php index 85d41b6932629..513f925a8c8fc 100644 --- a/lib/internal/Magento/Framework/Filesystem/Directory/ReadInterface.php +++ b/lib/internal/Magento/Framework/Filesystem/Directory/ReadInterface.php @@ -8,6 +8,7 @@ /** * Interface \Magento\Framework\Filesystem\Directory\ReadInterface * @api + * @since 100.0.2 */ interface ReadInterface { diff --git a/lib/internal/Magento/Framework/Filesystem/Directory/WriteInterface.php b/lib/internal/Magento/Framework/Filesystem/Directory/WriteInterface.php index 186cbcb81bff2..5b0fd74a422c9 100644 --- a/lib/internal/Magento/Framework/Filesystem/Directory/WriteInterface.php +++ b/lib/internal/Magento/Framework/Filesystem/Directory/WriteInterface.php @@ -8,6 +8,7 @@ /** * Interface \Magento\Framework\Filesystem\Directory\WriteInterface * @api + * @since 100.0.2 */ interface WriteInterface extends ReadInterface { diff --git a/lib/internal/Magento/Framework/Filesystem/DriverInterface.php b/lib/internal/Magento/Framework/Filesystem/DriverInterface.php index 39be808875141..afea4d3bc7b07 100644 --- a/lib/internal/Magento/Framework/Filesystem/DriverInterface.php +++ b/lib/internal/Magento/Framework/Filesystem/DriverInterface.php @@ -13,6 +13,7 @@ * Class Driver * * @api + * @since 100.0.2 */ interface DriverInterface { diff --git a/lib/internal/Magento/Framework/Filesystem/File/ReadFactory.php b/lib/internal/Magento/Framework/Filesystem/File/ReadFactory.php index 5d9badf42073f..e46b00bc5c74f 100644 --- a/lib/internal/Magento/Framework/Filesystem/File/ReadFactory.php +++ b/lib/internal/Magento/Framework/Filesystem/File/ReadFactory.php @@ -11,6 +11,7 @@ /** * Opens a file for reading * @api + * @since 100.0.2 */ class ReadFactory { diff --git a/lib/internal/Magento/Framework/Filesystem/File/WriteFactory.php b/lib/internal/Magento/Framework/Filesystem/File/WriteFactory.php index af2a43ceaedc3..7a9596586f56a 100644 --- a/lib/internal/Magento/Framework/Filesystem/File/WriteFactory.php +++ b/lib/internal/Magento/Framework/Filesystem/File/WriteFactory.php @@ -11,6 +11,7 @@ /** * Opens a file for reading and/or writing * @api + * @since 100.0.2 */ class WriteFactory extends ReadFactory { diff --git a/lib/internal/Magento/Framework/Filesystem/File/WriteInterface.php b/lib/internal/Magento/Framework/Filesystem/File/WriteInterface.php index ecf554de808cc..87e5f5afc95b4 100644 --- a/lib/internal/Magento/Framework/Filesystem/File/WriteInterface.php +++ b/lib/internal/Magento/Framework/Filesystem/File/WriteInterface.php @@ -7,6 +7,7 @@ /** * @api + * @since 100.0.2 */ interface WriteInterface extends ReadInterface { diff --git a/lib/internal/Magento/Framework/Filesystem/Io/IoInterface.php b/lib/internal/Magento/Framework/Filesystem/Io/IoInterface.php index 93c85ebafe727..477da422def57 100644 --- a/lib/internal/Magento/Framework/Filesystem/Io/IoInterface.php +++ b/lib/internal/Magento/Framework/Filesystem/Io/IoInterface.php @@ -8,6 +8,7 @@ /** * Input/output client interface * @api + * @since 100.0.2 */ interface IoInterface { diff --git a/lib/internal/Magento/Framework/Filter/DirectiveProcessor/DependDirective.php b/lib/internal/Magento/Framework/Filter/DirectiveProcessor/DependDirective.php new file mode 100644 index 0000000000000..f557f7465b5f5 --- /dev/null +++ b/lib/internal/Magento/Framework/Filter/DirectiveProcessor/DependDirective.php @@ -0,0 +1,58 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ + +declare(strict_types=1); + +namespace Magento\Framework\Filter\DirectiveProcessor; + +use Magento\Framework\Filter\DirectiveProcessorInterface; +use Magento\Framework\Filter\Template; +use Magento\Framework\Filter\VariableResolverInterface; + +/** + * Will only render the the content of the directive if the condition is truthy + */ +class DependDirective implements DirectiveProcessorInterface +{ + /** + * @var VariableResolverInterface + */ + private $variableResolver; + + /** + * @param VariableResolverInterface $variableResolver + */ + public function __construct( + VariableResolverInterface $variableResolver + ) { + $this->variableResolver = $variableResolver; + } + + /** + * @inheritdoc + */ + public function process(array $construction, Template $filter, array $templateVariables): string + { + if (empty($templateVariables)) { + // If template processing + return $construction[0]; + } + + if ($this->variableResolver->resolve($construction[1], $filter, $templateVariables) == '') { + return ''; + } else { + return $filter->filter($construction[2]); + } + } + + /** + * @inheritdoc + */ + public function getRegularExpression(): string + { + return Template::CONSTRUCTION_DEPEND_PATTERN; + } +} diff --git a/lib/internal/Magento/Framework/Filter/DirectiveProcessor/Filter/EscapeFilter.php b/lib/internal/Magento/Framework/Filter/DirectiveProcessor/Filter/EscapeFilter.php new file mode 100644 index 0000000000000..a3e662ac14c6f --- /dev/null +++ b/lib/internal/Magento/Framework/Filter/DirectiveProcessor/Filter/EscapeFilter.php @@ -0,0 +1,59 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ + +declare(strict_types=1); + +namespace Magento\Framework\Filter\DirectiveProcessor\Filter; + +use Magento\Framework\Escaper; +use Magento\Framework\Filter\DirectiveProcessor\FilterInterface; + +/** + * EscapesInput + */ +class EscapeFilter implements FilterInterface +{ + /** + * @var Escaper + */ + private $escaper; + + /** + * @param Escaper $escaper + */ + public function __construct(Escaper $escaper) + { + $this->escaper = $escaper; + } + + /** + * @inheritDoc + */ + public function filterValue(string $value, array $params): string + { + $type = $params[0] ?? 'html'; + + switch ($type) { + case 'html': + return $this->escaper->escapeHtml($value); + + case 'htmlentities': + return htmlentities($value, ENT_QUOTES); + + case 'url': + return rawurlencode($value); + } + return $value; + } + + /** + * @inheritDoc + */ + public function getName(): string + { + return 'escape'; + } +} diff --git a/lib/internal/Magento/Framework/Filter/DirectiveProcessor/Filter/FilterApplier.php b/lib/internal/Magento/Framework/Filter/DirectiveProcessor/Filter/FilterApplier.php new file mode 100644 index 0000000000000..e15b1d24f7be1 --- /dev/null +++ b/lib/internal/Magento/Framework/Filter/DirectiveProcessor/Filter/FilterApplier.php @@ -0,0 +1,77 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ + +declare(strict_types=1); + +namespace Magento\Framework\Filter\DirectiveProcessor\Filter; + +/** + * Applies filters to a directive value + */ +class FilterApplier +{ + /** + * @var FilterPool + */ + private $filterPool; + + /** + * @param FilterPool $filterPool + */ + public function __construct(FilterPool $filterPool) + { + $this->filterPool = $filterPool; + } + + /** + * Apply the filters based on the raw directive value + * + * For example: applyFromRawParam('|escape:html|nl2br', 'a value', ['escape']); + * + * @param string $param The raw directive filters + * @param string $value The input to filter + * @param string[] $defaultFilters The default filters that should be applied if none are parsed + * @return string The filtered string + */ + public function applyFromRawParam(string $param, string $value, array $defaultFilters = []): string + { + $filters = array_filter(explode('|', ltrim($param, '|'))); + + if (empty($filters)) { + $filters = $defaultFilters; + } + + return $this->applyFromArray($filters, $value); + } + + /** + * Apply a given list of named filters + * + * For example: applyFromArray(['escape:html','nl2br], 'a value'); + * + * @param string[] $filters The list of filter names to apply + * @param string $value The input to filter + * @return string The filtered string + */ + public function applyFromArray(array $filters, string $value): string + { + $filters = array_filter($filters); + + foreach ($filters as $filter) { + $params = explode(':', $filter); + $filterName = array_shift($params); + try { + $filter = $this->filterPool->get($filterName); + } catch (\InvalidArgumentException $e) { + continue; + } + + $value = $filter->filterValue($value, $params); + } + + return $value; + } +} diff --git a/lib/internal/Magento/Framework/Filter/DirectiveProcessor/Filter/FilterPool.php b/lib/internal/Magento/Framework/Filter/DirectiveProcessor/Filter/FilterPool.php new file mode 100644 index 0000000000000..50c24d8ec9fb8 --- /dev/null +++ b/lib/internal/Magento/Framework/Filter/DirectiveProcessor/Filter/FilterPool.php @@ -0,0 +1,51 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ + +declare(strict_types=1); + +namespace Magento\Framework\Filter\DirectiveProcessor\Filter; + +use Magento\Framework\Filter\DirectiveProcessor\FilterInterface; + +/** + * Container for directive output filters + */ +class FilterPool +{ + /** + * @var array + */ + private $filters; + + /** + * @param array $filters + */ + public function __construct(array $filters = []) + { + foreach ($filters as $filter) { + if (!$filter instanceof FilterInterface) { + throw new \InvalidArgumentException('Directive filters must implement ' . FilterInterface::class); + } + } + + $this->filters = $filters; + } + + /** + * Return a filter from the pool + * + * @param string $name + * @return FilterInterface + */ + public function get(string $name): FilterInterface + { + if (empty($this->filters[$name])) { + throw new \InvalidArgumentException('Filter with key "' . $name . '" has not been defined'); + } + + return $this->filters[$name]; + } +} diff --git a/lib/internal/Magento/Framework/Filter/DirectiveProcessor/Filter/NewlineToBreakFilter.php b/lib/internal/Magento/Framework/Filter/DirectiveProcessor/Filter/NewlineToBreakFilter.php new file mode 100644 index 0000000000000..961813bc730c9 --- /dev/null +++ b/lib/internal/Magento/Framework/Filter/DirectiveProcessor/Filter/NewlineToBreakFilter.php @@ -0,0 +1,35 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ + +declare(strict_types=1); + +namespace Magento\Framework\Filter\DirectiveProcessor\Filter; + +use Magento\Framework\Filter\DirectiveProcessor\FilterInterface; + +/** + * Inserts HTML line breaks before all newlines in a string + */ +class NewlineToBreakFilter implements FilterInterface +{ + /** + * @inheritDoc + * + * @SuppressWarnings(PHPMD.UnusedFormalParameter) + */ + public function filterValue(string $value, array $params): string + { + return nl2br($value); + } + + /** + * @inheritDoc + */ + public function getName(): string + { + return 'nl2br'; + } +} diff --git a/lib/internal/Magento/Framework/Filter/DirectiveProcessor/FilterInterface.php b/lib/internal/Magento/Framework/Filter/DirectiveProcessor/FilterInterface.php new file mode 100644 index 0000000000000..6512ecfbf6c90 --- /dev/null +++ b/lib/internal/Magento/Framework/Filter/DirectiveProcessor/FilterInterface.php @@ -0,0 +1,31 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ + +declare(strict_types=1); + +namespace Magento\Framework\Filter\DirectiveProcessor; + +/** + * Transforms the output of a directive processor + */ +interface FilterInterface +{ + /** + * Transform or manipulate value + * + * @param string $value + * @param string[] $params + * @return string + */ + public function filterValue(string $value, array $params): string; + + /** + * This filter's unique name. + * + * @return string + */ + public function getName(): string; +} diff --git a/lib/internal/Magento/Framework/Filter/DirectiveProcessor/ForDirective.php b/lib/internal/Magento/Framework/Filter/DirectiveProcessor/ForDirective.php new file mode 100644 index 0000000000000..2b51185b1b5f5 --- /dev/null +++ b/lib/internal/Magento/Framework/Filter/DirectiveProcessor/ForDirective.php @@ -0,0 +1,154 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ + +declare(strict_types=1); + +namespace Magento\Framework\Filter\DirectiveProcessor; + +use Magento\Framework\DataObject; +use Magento\Framework\Filter\DirectiveProcessorInterface; +use Magento\Framework\Filter\Template; +use Magento\Framework\Filter\VariableResolverInterface; + +/** + * Allows a a directive to iterate content with the value of variables + * + * @example syntax {{for item in order.items}} name: {{var item.name}} {{/for}} order items collection. + * @example syntax {{for thing in things}} {{var thing.whatever}} {{/for}} e.g.:custom collection. + */ +class ForDirective implements DirectiveProcessorInterface +{ + /** + * @var VariableResolverInterface + */ + private $variableResolver; + + /** + * @param VariableResolverInterface $variableResolver + */ + public function __construct( + VariableResolverInterface $variableResolver + ) { + $this->variableResolver = $variableResolver; + } + + /** + * Filter the string as template. + * + * @param array $construction + * @param Template $filter + * @param array $templateVariables + * @return string + */ + public function process(array $construction, Template $filter, array $templateVariables): string + { + if (!$this->isValidLoop($construction)) { + return $construction[0]; + } + + $loopData = $this->variableResolver->resolve($construction['loopData'], $filter, $templateVariables); + + $loopTextToReplace = $construction['loopBody']; + $loopItemVariableName = preg_replace('/\s+/', '', $construction['loopItem']); + + if (is_array($loopData) || $loopData instanceof \Traversable) { + return $this->getLoopReplacementText( + $loopData, + $loopItemVariableName, + $loopTextToReplace, + $filter, + $templateVariables + ); + } + + return $construction[0]; + } + + /** + * Check if the matched construction is valid. + * + * @param array $construction + * @return bool + */ + private function isValidLoop(array $construction) + { + $requiredFields = ['loopBody', 'loopItem', 'loopData']; + $validFields = array_filter( + $requiredFields, + function ($field) use ($construction) { + return isset($construction[$field]) && strlen(trim($construction[$field])); + } + ); + return count($requiredFields) == count($validFields); + } + + /** + * Process loop text to replace. + * + * @param array $loopData + * @param string $loopItemVariableName + * @param string $loopTextToReplace + * @param Template $filter + * @param array $templateVariables + * @return string + */ + private function getLoopReplacementText( + array $loopData, + string $loopItemVariableName, + string $loopTextToReplace, + Template $filter, + array $templateVariables + ): string { + $loopText = []; + $loopIndex = 0; + $loopDataObject = new DataObject(); + + foreach ($loopData as $loopItemDataObject) { + // Loop item can be an array or DataObject. + // If loop item is an array, convert it to DataObject + // to have unified interface if the collection + if (!$loopItemDataObject instanceof DataObject) { + if (!is_array($loopItemDataObject)) { + continue; + } + $loopItemDataObject = new DataObject($loopItemDataObject); + } + + $loopDataObject->setData('index', $loopIndex++); + $templateVariables['loop'] = $loopDataObject; + $templateVariables[$loopItemVariableName] = $loopItemDataObject; + + // Current structure prohibits recursively calling template filter inside "for" directives + if (preg_match_all( + Template::CONSTRUCTION_PATTERN, + $loopTextToReplace, + $attributes, + PREG_SET_ORDER + ) + ) { + $subText = $loopTextToReplace; + foreach ($attributes as $attribute) { + $text = $this->variableResolver->resolve($attribute[2], $filter, $templateVariables); + $subText = str_replace($attribute[0], $text, $subText); + } + $loopText[] = $subText; + } + + unset($templateVariables[$loopItemVariableName]); + } + $replaceText = implode('', $loopText); + + return $replaceText; + } + + /** + * @inheritdoc + */ + public function getRegularExpression(): string + { + return Template::LOOP_PATTERN; + } +} diff --git a/lib/internal/Magento/Framework/Filter/DirectiveProcessor/IfDirective.php b/lib/internal/Magento/Framework/Filter/DirectiveProcessor/IfDirective.php new file mode 100644 index 0000000000000..7fedc7946f21d --- /dev/null +++ b/lib/internal/Magento/Framework/Filter/DirectiveProcessor/IfDirective.php @@ -0,0 +1,60 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ + +declare(strict_types=1); + +namespace Magento\Framework\Filter\DirectiveProcessor; + +use Magento\Framework\Filter\DirectiveProcessorInterface; +use Magento\Framework\Filter\Template; +use Magento\Framework\Filter\VariableResolverInterface; + +/** + * Will only render the the content of the directive if the condition is truthy + */ +class IfDirective implements DirectiveProcessorInterface +{ + /** + * @var VariableResolverInterface + */ + private $variableResolver; + + /** + * @param VariableResolverInterface $variableResolver + */ + public function __construct( + VariableResolverInterface $variableResolver + ) { + $this->variableResolver = $variableResolver; + } + + /** + * @inheritdoc + */ + public function process(array $construction, Template $filter, array $templateVariables): string + { + if (empty($templateVariables)) { + return $construction[0]; + } + + if ($this->variableResolver->resolve($construction[1], $filter, $templateVariables) == '') { + if (isset($construction[3]) && isset($construction[4])) { + return $filter->filter($construction[4]); + } + return ''; + } else { + return $filter->filter($construction[2]); + } + } + + /** + * @inheritdoc + */ + public function getRegularExpression(): string + { + return Template::CONSTRUCTION_IF_PATTERN; + } +} diff --git a/lib/internal/Magento/Framework/Filter/DirectiveProcessor/LegacyDirective.php b/lib/internal/Magento/Framework/Filter/DirectiveProcessor/LegacyDirective.php new file mode 100644 index 0000000000000..7f17bc7237351 --- /dev/null +++ b/lib/internal/Magento/Framework/Filter/DirectiveProcessor/LegacyDirective.php @@ -0,0 +1,58 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ + +declare(strict_types=1); + +namespace Magento\Framework\Filter\DirectiveProcessor; + +use Magento\Framework\Filter\DirectiveProcessorInterface; +use Magento\Framework\Filter\Template; + +/** + * Backwards compatibility directive processor for old directives that still extend from Template + */ +class LegacyDirective implements DirectiveProcessorInterface +{ + /** + * @var SimpleDirective + */ + private $simpleDirective; + + /** + * @param SimpleDirective $simpleDirective + */ + public function __construct(SimpleDirective $simpleDirective) + { + $this->simpleDirective = $simpleDirective; + } + + /** + * @inheritdoc + */ + public function process(array $construction, Template $filter, array $templateVariables): string + { + try { + $reflectionClass = new \ReflectionClass($filter); + $method = $reflectionClass->getMethod($construction[1] . 'Directive'); + $method->setAccessible(true); + + return (string)$method->invokeArgs($filter, [$construction]); + } catch (\ReflectionException $e) { + // The legacy parser may be the only parser loaded so make sure the simple directives still process + preg_match($this->simpleDirective->getRegularExpression(), $construction[0], $simpleConstruction); + + return $this->simpleDirective->process($simpleConstruction, $filter, $templateVariables); + } + } + + /** + * @inheritdoc + */ + public function getRegularExpression(): string + { + return Template::CONSTRUCTION_PATTERN; + } +} diff --git a/lib/internal/Magento/Framework/Filter/DirectiveProcessor/SimpleDirective.php b/lib/internal/Magento/Framework/Filter/DirectiveProcessor/SimpleDirective.php new file mode 100644 index 0000000000000..9f4b30d0c96cb --- /dev/null +++ b/lib/internal/Magento/Framework/Filter/DirectiveProcessor/SimpleDirective.php @@ -0,0 +1,139 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ + +declare(strict_types=1); + +namespace Magento\Framework\Filter\DirectiveProcessor; + +use Magento\Framework\Filter\DirectiveProcessor\Filter\FilterApplier; +use Magento\Framework\Filter\DirectiveProcessorInterface; +use Magento\Framework\Filter\SimpleDirective\ProcessorPool; +use Magento\Framework\Filter\Template; +use Magento\Framework\Filter\Template\Tokenizer\Parameter; +use Magento\Framework\Filter\Template\Tokenizer\ParameterFactory; +use Magento\Framework\Filter\VariableResolverInterface; + +/** + * Serves as the default + */ +class SimpleDirective implements DirectiveProcessorInterface +{ + /** + * @var ProcessorPool + */ + private $processorPool; + + /** + * @var ParameterFactory + */ + private $parameterTokenizerFactory; + + /** + * @var VariableResolverInterface + */ + private $variableResolver; + /** + * @var FilterApplier + */ + private $filterApplier; + + /** + * @param ProcessorPool $processorPool + * @param ParameterFactory $parameterTokenizerFactory + * @param VariableResolverInterface $variableResolver + * @param FilterApplier $filterApplier + */ + public function __construct( + ProcessorPool $processorPool, + ParameterFactory $parameterTokenizerFactory, + VariableResolverInterface $variableResolver, + FilterApplier $filterApplier + ) { + $this->processorPool = $processorPool; + $this->parameterTokenizerFactory = $parameterTokenizerFactory; + $this->variableResolver = $variableResolver; + $this->filterApplier = $filterApplier; + } + + /** + * @inheritdoc + */ + public function process(array $construction, Template $filter, array $templateVariables): string + { + try { + $directiveParser = $this->processorPool + ->get($construction['directiveName']); + } catch (\InvalidArgumentException $e) { + // This directive doesn't have a SimpleProcessor + return $construction[0]; + } + + $parameters = $this->extractParameters($construction, $filter, $templateVariables); + + $value = $directiveParser->process( + $construction['value'] ?? null, + $parameters, + !empty($construction['content']) ? $filter->filter($construction['content']) : null + ); + + $value = $this->filterApplier->applyFromRawParam( + $construction['filters'] ?? '', + $value, + $directiveParser->getDefaultFilters() ?? [] + ); + + return $value; + } + + /** + * @inheritdoc + */ + public function getRegularExpression(): string + { + return '/{{' + . '(?P<directiveName>[a-z]+)(?:[\s\t]*)' + . '(?:\s*(?P<quoteType>[\'"])(?P<value>(?:(?!\k\'quoteType\').)*?)(?<!\\\)\k\'quoteType\')?' + . '(?P<parameters>.*?)' + . '(?P<filters>(?:\|[a-z0-9:_-]+)+)?' + . '}}' + . '(?:(?P<content>.*?){{\/(?P=directiveName)}})?' + . '/si'; + } + + /** + * Extract and parse parameters from construction + * + * @param array $construction + * @param Template $filter + * @param array $templateVariables + * @return array + */ + private function extractParameters(array $construction, Template $filter, array $templateVariables): array + { + if (empty($construction['parameters'])) { + return []; + } + + /** @var Parameter $tokenizer */ + $tokenizer = $this->parameterTokenizerFactory->create(); + $tokenizer->setString($construction['parameters']); + $parameters = $tokenizer->tokenize(); + + if (!$filter->isStrictMode()) { + foreach ($parameters as $key => $value) { + if (substr($value, 0, 1) === '$') { + $parameters[$key] = $this->variableResolver->resolve( + substr($value, 1), + $filter, + $templateVariables + ); + } + } + } + + return $parameters; + } +} diff --git a/lib/internal/Magento/Framework/Filter/DirectiveProcessor/TemplateDirective.php b/lib/internal/Magento/Framework/Filter/DirectiveProcessor/TemplateDirective.php new file mode 100644 index 0000000000000..84f9089dab6f6 --- /dev/null +++ b/lib/internal/Magento/Framework/Filter/DirectiveProcessor/TemplateDirective.php @@ -0,0 +1,100 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ + +declare(strict_types=1); + +namespace Magento\Framework\Filter\DirectiveProcessor; + +use Magento\Framework\Filter\DirectiveProcessorInterface; +use Magento\Framework\Filter\Template; +use Magento\Framework\Filter\Template\Tokenizer\ParameterFactory; +use Magento\Framework\Filter\VariableResolverInterface; + +/** + * Allows templates to be included inside other templates + * + * Usage: + * + * {{template config_path="<PATH>"}} + * + * <PATH> equals the XPATH to the system configuration value that contains the value of the template. + * This directive is useful to include things like a global header/footer. + */ +class TemplateDirective implements DirectiveProcessorInterface +{ + /** + * @var VariableResolverInterface + */ + private $variableResolver; + + /** + * @var ParameterFactory + */ + private $parameterFactory; + + /** + * @param VariableResolverInterface $variableResolver + * @param ParameterFactory $parameterFactory + */ + public function __construct( + VariableResolverInterface $variableResolver, + ParameterFactory $parameterFactory + ) { + $this->variableResolver = $variableResolver; + $this->parameterFactory = $parameterFactory; + } + + /** + * @inheritdoc + */ + public function process(array $construction, Template $filter, array $templateVariables): string + { + // Processing of {template config_path=... [...]} statement + $templateParameters = $this->getParameters($construction[2], $filter, $templateVariables); + if (!isset($templateParameters['config_path']) || !$filter->getTemplateProcessor()) { + // Not specified template or not set include processor + $replacedValue = '{Error in template processing}'; + } else { + // Including of template + $configPath = $templateParameters['config_path']; + unset($templateParameters['config_path']); + $templateParameters = array_merge_recursive($templateParameters, $templateVariables); + $replacedValue = call_user_func($filter->getTemplateProcessor(), $configPath, $templateParameters); + } + + return $replacedValue; + } + + /** + * Return associative array of parameters. + * + * @param string $value raw parameters + * @param Template $filter + * @param array $templateVariables + * @return array + */ + private function getParameters($value, Template $filter, array $templateVariables): array + { + $tokenizer = new Template\Tokenizer\Parameter(); + $tokenizer->setString($value); + $params = $tokenizer->tokenize(); + foreach ($params as $key => $value) { + if (substr($value, 0, 1) === '$') { + $params[$key] = $this->variableResolver->resolve(substr($value, 1), $filter, $templateVariables); + } + } + + return $params; + } + + /** + * @inheritdoc + */ + public function getRegularExpression(): string + { + return Template::CONSTRUCTION_TEMPLATE_PATTERN; + } +} diff --git a/lib/internal/Magento/Framework/Filter/DirectiveProcessor/VarDirective.php b/lib/internal/Magento/Framework/Filter/DirectiveProcessor/VarDirective.php new file mode 100644 index 0000000000000..f2fe398c38488 --- /dev/null +++ b/lib/internal/Magento/Framework/Filter/DirectiveProcessor/VarDirective.php @@ -0,0 +1,68 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ + +declare(strict_types=1); + +namespace Magento\Framework\Filter\DirectiveProcessor; + +use Magento\Framework\Filter\DirectiveProcessor\Filter\FilterApplier; +use Magento\Framework\Filter\DirectiveProcessorInterface; +use Magento\Framework\Filter\Template; +use Magento\Framework\Filter\VariableResolverInterface; + +/** + * Resolves var directives + */ +class VarDirective implements DirectiveProcessorInterface +{ + /** + * @var VariableResolverInterface + */ + private $variableResolver; + + /** + * @var FilterApplier + */ + private $filterApplier; + + /** + * @param VariableResolverInterface $variableResolver + * @param FilterApplier $filterApplier + */ + public function __construct( + VariableResolverInterface $variableResolver, + FilterApplier $filterApplier + ) { + $this->variableResolver = $variableResolver; + $this->filterApplier = $filterApplier; + } + + /** + * @inheritdoc + */ + public function process(array $construction, Template $filter, array $templateVariables): string + { + if (empty($construction[2])) { + return $construction[0]; + } + + $result = (string)$this->variableResolver->resolve($construction[2], $filter, $templateVariables); + + if (isset($construction['filters']) && strpos($construction['filters'], '|') !== false) { + $result = $this->filterApplier->applyFromRawParam($construction['filters'], $result); + } + + return $result; + } + + /** + * @inheritdoc + */ + public function getRegularExpression(): string + { + return '/{{(var)(.*?)(?P<filters>(?:\|[a-z0-9:_-]+)+)?}}/si'; + } +} diff --git a/lib/internal/Magento/Framework/Filter/DirectiveProcessorInterface.php b/lib/internal/Magento/Framework/Filter/DirectiveProcessorInterface.php new file mode 100644 index 0000000000000..e8fd00bb3cee1 --- /dev/null +++ b/lib/internal/Magento/Framework/Filter/DirectiveProcessorInterface.php @@ -0,0 +1,32 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ + +declare(strict_types=1); + +namespace Magento\Framework\Filter; + +/** + * Responsible for converting a directive data structure to relevant template output + */ +interface DirectiveProcessorInterface +{ + /** + * Handle the directive from the template + * + * @param array $construction The result of the regular expression match + * @param Template $filter The filter that is processing the template + * @param array $templateVariables The dataset available to the template + * @return string The rendered directive content + */ + public function process(array $construction, Template $filter, array $templateVariables): string; + + /** + * Return the regular expression that will be used to determine if this processor can process a directive + * + * @return string The regular expression including markers and flags. E.g. /foo/i + */ + public function getRegularExpression(): string; +} diff --git a/lib/internal/Magento/Framework/Filter/FilterManager.php b/lib/internal/Magento/Framework/Filter/FilterManager.php index ca5d998af833f..1729dee2487ab 100644 --- a/lib/internal/Magento/Framework/Filter/FilterManager.php +++ b/lib/internal/Magento/Framework/Filter/FilterManager.php @@ -26,6 +26,7 @@ * @method string decrypt(string $value, $params = array()) * @method string translit(string $value) * @method string translitUrl(string $value) + * @since 100.0.2 */ class FilterManager { diff --git a/lib/internal/Magento/Framework/Filter/SimpleDirective/ProcessorInterface.php b/lib/internal/Magento/Framework/Filter/SimpleDirective/ProcessorInterface.php new file mode 100644 index 0000000000000..e16991ba50b28 --- /dev/null +++ b/lib/internal/Magento/Framework/Filter/SimpleDirective/ProcessorInterface.php @@ -0,0 +1,45 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ + +declare(strict_types=1); + +namespace Magento\Framework\Filter\SimpleDirective; + +use Magento\Framework\Filter\Template; + +/** + * An easier mechanism to implement custom directives rather than parsing the whole directive manually + */ +interface ProcessorInterface +{ + /** + * Unique name of this directive. + * + * @return string + */ + public function getName(): string; + + /** + * Process values given to the directory and return rendered result. + * + * @param mixed $value Template var, scalar or null if nothing has been passed to the directive. + * @param string[] $parameters Additional parameters. + * @param string|null $html HTML inside the directive. + * @return string + */ + public function process( + $value, + array $parameters, + ?string $html + ): string; + + /** + * Default filters to apply if none provided in a template. + * + * @return string[]|null + */ + public function getDefaultFilters(): ?array; +} diff --git a/lib/internal/Magento/Framework/Filter/SimpleDirective/ProcessorPool.php b/lib/internal/Magento/Framework/Filter/SimpleDirective/ProcessorPool.php new file mode 100644 index 0000000000000..e75b96adadcc8 --- /dev/null +++ b/lib/internal/Magento/Framework/Filter/SimpleDirective/ProcessorPool.php @@ -0,0 +1,51 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ + +declare(strict_types=1); + +namespace Magento\Framework\Filter\SimpleDirective; + +/** + * Container for defined list of simple processors + */ +class ProcessorPool +{ + /** + * @var array|ProcessorInterface[] + */ + private $processors; + + /** + * @param ProcessorInterface[] $processors + */ + public function __construct(array $processors = []) + { + foreach ($processors as $processor) { + if (!$processor instanceof ProcessorInterface) { + throw new \InvalidArgumentException( + 'Simple processors must implement ' . ProcessorInterface::class + ); + } + } + + $this->processors = $processors; + } + + /** + * Retrieve a defined processor from the pool by name + * + * @param string $name + * @return ProcessorInterface + */ + public function get(string $name): ProcessorInterface + { + if (empty($this->processors[$name])) { + throw new \InvalidArgumentException('Processor with key "' . $name . '" has not been defined'); + } + + return $this->processors[$name]; + } +} diff --git a/lib/internal/Magento/Framework/Filter/Template.php b/lib/internal/Magento/Framework/Filter/Template.php index 0cd2935a24b1d..1eae48342ca00 100644 --- a/lib/internal/Magento/Framework/Filter/Template.php +++ b/lib/internal/Magento/Framework/Filter/Template.php @@ -9,35 +9,56 @@ */ namespace Magento\Framework\Filter; +use Magento\Framework\App\ObjectManager; +use Magento\Framework\Filter\DirectiveProcessor\DependDirective; +use Magento\Framework\Filter\DirectiveProcessor\ForDirective; +use Magento\Framework\Filter\DirectiveProcessor\IfDirective; +use Magento\Framework\Filter\DirectiveProcessor\LegacyDirective; +use Magento\Framework\Filter\DirectiveProcessor\TemplateDirective; +use Magento\Framework\Filter\DirectiveProcessor\VarDirective; +use Magento\Framework\Stdlib\StringUtils; + /** * Template filter * * @api + * @SuppressWarnings(PHPMD.CouplingBetweenObjects) + * @since 100.0.2 */ class Template implements \Zend_Filter_Interface { /** * Construction regular expression + * + * @deprecated Use the new Directive processors */ - const CONSTRUCTION_PATTERN = '/{{([a-z]{0,10})(.*?)}}/si'; + const CONSTRUCTION_PATTERN = '/{{([a-z]{0,10})(.*?)}}(?:(.*?)(?:{{\/(?:\\1)}}))?/si'; /** * Construction `depend` regular expression + * + * @deprecated Use the new Directive processors */ const CONSTRUCTION_DEPEND_PATTERN = '/{{depend\s*(.*?)}}(.*?){{\\/depend\s*}}/si'; /** * Construction `if` regular expression + * + * @deprecated Use the new Directive processors */ const CONSTRUCTION_IF_PATTERN = '/{{if\s*(.*?)}}(.*?)({{else}}(.*?))?{{\\/if\s*}}/si'; /** * Construction `template` regular expression + * + * @deprecated Use the new Directive processors */ const CONSTRUCTION_TEMPLATE_PATTERN = '/{{(template)(.*?)}}/si'; /** * Construction `for` regular expression + * + * @deprecated Use the new Directive processors */ const LOOP_PATTERN = '/{{for(?P<loopItem>.*? )(in)(?P<loopData>.*?)}}(?P<loopBody>.*?){{\/for}}/si'; @@ -59,62 +80,55 @@ class Template implements \Zend_Filter_Interface protected $templateProcessor = null; /** - * @var \Magento\Framework\Stdlib\StringUtils + * @var StringUtils */ protected $string; /** - * @var string[] + * @var DirectiveProcessorInterface[] + */ + private $directiveProcessors; + + /** + * @var bool */ - private $restrictedMethods = [ - 'addafterfiltercallback', - 'getresourcecollection', - 'load', - 'save', - 'getcollection', - 'getresource', - 'getconfig', - 'setvariables', - 'settemplateprocessor', - 'gettemplateprocessor', - 'vardirective', - 'delete', - 'getdatausingmethod', - '__destruct', - '__call', - '__callstatic', - '__set', - '__unset', - '__sleep', - '__wakeup', - '__invoke', - '__set_state', - '__debuginfo', - '___callparent', - '___callplugins' - ]; + private $strictMode = false; /** - * @var array[] + * @var VariableResolverInterface|null */ - private $restrictedMethodsByInstanceType = [ - \Magento\Framework\DB\Adapter\AdapterInterface::class => [ - '*' - ] - ]; + private $variableResolver; /** - * @param \Magento\Framework\Stdlib\StringUtils $string + * @param StringUtils $string * @param array $variables + * @param DirectiveProcessorInterface[] $directiveProcessors + * @param VariableResolverInterface|null $variableResolver */ - public function __construct(\Magento\Framework\Stdlib\StringUtils $string, $variables = []) - { + public function __construct( + StringUtils $string, + $variables = [], + $directiveProcessors = [], + VariableResolverInterface $variableResolver = null + ) { $this->string = $string; $this->setVariables($variables); + $this->directiveProcessors = $directiveProcessors; + $this->variableResolver = $variableResolver ?? ObjectManager::getInstance() + ->get(VariableResolverInterface::class); + + if (empty($directiveProcessors)) { + $this->directiveProcessors = [ + 'depend' => ObjectManager::getInstance()->get(DependDirective::class), + 'if' => ObjectManager::getInstance()->get(IfDirective::class), + 'template' => ObjectManager::getInstance()->get(TemplateDirective::class), + 'legacy' => ObjectManager::getInstance()->get(LegacyDirective::class), + ]; + } } /** - * Sets template variables that's can be called through {var ...} statement + * Set the template variables available to be resolved in this template via variable resolver directives * * @param array $variables * @return \Magento\Framework\Filter\Template @@ -155,103 +169,30 @@ public function getTemplateProcessor() * @param string $value * @return string * @throws \Exception - * @SuppressWarnings(PHPMD.CyclomaticComplexity) */ public function filter($value) { - // "depend", "if", and "template" directives should be first - foreach ([ - self::CONSTRUCTION_DEPEND_PATTERN => 'dependDirective', - self::CONSTRUCTION_IF_PATTERN => 'ifDirective', - self::CONSTRUCTION_TEMPLATE_PATTERN => 'templateDirective', - ] as $pattern => $directive) { - if (preg_match_all($pattern, $value, $constructions, PREG_SET_ORDER)) { - foreach ($constructions as $construction) { - $callback = [$this, $directive]; - if (!is_callable($callback)) { - continue; - } - try { - $replacedValue = call_user_func($callback, $construction); - } catch (\Exception $e) { - throw $e; - } - $value = str_replace($construction[0], $replacedValue, $value); - } + foreach ($this->directiveProcessors as $directiveProcessor) { + if (!$directiveProcessor instanceof DirectiveProcessorInterface) { + throw new \InvalidArgumentException( + 'Directive processors must implement ' . DirectiveProcessorInterface::class + ); } - } - $value = $this->filterFor($value); + if (preg_match_all($directiveProcessor->getRegularExpression(), $value, $constructions, PREG_SET_ORDER)) { + foreach ($constructions as $construction) { + $replacedValue = $directiveProcessor->process($construction, $this, $this->templateVars); - if (preg_match_all(self::CONSTRUCTION_PATTERN, $value, $constructions, PREG_SET_ORDER)) { - foreach ($constructions as $construction) { - $callback = [$this, $construction[1] . 'Directive']; - if (!is_callable($callback)) { - continue; - } - try { - $replacedValue = call_user_func($callback, $construction); - } catch (\Exception $e) { - throw $e; + $value = str_replace($construction[0], $replacedValue, $value); } - $value = str_replace($construction[0], $replacedValue, $value); } } $value = $this->afterFilter($value); - return $value; - } - - /** - * Filter the string as template. - * - * @param string $value - * @example syntax {{for item in order.items}} name: {{var item.name}} {{/for}} order items collection. - * @example syntax {{for thing in things}} {{var thing.whatever}} {{/for}} e.g.:custom collection. - * @return string - */ - private function filterFor($value) - { - if (preg_match_all(self::LOOP_PATTERN, $value, $constructions, PREG_SET_ORDER)) { - foreach ($constructions as $construction) { - if (!$this->isValidLoop($construction)) { - return $value; - } - - $fullTextToReplace = $construction[0]; - $loopData = $this->getVariable($construction['loopData'], ''); - - $loopTextToReplace = $construction['loopBody']; - $loopItemVariableName = preg_replace('/\s+/', '', $construction['loopItem']); - - if (is_array($loopData) || $loopData instanceof \Traversable) { - $replaceText = $this->getLoopReplacementText($loopData, $loopItemVariableName, $loopTextToReplace); - $value = str_replace($fullTextToReplace, $replaceText, $value); - } - } - } return $value; } - /** - * Check if the matched construction is valid. - * - * @param array $construction - * @return bool - */ - private function isValidLoop(array $construction) - { - $requiredFields = ['loopBody', 'loopItem', 'loopData']; - $validFields = array_filter( - $requiredFields, - function ($field) use ($construction) { - return isset($construction[$field]) && strlen(trim($construction[$field])); - } - ); - return count($requiredFields) == count($validFields); - } - /** * Runs callbacks that have been added to filter content after directive processing is finished. * @@ -300,20 +241,36 @@ protected function resetAfterFilterCallbacks() } /** - * Get var directive + * Process {{var}} directive regex match * * @param string[] $construction * @return string + * @deprecated 102.0.3 Use the directive interfaces instead */ public function varDirective($construction) { - if (count($this->templateVars) == 0) { - // If template prepossessing - return $construction[0]; - } + $directive = $this->directiveProcessors['var'] ?? ObjectManager::getInstance() + ->get(VarDirective::class); - $replacedValue = $this->getVariable($construction[2], ''); - return $replacedValue; + return $directive->process($construction, $this, $this->templateVars); + } + + /** + * Process {{for}} directive regex match + * + * @param string[] $construction + * @return string + * @deprecated 102.0.3 Use the directive interfaces instead + * @since 102.0.3 + */ + public function forDirective($construction) + { + $directive = $this->directiveProcessors['for'] ?? ObjectManager::getInstance() + ->get(ForDirective::class); + + preg_match($directive->getRegularExpression(), $construction[0], $specificConstruction); + + return $directive->process($specificConstruction, $this, $this->templateVars); } /** @@ -328,22 +285,14 @@ public function varDirective($construction) * * @param string[] $construction * @return mixed + * @deprecated 102.0.3 Use the directive interfaces instead */ public function templateDirective($construction) { - // Processing of {template config_path=... [...]} statement - $templateParameters = $this->getParameters($construction[2]); - if (!isset($templateParameters['config_path']) || !$this->getTemplateProcessor()) { - // Not specified template or not set include processor - $replacedValue = '{Error in template processing}'; - } else { - // Including of template - $configPath = $templateParameters['config_path']; - unset($templateParameters['config_path']); - $templateParameters = array_merge_recursive($templateParameters, $this->templateVars); - $replacedValue = call_user_func($this->getTemplateProcessor(), $configPath, $templateParameters); - } - return $replacedValue; + $directive = $this->directiveProcessors['template'] ?? ObjectManager::getInstance() + ->get(TemplateDirective::class); + + return $directive->process($construction, $this, $this->templateVars); } /** @@ -351,19 +300,16 @@ public function templateDirective($construction) * * @param string[] $construction * @return string + * @deprecated 102.0.3 Use the directive interfaces instead */ public function dependDirective($construction) { - if (count($this->templateVars) == 0) { - // If template processing - return $construction[0]; - } + $directive = $this->directiveProcessors['depend'] ?? ObjectManager::getInstance() + ->get(DependDirective::class); - if ($this->getVariable($construction[1], '') == '') { - return ''; - } else { - return $construction[2]; - } + preg_match($directive->getRegularExpression(), $construction[0], $specificConstruction); + + return $directive->process($specificConstruction, $this, $this->templateVars); } /** @@ -371,21 +317,16 @@ public function dependDirective($construction) * * @param string[] $construction * @return string + * @deprecated 102.0.3 Use the directive interfaces instead */ public function ifDirective($construction) { - if (count($this->templateVars) == 0) { - return $construction[0]; - } + $directive = $this->directiveProcessors['if'] ?? ObjectManager::getInstance() + ->get(IfDirective::class); - if ($this->getVariable($construction[1], '') == '') { - if (isset($construction[3]) && isset($construction[4])) { - return $construction[4]; - } - return ''; - } else { - return $construction[2]; - } + preg_match($directive->getRegularExpression(), $construction[0], $specificConstruction); + + return $directive->process($specificConstruction, $this, $this->templateVars); } /** @@ -393,6 +334,7 @@ public function ifDirective($construction) * * @param string $value raw parameters * @return array + * @deprecated 102.0.3 Use the directive interfaces instead */ protected function getParameters($value) { @@ -408,114 +350,20 @@ protected function getParameters($value) } /** - * Validate method call initiated in a template. - * - * Deny calls for methods that may disrupt template processing. - * - * @param object $object - * @param string $method - * @return void - * @throws \InvalidArgumentException - */ - private function validateVariableMethodCall($object, string $method): void - { - if ($object instanceof self || $object instanceof \Magento\Framework\DataObject) { - if (in_array(mb_strtolower($method), $this->restrictedMethods)) { - throw new \InvalidArgumentException("Method $method cannot be called from template."); - } - } else { - foreach ($this->restrictedMethodsByInstanceType as $instanceType => $restrictedMethods) { - if ($object instanceof $instanceType && - (in_array('*', $restrictedMethods) || in_array(mb_strtolower($method), $restrictedMethods)) - ) { - throw new \InvalidArgumentException("Method $method cannot be called from template."); - } - } - } - } - - /** - * Return variable value for var construction. + * Resolve a variable's value for a given var directive construction * * @param string $value raw parameters * @param string $default default value * @return string - * @SuppressWarnings(PHPMD.CyclomaticComplexity) + * @deprecated 102.0.3 Use \Magento\Framework\Filter\VariableResolverInterface instead */ protected function getVariable($value, $default = '{no_value_defined}') { \Magento\Framework\Profiler::start('email_template_processing_variables'); - $tokenizer = new Template\Tokenizer\Variable(); - $tokenizer->setString($value); - $stackVars = $tokenizer->tokenize(); - $result = $default; - $last = 0; - for ($i = 0, $count = count($stackVars); $i < $count; $i++) { - if ($i == 0 && isset($this->templateVars[$stackVars[$i]['name']])) { - // Getting of template value - $stackVars[$i]['variable'] = & $this->templateVars[$stackVars[$i]['name']]; - } elseif (isset($stackVars[$i - 1]['variable']) && is_object($stackVars[$i - 1]['variable'])) { - if ($stackVars[$i]['type'] == 'property') { - $stackVars[$i]['variable'] = $this->evaluateObjectPropertyAccess( - $stackVars[$i - 1]['variable'], - $stackVars[$i]['name'] - ); - } elseif ($stackVars[$i]['type'] == 'method') { - $stackVars[$i]['variable'] = $this->evaluateObjectMethodCall( - $stackVars[$i - 1]['variable'], - $stackVars[$i]['name'], - $stackVars[$i]['args'] - ); - } - $last = $i; - } - } - - if (isset($stackVars[$last]['variable'])) { - // If value for construction exists set it - $result = $stackVars[$last]['variable']; - } + $result = $this->variableResolver->resolve($value, $this, $this->templateVars) ?? $default; \Magento\Framework\Profiler::stop('email_template_processing_variables'); - return $result; - } - /** - * Evaluate object property access. - * - * @param object $object - * @param string $property - * @return null - */ - private function evaluateObjectPropertyAccess($object, $property) - { - $method = 'get' . $this->string->upperCaseWords($property, '_', ''); - $this->validateVariableMethodCall($object, $method); - return method_exists($object, $method) - ? $object->{$method}() - : (($object instanceof \Magento\Framework\DataObject) ? $object->getData($property) : null); - } - - /** - * Evaluate object method call. - * - * @param object $object - * @param string $method - * @param array $arguments - * @return mixed|null - */ - private function evaluateObjectMethodCall($object, $method, $arguments) - { - if (method_exists($object, $method) - || ($object instanceof \Magento\Framework\DataObject && substr($method, 0, 3) == 'get') - ) { - $arguments = $this->getStackArgs($arguments); - $this->validateVariableMethodCall($object, $method); - return call_user_func_array( - [$object, $method], - $arguments - ); - } - return null; + return $result; } /** @@ -523,6 +371,7 @@ private function evaluateObjectMethodCall($object, $method, $arguments) * * @param array $stack * @return array + * @deprecated 102.0.3 Use new directive processor interfaces */ protected function getStackArgs($stack) { @@ -537,51 +386,36 @@ protected function getStackArgs($stack) } /** - * Process loop text to replace. + * Change the operating mode for filtering and return the previous mode * - * @param array $loopData - * @param string $loopItemVariableName - * @param string $loopTextToReplace - * @return string + * Returning the previous value makes it easy to perform single operations in a single mode: + * + * <code> + * $previousMode = $filter->setStrictMode(true); + * $filter->filter($value); + * $filter->setStrictMode($previousMode); + * </code> + * + * @param bool $strictMode Enable strict parsing of directives + * @return bool The previous mode from before the change + * @since 102.0.3 */ - private function getLoopReplacementText(array $loopData, $loopItemVariableName, $loopTextToReplace) + public function setStrictMode(bool $strictMode): bool { - $loopText = []; - $loopIndex = 0; - $loopDataObject = new \Magento\Framework\DataObject(); - - foreach ($loopData as $loopItemDataObject) { - // Loop item can be an array or DataObject. - // If loop item is an array, convert it to DataObject - // to have unified interface if the collection - if (!$loopItemDataObject instanceof \Magento\Framework\DataObject) { - if (!is_array($loopItemDataObject)) { - continue; - } - $loopItemDataObject = new \Magento\Framework\DataObject($loopItemDataObject); - } + $current = $this->strictMode; + $this->strictMode = $strictMode; - $loopDataObject->setData('index', $loopIndex++); - $this->templateVars['loop'] = $loopDataObject; - $this->templateVars[$loopItemVariableName] = $loopItemDataObject; - - if (preg_match_all( - self::CONSTRUCTION_PATTERN, - $loopTextToReplace, - $attributes, - PREG_SET_ORDER - ) - ) { - $subText = $loopTextToReplace; - foreach ($attributes as $attribute) { - $text = $this->getVariable($attribute[2], ''); - $subText = str_replace($attribute[0], $text, $subText); - } - $loopText[] = $subText; - } - unset($this->templateVars[$loopItemVariableName]); - } - $replaceText = implode('', $loopText); - return $replaceText; + return $current; + } + + /** + * Return if the template is rendered with strict directive processing + * + * @return bool + * @since 102.0.3 + */ + public function isStrictMode(): bool + { + return $this->strictMode; } } diff --git a/lib/internal/Magento/Framework/Filter/Test/Unit/DirectiveProcessor/SimpleDirective.php b/lib/internal/Magento/Framework/Filter/Test/Unit/DirectiveProcessor/SimpleDirective.php new file mode 100644 index 0000000000000..4d079ac716342 --- /dev/null +++ b/lib/internal/Magento/Framework/Filter/Test/Unit/DirectiveProcessor/SimpleDirective.php @@ -0,0 +1,108 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ + +declare(strict_types=1); + +namespace Magento\Framework\Filter\Test\Unit\DirectiveProcessor; + +use Magento\Framework\TestFramework\Unit\Helper\ObjectManager; +use PHPUnit\Framework\TestCase; + +/** + * + */ +class SimpleDirective extends TestCase +{ + private $regex; + + protected function setUp() + { + $objectManager = new ObjectManager($this); + $directive = $objectManager->getObject(\Magento\Framework\Filter\DirectiveProcessor\SimpleDirective::class); + $this->regex = $directive->getRegularExpression(); + } + + /** + * @dataProvider matchesProvider + */ + public function testMatches($input, $expected) + { + preg_match($this->regex, $input, $matches); + + $toAssert = []; + foreach ($matches as $key => $value) { + if (!is_numeric($key)) { + $toAssert[$key] = $value; + } + } + $this->assertEquals($expected, $toAssert); + } + + public function matchesProvider() + { + return [ + [ + '{{dir param}}', + [ + 'directiveName' => 'dir', + 'quoteType' => '', + 'value' => '', + 'parameters' => 'param', + ] + ], + [ + '{{dir param|foo}}', + [ + 'directiveName' => 'dir', + 'quoteType' => '', + 'value' => '', + 'parameters' => 'param', + 'filters' => '|foo', + ] + ], + [ + '{{dir foo bar baz}}', + [ + 'directiveName' => 'dir', + 'quoteType' => '', + 'value' => '', + 'parameters' => 'foo bar baz', + ] + ], + [ + '{{dir \'foo %var "is" my name\' bar baz="bash" bash=\'bash\'}}', + [ + 'directiveName' => 'dir', + 'quoteType' => '\'', + 'value' => 'foo %var "is" my name', + 'parameters' => ' bar baz="bash" bash=\'bash\'', + ] + ], + [ + '{{dir "foo %var is m\'name. a + b=\\\'c\\\'" some nonsense !@#$%^&*()_+abc.,;\'}}', + [ + 'directiveName' => 'dir', + 'quoteType' => '"', + 'value' => 'foo %var is m\'name. a + b=\\\'c\\\'', + 'parameters' => ' some nonsense !@#$%^&*()_+abc.,;\'', + ] + ], + [ + '{{dir "blah" some nonsense !=@#$%^&*()_+abc.,;\'|foo|bar:_123|ridiculous-filter}}' . "\n\t" + . '<content>' . "\n\t\t" + . '{{foo bar}}</content>{{/dir}}', + [ + 'directiveName' => 'dir', + 'quoteType' => '"', + 'value' => 'blah', + 'parameters' => ' some nonsense !=@#$%^&*()_+abc.,;\'', + 'content' => "\n\t" . '<content>' . "\n\t\t" . '{{foo bar}}</content>', + 'filters' => '|foo|bar:_123|ridiculous-filter', + ] + ], + ]; + } +} diff --git a/lib/internal/Magento/Framework/Filter/Test/Unit/TemplateTest.php b/lib/internal/Magento/Framework/Filter/Test/Unit/TemplateTest.php index b7f76cb35953a..97fad446ebadc 100644 --- a/lib/internal/Magento/Framework/Filter/Test/Unit/TemplateTest.php +++ b/lib/internal/Magento/Framework/Filter/Test/Unit/TemplateTest.php @@ -30,57 +30,6 @@ protected function setUp() $this->store = $objectManager->getObject(Store::class); } - public function testFilter() - { - $this->templateFilter->setVariables( - [ - 'customer' => new \Magento\Framework\DataObject(['firstname' => 'Felicia', 'lastname' => 'Henry']), - 'company' => 'A. L. Price', - 'street1' => '687 Vernon Street', - 'city' => 'Parker Dam', - 'region' => 'CA', - 'postcode' => '92267', - 'telephone' => '760-663-5876', - ] - ); - - $template = <<<TEMPLATE -{{var customer.firstname}} {{depend middlename}}{{var middlename}} {{/depend}}{{var customer.getLastname()}} -{{depend company}}{{var company}}{{/depend}} -{{if street1}}{{var street1}} -{{/if}} -{{depend street2}}{{var street2}}{{/depend}} -{{depend street3}}{{var street3}}{{/depend}} -{{depend street4}}{{var street4}}{{/depend}} -{{if city}}{{var city}}, {{/if}}{{if region}}{{var region}}, {{/if}}{{if postcode}}{{var postcode}}{{/if}} -{{var country}} -{{depend telephone}}T: {{var telephone}}{{/depend}} -{{depend fax}}F: {{var fax}}{{/depend}} -{{depend vat_id}}VAT: {{var vat_id}}{{/depend}} -TEMPLATE; - - $expectedResult = <<<EXPECTED_RESULT -Felicia Henry -A. L. Price -687 Vernon Street - - - - -Parker Dam, CA, 92267 - -T: 760-663-5876 - - -EXPECTED_RESULT; - - $this->assertEquals( - $expectedResult, - $this->templateFilter->filter($template), - 'Template was processed incorrectly' - ); - } - /** * @covers \Magento\Framework\Filter\Template::afterFilter * @covers \Magento\Framework\Filter\Template::addAfterFilterCallback @@ -137,128 +86,6 @@ public function testAfterFilterCallbackReset() $this->assertEquals($value, $this->templateFilter->filter($value)); } - /** - * @covers \Magento\Framework\Filter\Template::varDirective - * @covers \Magento\Framework\Filter\Template::getVariable - * @covers \Magento\Framework\Filter\Template::getStackArgs - * @dataProvider varDirectiveDataProvider - */ - public function testVarDirective($construction, $variables, $expectedResult) - { - $this->templateFilter->setVariables($variables); - $this->assertEquals($expectedResult, $this->templateFilter->filter($construction)); - } - - /** - * @return array - */ - public function varDirectiveDataProvider() - { - /* @var $dataObjectVariable \Magento\Framework\DataObject|\PHPUnit_Framework_MockObject_MockObject */ - $dataObjectVariable = $this->getMockBuilder(\Magento\Framework\DataObject::class) - ->disableOriginalConstructor() - ->disableProxyingToOriginalMethods() - ->setMethods(['bar']) - ->getMock(); - $dataObjectVariable->expects($this->once()) - ->method('bar') - ->willReturn('DataObject Method Return'); - - /* @var $nonDataObjectVariable \Magento\Framework\Escaper|\PHPUnit_Framework_MockObject_MockObject */ - $nonDataObjectVariable = $this->getMockBuilder(\Magento\Framework\Escaper::class) - ->disableOriginalConstructor() - ->getMock(); - $nonDataObjectVariable->expects($this->once()) - ->method('escapeHtml') - ->willReturnArgument(0); - - return [ - 'no variables' => [ - '{{var}}', - [], - '{{var}}', - ], - 'invalid variable' => [ - '{{var invalid}}', - ['foobar' => 'barfoo'], - '', - ], - 'string variable' => [ - '{{var foobar}}', - ['foobar' => 'barfoo'], - 'barfoo', - ], - 'array argument to method' => [ - '{{var foo.bar([param_1:value_1, param_2:$value_2, param_3:[a:$b, c:$d]])}}', - [ - 'foo' => $dataObjectVariable, - 'value_2' => 'lorem', - 'b' => 'bee', - 'd' => 'dee', - ], - 'DataObject Method Return' - ], - 'non DataObject method call' => [ - '{{var foo.escapeHtml($value)}}', - [ - 'foo' => $nonDataObjectVariable, - 'value' => 'lorem' - ], - 'lorem' - ], - 'non DataObject undefined method call' => [ - '{{var foo.undefinedMethod($value)}}', - [ - 'foo' => $nonDataObjectVariable, - 'value' => 'lorem' - ], - '' - ], - ]; - } - - /** - * @covers \Magento\Framework\Filter\Template::filterFor - * @dataProvider loopPatternDataProvider - */ - public function testLoopPattern($construction, $variables, $expectedResult) - { - $this->templateFilter->setVariables($variables); - $this->assertEquals($expectedResult, $this->invokeMethod($this->templateFilter, 'filterFor', [$construction])); - } - - /** - * @return array - */ - public function loopPatternDataProvider() - { - return [ - 'no loop tag' => $this->getTemplateAndExpectedResults('noLoopTag'), - 'no loop body tag' => $this->getTemplateAndExpectedResults('noBodyTag'), - 'no item tag' => $this->getTemplateAndExpectedResults('noItemTag'), - 'no item, no body tags' => $this->getTemplateAndExpectedResults('noItemNoBodyTag'), - 'no item, no data, no body tags' => $this->getTemplateAndExpectedResults('noItemNoDataNoBodyTag'), - ]; - } - - /** - * Call protected/private method of a class. - * - * @param object &$object - * @param string $methodName - * @param array $parameters - * - * @return mixed Method return. - */ - private function invokeMethod(&$object, $methodName, array $parameters = []) - { - $reflection = new \ReflectionClass(get_class($object)); - $method = $reflection->getMethod($methodName); - $method->setAccessible(true); - - return $method->invokeArgs($object, $parameters); - } - /** * @param $type * @return array @@ -295,7 +122,7 @@ public function getTemplateAndExpectedResults($type) <ul> {{for in order.all_visible_items}} <li> - {{var loop.index}} name: {{var thing.name}}, lastname: {{var thing.lastname}}, age: {{var thing.age}} + name: , lastname: , age: </li> {{/for}} </ul> @@ -391,62 +218,4 @@ private function getObjectData() $dataObject->setAllVisibleItems($visibleItems); return $dataObject; } - - /** - * Check that if calling a method of an object fails expected result is returned. - */ - public function testInvalidMethodCall() - { - $this->templateFilter->setVariables(['dateTime' => '\DateTime']); - $this->assertEquals( - '\DateTime', - $this->templateFilter->filter('{{var dateTime.createFromFormat(\'d\',\'1548201468\')}}') - ); - } - - /** - * Test adding callbacks when already filtering. - * - * @expectedException \InvalidArgumentException - */ - public function testInappropriateCallbacks() - { - $this->templateFilter->setVariables(['filter' => $this->templateFilter]); - $this->templateFilter->filter('Test {{var filter.addAfterFilterCallback(\'mb_strtolower\')}}'); - } - - /** - * Test adding callbacks when already filtering. - * - * @expectedException \InvalidArgumentException - * @dataProvider disallowedMethods - */ - public function testDisallowedMethods($method) - { - $this->templateFilter->setVariables(['store' => $this->store, 'filter' => $this->templateFilter]); - $this->templateFilter->filter('{{var store.'.$method.'()}} {{var filter.' .$method .'()}}'); - } - - /** - * Data for testDisallowedMethods method - * - * @return array - */ - public function disallowedMethods() - { - return [ - ['getResourceCollection'], - ['load'], - ['save'], - ['getCollection'], - ['getResource'], - ['getConfig'], - ['setVariables'], - ['setTemplateProcessor'], - ['getTemplateProcessor'], - ['varDirective'], - ['delete'], - ['getDataUsingMethod'] - ]; - } } diff --git a/lib/internal/Magento/Framework/Filter/Truncate.php b/lib/internal/Magento/Framework/Filter/Truncate.php index a4dd35b302705..d56f574bac019 100644 --- a/lib/internal/Magento/Framework/Filter/Truncate.php +++ b/lib/internal/Magento/Framework/Filter/Truncate.php @@ -11,7 +11,7 @@ * Truncate a string to a certain length if necessary, appending the $etc string. * $remainder will contain the string that has been replaced with $etc. * - * @deprecated + * @deprecated 101.0.7 * @see \Magento\Framework\Filter\TruncateFilter */ class Truncate implements \Zend_Filter_Interface diff --git a/lib/internal/Magento/Framework/Filter/VariableResolver/LegacyResolver.php b/lib/internal/Magento/Framework/Filter/VariableResolver/LegacyResolver.php new file mode 100644 index 0000000000000..179f36e1683d1 --- /dev/null +++ b/lib/internal/Magento/Framework/Filter/VariableResolver/LegacyResolver.php @@ -0,0 +1,216 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ + +declare(strict_types=1); + +namespace Magento\Framework\Filter\VariableResolver; + +use Magento\Framework\DataObject; +use Magento\Framework\Filter\Template; +use Magento\Framework\Filter\Template\Tokenizer\VariableFactory; +use Magento\Framework\Filter\VariableResolverInterface; +use Magento\Framework\Model\AbstractExtensibleModel; +use Magento\Framework\Model\AbstractModel; +use Magento\Framework\Stdlib\StringUtils; + +/** + * Resolves variables the way that they have traditionally been resolved and allows method execution + */ +class LegacyResolver implements VariableResolverInterface +{ + /** + * @var StringUtils + */ + private $stringUtils; + + /** + * @var VariableFactory + */ + private $variableTokenizerFactory; + + /** + * @param StringUtils $stringUtils + * @param VariableFactory $variableTokenizerFactory + */ + public function __construct(StringUtils $stringUtils, VariableFactory $variableTokenizerFactory) + { + $this->stringUtils = $stringUtils; + $this->variableTokenizerFactory = $variableTokenizerFactory; + } + + /** + * @inheritDoc + */ + public function resolve(string $value, Template $filter, array $templateVariables) + { + if (empty($value)) { + return null; + } + + $tokenizer = $this->variableTokenizerFactory->create(); + $tokenizer->setString($value); + $stackArgs = $tokenizer->tokenize(); + $result = null; + $last = 0; + for ($i = 0, $count = count($stackArgs); $i < $count; $i++) { + if ($i == 0 && isset($templateVariables[$stackArgs[$i]['name']])) { + // Getting of template value + $stackArgs[$i]['variable'] = &$templateVariables[$stackArgs[$i]['name']]; + } elseif ($this->shouldHandleDataAccess($i, $stackArgs)) { + $this->handleDataAccess($i, $filter, $templateVariables, $stackArgs); + $last = $i; + } elseif ($this->shouldHandleAsObjectAccess($i, $stackArgs)) { + $this->handleObjectMethod($filter, $templateVariables, $i, $stackArgs); + $last = $i; + } + } + + if (isset($stackArgs[$last]['variable'])) { + // If value for construction exists set it + $result = $stackArgs[$last]['variable']; + } + + return $result; + } + + /** + * Loops over a set of stack args to process variables into array argument values + * + * @param array $stack + * @param Template $filter + * @param array $templateVariables + * @return array + */ + private function getStackArgs($stack, Template $filter, array $templateVariables): array + { + foreach ($stack as $i => $value) { + if (is_array($value)) { + $stack[$i] = $this->getStackArgs($value, $filter, $templateVariables); + } elseif (substr((string)$value, 0, 1) === '$') { + $stack[$i] = $this->resolve(substr($value, 1), $filter, $templateVariables); + } + } + + return $stack; + } + + /** + * Handle the access of a variable's property at an index + * + * @param int $i + * @param array $stackArgs + */ + private function handlePropertyAccess(int $i, array &$stackArgs): void + { + if (is_array($stackArgs[$i - 1]['variable'])) { + $stackArgs[$i]['variable'] = $stackArgs[$i - 1]['variable'][$stackArgs[$i]['name']]; + } else { + $caller = 'get' . $this->stringUtils->upperCaseWords($stackArgs[$i]['name'], '_', ''); + $stackArgs[$i]['variable'] = method_exists( + $stackArgs[$i - 1]['variable'], + $caller + ) ? $stackArgs[$i - 1]['variable']->{$caller}() : $stackArgs[$i - 1]['variable']->getData( + $stackArgs[$i]['name'] + ); + } + } + + /** + * Handle the calling of a DataObject's method at an index + * + * @param Template $filter + * @param array $templateVariables + * @param int $i + * @param array $stackArgs + */ + private function handleDataObjectMethod( + Template $filter, + array $templateVariables, + int $i, + array &$stackArgs + ): void { + if (method_exists($stackArgs[$i - 1]['variable'], $stackArgs[$i]['name']) + || substr($stackArgs[$i]['name'], 0, 3) == 'get' + ) { + $stackArgs[$i]['args'] = $this->getStackArgs( + $stackArgs[$i]['args'], + $filter, + $templateVariables + ); + + $stackArgs[$i]['variable'] = call_user_func_array( + [$stackArgs[$i - 1]['variable'], $stackArgs[$i]['name']], + $stackArgs[$i]['args'] + ); + } + } + + /** + * Handle the calling of an arbitrary object method + * + * @param Template $filter + * @param array $templateVariables + * @param int $i + * @param array $stackArgs + */ + private function handleObjectMethod(Template $filter, array $templateVariables, int $i, array &$stackArgs): void + { + $object = $stackArgs[$i - 1]['variable']; + $method = $stackArgs[$i]['name']; + if (method_exists($object, $method)) { + $args = $this->getStackArgs($stackArgs[$i]['args'], $filter, $templateVariables); + $stackArgs[$i]['variable'] = call_user_func_array([$object, $method], $args); + } + } + + /** + * Return if the given index should be processed for data access + * + * @param int $i + * @param array $stackArgs + * @return bool + */ + private function shouldHandleDataAccess(int $i, array &$stackArgs): bool + { + return isset($stackArgs[$i - 1]['variable']) + && ( + $stackArgs[$i - 1]['variable'] instanceof DataObject + || is_array($stackArgs[$i - 1]['variable']) + ); + } + + /** + * Return if the given index should be processed for object access + * + * @param int $i + * @param array $stackArgs + * @return bool + */ + private function shouldHandleAsObjectAccess(int $i, array &$stackArgs): bool + { + return isset($stackArgs[$i - 1]['variable']) + && is_object($stackArgs[$i - 1]['variable']) + && $stackArgs[$i]['type'] == 'method'; + } + + /** + * Handle the intended access of data at the given stack arg index + * + * @param int $i + * @param Template $filter + * @param array $templateVariables + * @param array $stackArgs + */ + private function handleDataAccess(int $i, Template $filter, array $templateVariables, array &$stackArgs): void + { + // If data object calling methods or getting properties + if ($stackArgs[$i]['type'] == 'property') { + $this->handlePropertyAccess($i, $stackArgs); + } elseif ($stackArgs[$i]['type'] == 'method') { + $this->handleDataObjectMethod($filter, $templateVariables, $i, $stackArgs); + } + } +} diff --git a/lib/internal/Magento/Framework/Filter/VariableResolver/StrategyResolver.php b/lib/internal/Magento/Framework/Filter/VariableResolver/StrategyResolver.php new file mode 100644 index 0000000000000..b4fdb90ab69b0 --- /dev/null +++ b/lib/internal/Magento/Framework/Filter/VariableResolver/StrategyResolver.php @@ -0,0 +1,50 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ + +declare(strict_types=1); + +namespace Magento\Framework\Filter\VariableResolver; + +use Magento\Framework\Filter\Template; +use Magento\Framework\Filter\VariableResolverInterface; + +/** + * Responsible for resolving variables based on the mode of the template + */ +class StrategyResolver implements VariableResolverInterface +{ + /** + * @var LegacyResolver + */ + private $legacyResolver; + + /** + * @var StrictResolver + */ + private $strictResolver; + + /** + * @param LegacyResolver $legacyResolver + * @param StrictResolver $strictResolver + */ + public function __construct(LegacyResolver $legacyResolver, StrictResolver $strictResolver) + { + $this->legacyResolver = $legacyResolver; + $this->strictResolver = $strictResolver; + } + + /** + * @inheritDoc + */ + public function resolve(string $value, Template $filter, array $templateVariables) + { + if ($filter->isStrictMode()) { + return $this->strictResolver->resolve($value, $filter, $templateVariables); + } else { + return $this->legacyResolver->resolve($value, $filter, $templateVariables); + } + } +} diff --git a/lib/internal/Magento/Framework/Filter/VariableResolver/StrictResolver.php b/lib/internal/Magento/Framework/Filter/VariableResolver/StrictResolver.php new file mode 100644 index 0000000000000..4915c6346503b --- /dev/null +++ b/lib/internal/Magento/Framework/Filter/VariableResolver/StrictResolver.php @@ -0,0 +1,171 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ + +declare(strict_types=1); + +namespace Magento\Framework\Filter\VariableResolver; + +use Magento\Email\Model\AbstractTemplate; +use Magento\Framework\DataObject; +use Magento\Framework\Filter\Template; +use Magento\Framework\Filter\Template\Tokenizer\VariableFactory; +use Magento\Framework\Filter\VariableResolverInterface; + +/** + * Resolves variables allowing only scalar values + */ +class StrictResolver implements VariableResolverInterface +{ + /** + * @var VariableFactory + */ + private $variableTokenizerFactory; + + /** + * @param VariableFactory $variableTokenizerFactory + */ + public function __construct(VariableFactory $variableTokenizerFactory) + { + $this->variableTokenizerFactory = $variableTokenizerFactory; + } + + /** + * @inheritDoc + */ + public function resolve(string $value, Template $filter, array $templateVariables) + { + if (empty($value)) { + return null; + } + + $tokenizer = $this->variableTokenizerFactory->create(); + $tokenizer->setString($value); + $stackArgs = $tokenizer->tokenize(); + $result = null; + $last = 0; + for ($i = 0, $count = count($stackArgs); $i < $count; $i++) { + if ($i === 0 && isset($templateVariables[$stackArgs[$i]['name']])) { + // Getting of template value + $stackArgs[$i]['variable'] = &$templateVariables[$stackArgs[$i]['name']]; + } elseif ($this->shouldHandleDataAccess($i, $stackArgs)) { + $this->handleDataAccess($i, $filter, $templateVariables, $stackArgs); + + $last = $i; + } + } + + if (isset($stackArgs[$last]['variable']) + && (is_scalar($stackArgs[$last]['variable']) || is_array($stackArgs[$last]['variable'])) + ) { + // If value for construction exists set it + $result = $stackArgs[$last]['variable']; + } + + return $result; + } + + /** + * Handle variable access at a given index + * + * @param int $i + * @param Template $filter + * @param array $templateVariables + * @param array $stackArgs + */ + private function handleDataAccess(int $i, Template $filter, array $templateVariables, array &$stackArgs): void + { + // If data object calling methods or getting properties + if ($stackArgs[$i]['type'] == 'property') { + if (is_array($stackArgs[$i - 1]['variable'])) { + $stackArgs[$i]['variable'] = $stackArgs[$i - 1]['variable'][$stackArgs[$i]['name']]; + } else { + // Strict mode should not call getter methods except DataObject's getData + $stackArgs[$i]['variable'] = $stackArgs[$i - 1]['variable'] + ->getData($stackArgs[$i]['name']); + } + } elseif ($stackArgs[$i]['type'] == 'method' && substr($stackArgs[$i]['name'], 0, 3) == 'get') { + $this->handleGetterMethod($i, $filter, $templateVariables, $stackArgs); + } + } + + /** + * Handle getter method access at a given stack index + * + * @param int $i + * @param Template $filter + * @param array $templateVariables + * @param array $stackArgs + */ + private function handleGetterMethod(int $i, Template $filter, array $templateVariables, array &$stackArgs): void + { + if ($stackArgs[$i]['name'] === 'getUrl' + && $stackArgs[$i - 1]['variable'] instanceof AbstractTemplate + ) { + $stackArgs[$i]['args'] = $this->getStackArgs( + $stackArgs[$i]['args'], + $filter, + $templateVariables + ); + + $stackArgs[$i]['args'][0] = $templateVariables['store']; + $stackArgs[$i]['variable'] = $stackArgs[$i - 1]['variable']->getUrl( + ...$stackArgs[$i]['args'] + ); + } else { + $dataKey = $this->extractDataKeyFromGetter($stackArgs[$i]['name']); + $stackArgs[$i]['variable'] = $stackArgs[$i - 1]['variable']->getData($dataKey); + } + } + + /** + * Loops over a set of stack args to process variables into array argument values + * + * @param array $stack + * @param Template $filter + * @param array $templateVariables + * @return array + */ + private function getStackArgs($stack, Template $filter, array $templateVariables): array + { + foreach ($stack as $i => $value) { + if (is_array($value)) { + $stack[$i] = $this->getStackArgs($value, $filter, $templateVariables); + } elseif (substr((string)$value, 0, 1) === '$') { + $stack[$i] = $this->resolve(substr($value, 1), $filter, $templateVariables); + } + } + + return $stack; + } + + /** + * Extract the DataObject key name from a getter method name in the same way as DataObject does internally + * + * @param string $method + * @return string + */ + private function extractDataKeyFromGetter(string $method) + { + return strtolower(ltrim(trim(preg_replace('/([A-Z]|[0-9]+)/', '_$1', substr($method, 3))), '_')); + } + + /** + * Return if the given index should be processed for data access + * + * @param int $i + * @param array $stackArgs + * @return bool + */ + private function shouldHandleDataAccess(int $i, array &$stackArgs): bool + { + return isset($stackArgs[$i - 1]['variable']) + && ( + $stackArgs[$i - 1]['variable'] instanceof DataObject + || $stackArgs[$i - 1]['variable'] instanceof AbstractTemplate + || is_array($stackArgs[$i - 1]['variable']) + ); + } +} diff --git a/lib/internal/Magento/Framework/Filter/VariableResolverInterface.php b/lib/internal/Magento/Framework/Filter/VariableResolverInterface.php new file mode 100644 index 0000000000000..486a66f1ec1b0 --- /dev/null +++ b/lib/internal/Magento/Framework/Filter/VariableResolverInterface.php @@ -0,0 +1,25 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ + +declare(strict_types=1); + +namespace Magento\Framework\Filter; + +/** + * Responsible for obtaining the value of variables defined in the template + */ +interface VariableResolverInterface +{ + /** + * Resolve a template variable's value based on some raw input + * + * @param string $value e.g. customer.name or $this.foo() or address.format('html') + * @param Template $filter + * @param array $templateVariables The dataset that is available as variables to the template + * @return string|array|null Should be null if the input cannot be resolved + */ + public function resolve(string $value, Template $filter, array $templateVariables); +} diff --git a/lib/internal/Magento/Framework/HTTP/ClientInterface.php b/lib/internal/Magento/Framework/HTTP/ClientInterface.php index e2e4a89af8fba..3a3aac1546698 100644 --- a/lib/internal/Magento/Framework/HTTP/ClientInterface.php +++ b/lib/internal/Magento/Framework/HTTP/ClientInterface.php @@ -10,6 +10,7 @@ * Interface for HTTP clients * * @api + * @since 100.0.2 */ interface ClientInterface { diff --git a/lib/internal/Magento/Framework/Image/Adapter/Config.php b/lib/internal/Magento/Framework/Image/Adapter/Config.php index 636bbcdcbdb41..64b1297659e67 100644 --- a/lib/internal/Magento/Framework/Image/Adapter/Config.php +++ b/lib/internal/Magento/Framework/Image/Adapter/Config.php @@ -65,7 +65,7 @@ public function getAdapters() * Get Maximum Image Width resolution in pixels. For image resizing on client side. * * @return int - * @deprecated + * @deprecated 102.0.1 * @see \Magento\Backend\Model\Image\UploadResizeConfigInterface::getMaxHeight() */ public function getMaxWidth(): int @@ -77,7 +77,7 @@ public function getMaxWidth(): int * Get Maximum Image Height resolution in pixels. For image resizing on client side. * * @return int - * @deprecated + * @deprecated 102.0.1 * @see \Magento\Backend\Model\Image\UploadResizeConfigInterface::getMaxHeight() */ public function getMaxHeight(): int diff --git a/lib/internal/Magento/Framework/Indexer/Action/Base.php b/lib/internal/Magento/Framework/Indexer/Action/Base.php index 636335192cbc5..b454d49578772 100644 --- a/lib/internal/Magento/Framework/Indexer/Action/Base.php +++ b/lib/internal/Magento/Framework/Indexer/Action/Base.php @@ -37,13 +37,13 @@ class Base implements ActionInterface /** * @var AdapterInterface - * @deprecated 100.2.0 + * @deprecated 101.0.0 */ protected $connection; /** * @var SourceProviderInterface[] - * @deprecated 100.2.0 + * @deprecated 101.0.0 */ protected $sources; @@ -54,7 +54,7 @@ class Base implements ActionInterface /** * @var HandlerInterface[] - * @deprecated 100.2.0 + * @deprecated 101.0.0 */ protected $handlers; @@ -65,7 +65,7 @@ class Base implements ActionInterface /** * @var array - * @deprecated 100.2.0 + * @deprecated 101.0.0 */ protected $columnTypesMap = [ 'varchar' => ['type' => Table::TYPE_TEXT, 'size' => 255], @@ -75,13 +75,13 @@ class Base implements ActionInterface /** * @var array - * @deprecated 100.2.0 + * @deprecated 101.0.0 */ protected $filterColumns; /** * @var array - * @deprecated 100.2.0 + * @deprecated 101.0.0 */ protected $searchColumns; @@ -102,7 +102,7 @@ class Base implements ActionInterface /** * @var String - * @deprecated 100.2.0 + * @deprecated 101.0.0 */ protected $string; @@ -113,13 +113,13 @@ class Base implements ActionInterface /** * @var array - * @deprecated 100.2.0 + * @deprecated 101.0.0 */ protected $filterable = []; /** * @var array - * @deprecated 100.2.0 + * @deprecated 101.0.0 */ protected $searchable = []; @@ -353,7 +353,7 @@ protected function prepareFields() * @param array $field * @return void * - * @deprecated 100.2.0 + * @deprecated 101.0.0 */ protected function saveFieldByType($field) { diff --git a/lib/internal/Magento/Framework/Indexer/ActionInterface.php b/lib/internal/Magento/Framework/Indexer/ActionInterface.php index 68a10e23e1d60..f4e59182c3c51 100644 --- a/lib/internal/Magento/Framework/Indexer/ActionInterface.php +++ b/lib/internal/Magento/Framework/Indexer/ActionInterface.php @@ -7,6 +7,7 @@ /** * @api Implement custom Action Interface + * @since 100.0.2 */ interface ActionInterface { diff --git a/lib/internal/Magento/Framework/Indexer/BatchProviderInterface.php b/lib/internal/Magento/Framework/Indexer/BatchProviderInterface.php index c318638e7e6ab..e8babffbbea78 100644 --- a/lib/internal/Magento/Framework/Indexer/BatchProviderInterface.php +++ b/lib/internal/Magento/Framework/Indexer/BatchProviderInterface.php @@ -15,7 +15,7 @@ * and process them one by one in order to reduce memory consumption and improve overall performance. * * @api retrieve Batches when implementing custom Indexer\Action - * @since 100.2.0 + * @since 101.0.0 */ interface BatchProviderInterface { @@ -27,7 +27,7 @@ interface BatchProviderInterface * @param string $linkField field that is used as a record identifier. * @param int $batchSize size of the single range. * @return \Generator generator that produces entity ID ranges in the format of ['from' => ..., 'to' => ...] - * @since 100.2.0 + * @since 101.0.0 */ public function getBatches(AdapterInterface $adapter, $tableName, $linkField, $batchSize); @@ -38,7 +38,7 @@ public function getBatches(AdapterInterface $adapter, $tableName, $linkField, $b * @param Select $select * @param array $batch * @return array - * @since 100.2.0 + * @since 101.0.0 */ public function getBatchIds(AdapterInterface $connection, Select $select, array $batch); } diff --git a/lib/internal/Magento/Framework/Indexer/BatchSizeManagementInterface.php b/lib/internal/Magento/Framework/Indexer/BatchSizeManagementInterface.php index b953afcd9e7e8..880d6feb3476f 100644 --- a/lib/internal/Magento/Framework/Indexer/BatchSizeManagementInterface.php +++ b/lib/internal/Magento/Framework/Indexer/BatchSizeManagementInterface.php @@ -10,7 +10,7 @@ /** * Batch size manager can be used to ensure that MEMORY table has enough memory for data in batch. * @api - * @since 100.2.0 + * @since 101.0.0 */ interface BatchSizeManagementInterface { @@ -20,7 +20,7 @@ interface BatchSizeManagementInterface * @param AdapterInterface $adapter database adapter. * @param int $batchSize * @return void - * @since 100.2.0 + * @since 101.0.0 */ public function ensureBatchSize(\Magento\Framework\DB\Adapter\AdapterInterface $adapter, $batchSize); } diff --git a/lib/internal/Magento/Framework/Indexer/Config/Converter.php b/lib/internal/Magento/Framework/Indexer/Config/Converter.php index 7f76b6e4295c5..f012f2b6d6101 100644 --- a/lib/internal/Magento/Framework/Indexer/Config/Converter.php +++ b/lib/internal/Magento/Framework/Indexer/Config/Converter.php @@ -238,7 +238,7 @@ protected function convertField(\DOMElement $node, $data) * * @param \DOMNode $node * @return string - * @deprecated 100.2.0 + * @deprecated 101.0.0 */ protected function getTranslatedNodeValue(\DOMNode $node) { diff --git a/lib/internal/Magento/Framework/Indexer/ConfigInterface.php b/lib/internal/Magento/Framework/Indexer/ConfigInterface.php index 1769676e8ab42..14c771b5b69d3 100644 --- a/lib/internal/Magento/Framework/Indexer/ConfigInterface.php +++ b/lib/internal/Magento/Framework/Indexer/ConfigInterface.php @@ -9,6 +9,7 @@ * Indexer(s) configuration * * @api + * @since 100.0.2 */ interface ConfigInterface { diff --git a/lib/internal/Magento/Framework/Indexer/Dimension.php b/lib/internal/Magento/Framework/Indexer/Dimension.php index dacc8d7f524f5..3a484ed17dfdc 100644 --- a/lib/internal/Magento/Framework/Indexer/Dimension.php +++ b/lib/internal/Magento/Framework/Indexer/Dimension.php @@ -11,6 +11,7 @@ * Index Dimension object * * @api + * @since 101.0.6 */ class Dimension { @@ -38,6 +39,7 @@ public function __construct(string $name, string $value) * Get dimension name * * @return string + * @since 101.0.6 */ public function getName(): string { @@ -48,6 +50,7 @@ public function getName(): string * Get dimension value * * @return string + * @since 101.0.6 */ public function getValue(): string { diff --git a/lib/internal/Magento/Framework/Indexer/DimensionFactory.php b/lib/internal/Magento/Framework/Indexer/DimensionFactory.php index 8eaeff5628d60..c5bcab73a1058 100644 --- a/lib/internal/Magento/Framework/Indexer/DimensionFactory.php +++ b/lib/internal/Magento/Framework/Indexer/DimensionFactory.php @@ -13,6 +13,7 @@ * Dimension Factory * * @api + * @since 101.0.6 */ class DimensionFactory { @@ -33,6 +34,7 @@ public function __construct(ObjectManagerInterface $objectManager) * @param string $name * @param string $value * @return Dimension + * @since 101.0.6 */ public function create(string $name, string $value): Dimension { diff --git a/lib/internal/Magento/Framework/Indexer/DimensionProviderInterface.php b/lib/internal/Magento/Framework/Indexer/DimensionProviderInterface.php index ea4f56eb48d41..bd53fc36d3b44 100644 --- a/lib/internal/Magento/Framework/Indexer/DimensionProviderInterface.php +++ b/lib/internal/Magento/Framework/Indexer/DimensionProviderInterface.php @@ -10,12 +10,14 @@ /** * @api * Provide a list of dimensions + * @since 101.0.6 */ interface DimensionProviderInterface extends \IteratorAggregate { /** * Get Dimension Iterator. Returns yielded value of \Magento\Framework\Indexer\Dimension * @return \Traversable|\Magento\Framework\Indexer\Dimension[] + * @since 101.0.6 */ public function getIterator(): \Traversable; } diff --git a/lib/internal/Magento/Framework/Indexer/DimensionalIndexerInterface.php b/lib/internal/Magento/Framework/Indexer/DimensionalIndexerInterface.php index 43c4e7a7fd70b..acf1d598e89c5 100644 --- a/lib/internal/Magento/Framework/Indexer/DimensionalIndexerInterface.php +++ b/lib/internal/Magento/Framework/Indexer/DimensionalIndexerInterface.php @@ -10,6 +10,7 @@ /** * @api * Run indexer by dimensions + * @since 101.0.6 */ interface DimensionalIndexerInterface { @@ -20,6 +21,7 @@ interface DimensionalIndexerInterface * @param \Magento\Framework\Indexer\Dimension[] $dimensions * @param \Traversable $entityIds * @return void + * @since 101.0.6 */ public function executeByDimensions(array $dimensions, \Traversable $entityIds); } diff --git a/lib/internal/Magento/Framework/Indexer/FieldsetInterface.php b/lib/internal/Magento/Framework/Indexer/FieldsetInterface.php index 0ce1e8763ac96..85c5f698e1bb8 100644 --- a/lib/internal/Magento/Framework/Indexer/FieldsetInterface.php +++ b/lib/internal/Magento/Framework/Indexer/FieldsetInterface.php @@ -7,6 +7,7 @@ /** * @api Implement custom Fieldset + * @since 100.0.2 */ interface FieldsetInterface { diff --git a/lib/internal/Magento/Framework/Indexer/FieldsetPool.php b/lib/internal/Magento/Framework/Indexer/FieldsetPool.php index 747db5d2cc00f..742e15f1f43bf 100644 --- a/lib/internal/Magento/Framework/Indexer/FieldsetPool.php +++ b/lib/internal/Magento/Framework/Indexer/FieldsetPool.php @@ -9,6 +9,7 @@ /** * @api Retrieve Fieldset when implementing custom Indexer\Action + * @since 100.0.2 */ class FieldsetPool { diff --git a/lib/internal/Magento/Framework/Indexer/HandlerInterface.php b/lib/internal/Magento/Framework/Indexer/HandlerInterface.php index 5c1e9ea5a2569..8bb725a293f0c 100644 --- a/lib/internal/Magento/Framework/Indexer/HandlerInterface.php +++ b/lib/internal/Magento/Framework/Indexer/HandlerInterface.php @@ -9,6 +9,7 @@ /** * @api Implement custom Handler + * @since 100.0.2 */ interface HandlerInterface { diff --git a/lib/internal/Magento/Framework/Indexer/HandlerPool.php b/lib/internal/Magento/Framework/Indexer/HandlerPool.php index ed7abf19bad47..c4e3fdb0e7c2f 100644 --- a/lib/internal/Magento/Framework/Indexer/HandlerPool.php +++ b/lib/internal/Magento/Framework/Indexer/HandlerPool.php @@ -10,6 +10,7 @@ /** * @api Instantiate save handler when implementing custom Indexer\Action + * @since 100.0.2 */ class HandlerPool { diff --git a/lib/internal/Magento/Framework/Indexer/IndexStructure.php b/lib/internal/Magento/Framework/Indexer/IndexStructure.php index a39de2d5b8a62..2fd5bfa0bd955 100644 --- a/lib/internal/Magento/Framework/Indexer/IndexStructure.php +++ b/lib/internal/Magento/Framework/Indexer/IndexStructure.php @@ -16,7 +16,7 @@ /** * Full text search index structure. * - * @deprecated + * @deprecated 102.0.0 * @see \Magento\ElasticSearch */ class IndexStructure implements IndexStructureInterface diff --git a/lib/internal/Magento/Framework/Indexer/IndexStructureInterface.php b/lib/internal/Magento/Framework/Indexer/IndexStructureInterface.php index f4c518bdfea7a..f8cc53d676af8 100644 --- a/lib/internal/Magento/Framework/Indexer/IndexStructureInterface.php +++ b/lib/internal/Magento/Framework/Indexer/IndexStructureInterface.php @@ -11,6 +11,7 @@ * Indexer structure (schema) handler * * @api + * @since 100.0.2 */ interface IndexStructureInterface { diff --git a/lib/internal/Magento/Framework/Indexer/IndexTableRowSizeEstimatorInterface.php b/lib/internal/Magento/Framework/Indexer/IndexTableRowSizeEstimatorInterface.php index a0a8fcf18146f..537b144df9dd2 100644 --- a/lib/internal/Magento/Framework/Indexer/IndexTableRowSizeEstimatorInterface.php +++ b/lib/internal/Magento/Framework/Indexer/IndexTableRowSizeEstimatorInterface.php @@ -9,7 +9,7 @@ /** * Calculate memory size for entity according different dimensions. * @api - * @since 100.2.0 + * @since 101.0.0 */ interface IndexTableRowSizeEstimatorInterface { @@ -17,7 +17,7 @@ interface IndexTableRowSizeEstimatorInterface * Calculate memory size for entity row. * * @return float - * @since 100.2.0 + * @since 101.0.0 */ public function estimateRowSize(); } diff --git a/lib/internal/Magento/Framework/Indexer/IndexerInterface.php b/lib/internal/Magento/Framework/Indexer/IndexerInterface.php index bf572b94ccc94..597266a05fd3f 100644 --- a/lib/internal/Magento/Framework/Indexer/IndexerInterface.php +++ b/lib/internal/Magento/Framework/Indexer/IndexerInterface.php @@ -9,8 +9,9 @@ * Indexer * * @api - * @deprecated Facade will be split + * @deprecated 102.0.0 Facade will be split * @see \Magento\Framework\Indexer\ActionInterface + * @since 100.0.2 */ interface IndexerInterface { @@ -163,7 +164,7 @@ public function getLatestUpdated(); * * @return void * @throws \Exception - * @deprecated + * @deprecated 102.0.0 * @see \Magento\Framework\Indexer\ActionInterface::executeFull */ public function reindexAll(); @@ -173,7 +174,7 @@ public function reindexAll(); * * @param int $id * @return void - * @deprecated + * @deprecated 102.0.0 * @see \Magento\Framework\Indexer\ActionInterface::executeList */ public function reindexRow($id); @@ -183,7 +184,7 @@ public function reindexRow($id); * * @param int[] $ids * @return void - * @deprecated + * @deprecated 102.0.0 * @see \Magento\Framework\Indexer\ActionInterface::executeList */ public function reindexList($ids); diff --git a/lib/internal/Magento/Framework/Indexer/IndexerRegistry.php b/lib/internal/Magento/Framework/Indexer/IndexerRegistry.php index 5867565e0ccd5..bdc8479671f2e 100644 --- a/lib/internal/Magento/Framework/Indexer/IndexerRegistry.php +++ b/lib/internal/Magento/Framework/Indexer/IndexerRegistry.php @@ -7,6 +7,7 @@ /** * @api Retrieve indexer by id, for example when indexer need to be invalidated + * @since 100.0.2 */ class IndexerRegistry { diff --git a/lib/internal/Magento/Framework/Indexer/SaveHandler/IndexerInterface.php b/lib/internal/Magento/Framework/Indexer/SaveHandler/IndexerInterface.php index e03404d3eb8f6..a3111f9966ee2 100644 --- a/lib/internal/Magento/Framework/Indexer/SaveHandler/IndexerInterface.php +++ b/lib/internal/Magento/Framework/Indexer/SaveHandler/IndexerInterface.php @@ -15,6 +15,7 @@ * Indexer persistence handler * * @api + * @since 100.0.2 */ interface IndexerInterface { diff --git a/lib/internal/Magento/Framework/Indexer/SaveHandlerFactory.php b/lib/internal/Magento/Framework/Indexer/SaveHandlerFactory.php index 80231dd7aa290..9e1ee9a375e36 100644 --- a/lib/internal/Magento/Framework/Indexer/SaveHandlerFactory.php +++ b/lib/internal/Magento/Framework/Indexer/SaveHandlerFactory.php @@ -10,6 +10,7 @@ /** * @api Instantiate save handler when implementing custom Indexer\Action + * @since 100.0.2 */ class SaveHandlerFactory { diff --git a/lib/internal/Magento/Framework/Indexer/StateInterface.php b/lib/internal/Magento/Framework/Indexer/StateInterface.php index 124b8ab50b4b8..332b3227ffc88 100644 --- a/lib/internal/Magento/Framework/Indexer/StateInterface.php +++ b/lib/internal/Magento/Framework/Indexer/StateInterface.php @@ -7,6 +7,7 @@ /** * @api Retrieve status of the Indexer + * @since 100.0.2 */ interface StateInterface { diff --git a/lib/internal/Magento/Framework/Interception/Config/Config.php b/lib/internal/Magento/Framework/Interception/Config/Config.php index 3f16e9275bd08..0a055b87d1269 100644 --- a/lib/internal/Magento/Framework/Interception/Config/Config.php +++ b/lib/internal/Magento/Framework/Interception/Config/Config.php @@ -37,7 +37,7 @@ class Config implements \Magento\Framework\Interception\ConfigInterface /** * Cache - * @deprecated + * @deprecated 102.0.1 * @var \Magento\Framework\Cache\FrontendInterface */ protected $_cache; diff --git a/lib/internal/Magento/Framework/Interception/PluginList/PluginList.php b/lib/internal/Magento/Framework/Interception/PluginList/PluginList.php index a4f728454a524..09a15beae251e 100644 --- a/lib/internal/Magento/Framework/Interception/PluginList/PluginList.php +++ b/lib/internal/Magento/Framework/Interception/PluginList/PluginList.php @@ -389,7 +389,7 @@ private function filterPlugins(array &$plugins) * Get logger * * @return \Psr\Log\LoggerInterface - * @deprecated 100.2.0 + * @deprecated 101.0.0 */ private function getLogger() { diff --git a/lib/internal/Magento/Framework/Json/Decoder.php b/lib/internal/Magento/Framework/Json/Decoder.php index 57e160cac7bbf..fbc99a036daa9 100644 --- a/lib/internal/Magento/Framework/Json/Decoder.php +++ b/lib/internal/Magento/Framework/Json/Decoder.php @@ -6,7 +6,7 @@ namespace Magento\Framework\Json; /** - * @deprecated 100.2.0 @see \Magento\Framework\Serialize\Serializer\Json::unserialize + * @deprecated 101.0.0 @see \Magento\Framework\Serialize\Serializer\Json::unserialize */ class Decoder implements DecoderInterface { diff --git a/lib/internal/Magento/Framework/Json/DecoderInterface.php b/lib/internal/Magento/Framework/Json/DecoderInterface.php index 9aa630fd9ca0c..baef2154ea618 100644 --- a/lib/internal/Magento/Framework/Json/DecoderInterface.php +++ b/lib/internal/Magento/Framework/Json/DecoderInterface.php @@ -10,7 +10,8 @@ * * @api * - * @deprecated 100.2.0 @see \Magento\Framework\Serialize\Serializer\Json::unserialize + * @deprecated 101.0.0 @see \Magento\Framework\Serialize\Serializer\Json::unserialize + * @since 100.0.2 */ interface DecoderInterface { diff --git a/lib/internal/Magento/Framework/Json/Encoder.php b/lib/internal/Magento/Framework/Json/Encoder.php index 35d259781d67a..0c53edeb6ae00 100644 --- a/lib/internal/Magento/Framework/Json/Encoder.php +++ b/lib/internal/Magento/Framework/Json/Encoder.php @@ -6,7 +6,7 @@ namespace Magento\Framework\Json; /** - * @deprecated 100.2.0 @see \Magento\Framework\Serialize\Serializer\Json::serialize + * @deprecated 101.0.0 @see \Magento\Framework\Serialize\Serializer\Json::serialize */ class Encoder implements EncoderInterface { diff --git a/lib/internal/Magento/Framework/Json/EncoderInterface.php b/lib/internal/Magento/Framework/Json/EncoderInterface.php index 9fb720d11fea3..59ea0f47d556c 100644 --- a/lib/internal/Magento/Framework/Json/EncoderInterface.php +++ b/lib/internal/Magento/Framework/Json/EncoderInterface.php @@ -10,7 +10,8 @@ * * @api * - * @deprecated 100.2.0 @see \Magento\Framework\Serialize\Serializer\Json::serialize + * @deprecated 101.0.0 @see \Magento\Framework\Serialize\Serializer\Json::serialize + * @since 100.0.2 */ interface EncoderInterface { diff --git a/lib/internal/Magento/Framework/Json/Helper/Data.php b/lib/internal/Magento/Framework/Json/Helper/Data.php index 67589d00eb99d..a1f2e01a2e92e 100644 --- a/lib/internal/Magento/Framework/Json/Helper/Data.php +++ b/lib/internal/Magento/Framework/Json/Helper/Data.php @@ -8,7 +8,7 @@ /** * Json data helper * - * @deprecated 100.2.0 @see \Magento\Framework\Serialize\Serializer\Json + * @deprecated 101.0.0 @see \Magento\Framework\Serialize\Serializer\Json */ class Data extends \Magento\Framework\App\Helper\AbstractHelper { diff --git a/lib/internal/Magento/Framework/Locale/ConfigInterface.php b/lib/internal/Magento/Framework/Locale/ConfigInterface.php index e5f8bc00e5466..a4ee02c323b19 100644 --- a/lib/internal/Magento/Framework/Locale/ConfigInterface.php +++ b/lib/internal/Magento/Framework/Locale/ConfigInterface.php @@ -9,6 +9,7 @@ * Provides access to locale-related config information * * @api + * @since 100.0.2 */ interface ConfigInterface { diff --git a/lib/internal/Magento/Framework/Locale/CurrencyInterface.php b/lib/internal/Magento/Framework/Locale/CurrencyInterface.php index e52ac551f54ec..e36a905a6c473 100644 --- a/lib/internal/Magento/Framework/Locale/CurrencyInterface.php +++ b/lib/internal/Magento/Framework/Locale/CurrencyInterface.php @@ -9,6 +9,7 @@ * Provides access to currency config information * * @api + * @since 100.0.2 */ interface CurrencyInterface { diff --git a/lib/internal/Magento/Framework/Locale/FormatInterface.php b/lib/internal/Magento/Framework/Locale/FormatInterface.php index 1312c8841c23b..1a15b2610be54 100644 --- a/lib/internal/Magento/Framework/Locale/FormatInterface.php +++ b/lib/internal/Magento/Framework/Locale/FormatInterface.php @@ -7,6 +7,7 @@ /** * @api + * @since 100.0.2 */ interface FormatInterface { diff --git a/lib/internal/Magento/Framework/Locale/ListsInterface.php b/lib/internal/Magento/Framework/Locale/ListsInterface.php index 22e9bf00ebce7..c7d509e20546a 100644 --- a/lib/internal/Magento/Framework/Locale/ListsInterface.php +++ b/lib/internal/Magento/Framework/Locale/ListsInterface.php @@ -7,6 +7,7 @@ /** * @api + * @since 100.0.2 */ interface ListsInterface extends OptionInterface { diff --git a/lib/internal/Magento/Framework/Locale/ResolverInterface.php b/lib/internal/Magento/Framework/Locale/ResolverInterface.php index 22ec8fb70304c..70d397ddf3cc1 100644 --- a/lib/internal/Magento/Framework/Locale/ResolverInterface.php +++ b/lib/internal/Magento/Framework/Locale/ResolverInterface.php @@ -9,6 +9,7 @@ * Manages locale config information * * @api + * @since 100.0.2 */ interface ResolverInterface { diff --git a/lib/internal/Magento/Framework/Lock/LockManagerInterface.php b/lib/internal/Magento/Framework/Lock/LockManagerInterface.php index 76cc8506eb182..81f721fac9036 100644 --- a/lib/internal/Magento/Framework/Lock/LockManagerInterface.php +++ b/lib/internal/Magento/Framework/Lock/LockManagerInterface.php @@ -11,6 +11,7 @@ * Interface of a lock manager * * @api + * @since 101.0.5 */ interface LockManagerInterface { @@ -21,6 +22,7 @@ interface LockManagerInterface * @param int $timeout How long to wait lock acquisition in seconds, negative value means infinite timeout * @return bool * @api + * @since 101.0.5 */ public function lock(string $name, int $timeout = -1): bool; @@ -30,6 +32,7 @@ public function lock(string $name, int $timeout = -1): bool; * @param string $name lock name * @return bool * @api + * @since 101.0.5 */ public function unlock(string $name): bool; @@ -39,6 +42,7 @@ public function unlock(string $name): bool; * @param string $name lock name * @return bool * @api + * @since 101.0.5 */ public function isLocked(string $name): bool; } diff --git a/lib/internal/Magento/Framework/Mail/EmailMessage.php b/lib/internal/Magento/Framework/Mail/EmailMessage.php index aaef97507518e..02c75977cd093 100644 --- a/lib/internal/Magento/Framework/Mail/EmailMessage.php +++ b/lib/internal/Magento/Framework/Mail/EmailMessage.php @@ -10,19 +10,13 @@ use Magento\Framework\Mail\Exception\InvalidArgumentException; use Zend\Mail\Address as ZendAddress; use Zend\Mail\AddressList; -use Zend\Mail\Message as ZendMessage; use Zend\Mime\Message as ZendMimeMessage; /** - * Class EmailMessage + * Email message */ -class EmailMessage implements EmailMessageInterface +class EmailMessage extends Message implements EmailMessageInterface { - /** - * @var ZendMessage - */ - private $message; - /** * @var MimeMessageInterfaceFactory */ @@ -64,38 +58,35 @@ public function __construct( ?array $replyTo = null, ?Address $sender = null, ?string $subject = '', - ?string $encoding = '' + ?string $encoding = 'utf-8' ) { - $this->message = new ZendMessage(); + parent::__construct($encoding); $mimeMessage = new ZendMimeMessage(); $mimeMessage->setParts($body->getParts()); - $this->message->setBody($mimeMessage); - if ($encoding) { - $this->message->setEncoding($encoding); - } + $this->zendMessage->setBody($mimeMessage); if ($subject) { - $this->message->setSubject($subject); + $this->zendMessage->setSubject($subject); } if ($sender) { - $this->message->setSender($sender->getEmail(), $sender->getName()); + $this->zendMessage->setSender($sender->getEmail(), $sender->getName()); } if (count($to) < 1) { throw new InvalidArgumentException('Email message must have at list one addressee'); } if ($to) { - $this->message->setTo($this->convertAddressArrayToAddressList($to)); + $this->zendMessage->setTo($this->convertAddressArrayToAddressList($to)); } if ($replyTo) { - $this->message->setReplyTo($this->convertAddressArrayToAddressList($replyTo)); + $this->zendMessage->setReplyTo($this->convertAddressArrayToAddressList($replyTo)); } if ($from) { - $this->message->setFrom($this->convertAddressArrayToAddressList($from)); + $this->zendMessage->setFrom($this->convertAddressArrayToAddressList($from)); } if ($cc) { - $this->message->setCc($this->convertAddressArrayToAddressList($cc)); + $this->zendMessage->setCc($this->convertAddressArrayToAddressList($cc)); } if ($bcc) { - $this->message->setBcc($this->convertAddressArrayToAddressList($bcc)); + $this->zendMessage->setBcc($this->convertAddressArrayToAddressList($bcc)); } $this->mimeMessageFactory = $mimeMessageFactory; $this->addressFactory = $addressFactory; @@ -106,7 +97,7 @@ public function __construct( */ public function getEncoding(): string { - return $this->message->getEncoding(); + return $this->zendMessage->getEncoding(); } /** @@ -114,7 +105,7 @@ public function getEncoding(): string */ public function getHeaders(): array { - return $this->message->getHeaders()->toArray(); + return $this->zendMessage->getHeaders()->toArray(); } /** @@ -122,7 +113,7 @@ public function getHeaders(): array */ public function getFrom(): ?array { - return $this->convertAddressListToAddressArray($this->message->getFrom()); + return $this->convertAddressListToAddressArray($this->zendMessage->getFrom()); } /** @@ -130,7 +121,7 @@ public function getFrom(): ?array */ public function getTo(): array { - return $this->convertAddressListToAddressArray($this->message->getTo()); + return $this->convertAddressListToAddressArray($this->zendMessage->getTo()); } /** @@ -138,7 +129,7 @@ public function getTo(): array */ public function getCc(): ?array { - return $this->convertAddressListToAddressArray($this->message->getCc()); + return $this->convertAddressListToAddressArray($this->zendMessage->getCc()); } /** @@ -146,7 +137,7 @@ public function getCc(): ?array */ public function getBcc(): ?array { - return $this->convertAddressListToAddressArray($this->message->getBcc()); + return $this->convertAddressListToAddressArray($this->zendMessage->getBcc()); } /** @@ -154,7 +145,7 @@ public function getBcc(): ?array */ public function getReplyTo(): ?array { - return $this->convertAddressListToAddressArray($this->message->getReplyTo()); + return $this->convertAddressListToAddressArray($this->zendMessage->getReplyTo()); } /** @@ -163,7 +154,7 @@ public function getReplyTo(): ?array public function getSender(): ?Address { /** @var ZendAddress $zendSender */ - if (!$zendSender = $this->message->getSender()) { + if (!$zendSender = $this->zendMessage->getSender()) { return null; } @@ -178,18 +169,10 @@ public function getSender(): ?Address /** * @inheritDoc */ - public function getSubject(): ?string - { - return $this->message->getSubject(); - } - - /** - * @inheritDoc - */ - public function getBody(): MimeMessageInterface + public function getMessageBody(): MimeMessageInterface { return $this->mimeMessageFactory->create( - ['parts' => $this->message->getBody()->getParts()] + ['parts' => $this->zendMessage->getBody()->getParts()] ); } @@ -198,15 +181,7 @@ public function getBody(): MimeMessageInterface */ public function getBodyText(): string { - return $this->message->getBodyText(); - } - - /** - * @inheritdoc - */ - public function getRawMessage(): string - { - return $this->toString(); + return $this->zendMessage->getBodyText(); } /** @@ -214,7 +189,7 @@ public function getRawMessage(): string */ public function toString(): string { - return $this->message->toString(); + return $this->zendMessage->toString(); } /** diff --git a/lib/internal/Magento/Framework/Mail/EmailMessageInterface.php b/lib/internal/Magento/Framework/Mail/EmailMessageInterface.php index 95f83ff679cd6..93eaa4acde3a4 100644 --- a/lib/internal/Magento/Framework/Mail/EmailMessageInterface.php +++ b/lib/internal/Magento/Framework/Mail/EmailMessageInterface.php @@ -9,7 +9,7 @@ /** * Interface EmailMessageInterface */ -interface EmailMessageInterface +interface EmailMessageInterface extends MailMessageInterface { /** * Get the message encoding @@ -72,14 +72,14 @@ public function getSender(): ?Address; * * @return null|string */ - public function getSubject(): ?string; + public function getSubject(); /** * Return the currently set message body * * @return MimeMessageInterface */ - public function getBody(): MimeMessageInterface; + public function getMessageBody(): MimeMessageInterface; /** * Get the string-serialized message body text diff --git a/lib/internal/Magento/Framework/Mail/MailMessageInterface.php b/lib/internal/Magento/Framework/Mail/MailMessageInterface.php index da010be270255..99279d9d741c0 100644 --- a/lib/internal/Magento/Framework/Mail/MailMessageInterface.php +++ b/lib/internal/Magento/Framework/Mail/MailMessageInterface.php @@ -9,6 +9,9 @@ * Mail Message interface * * @api + * @deprecated 102.0.3 + * @see \Magento\Framework\Mail\EmailMessageInterface + * @since 101.0.8 */ interface MailMessageInterface extends MessageInterface { @@ -17,6 +20,7 @@ interface MailMessageInterface extends MessageInterface * * @param string $html * @return $this + * @since 101.0.8 */ public function setBodyHtml($html); @@ -25,6 +29,7 @@ public function setBodyHtml($html); * * @param string $text * @return $this + * @since 101.0.8 */ public function setBodyText($text); @@ -32,6 +37,7 @@ public function setBodyText($text); * Get message source code. * * @return string + * @since 101.0.8 */ public function getRawMessage(); } diff --git a/lib/internal/Magento/Framework/Mail/Message.php b/lib/internal/Magento/Framework/Mail/Message.php index b15b75ca9ac63..8df157f44e226 100644 --- a/lib/internal/Magento/Framework/Mail/Message.php +++ b/lib/internal/Magento/Framework/Mail/Message.php @@ -10,13 +10,16 @@ /** * Class Message for email transportation + * + * @deprecated 102.0.3 + * @see \Magento\Framework\Mail\EmailMessage */ class Message implements MailMessageInterface { /** * @var \Zend\Mail\Message */ - private $zendMessage; + protected $zendMessage; /** * Message type @@ -39,7 +42,7 @@ public function __construct($charset = 'utf-8') /** * @inheritdoc * - * @deprecated + * @deprecated 101.0.8 * @see \Magento\Framework\Mail\Message::setBodyText * @see \Magento\Framework\Mail\Message::setBodyHtml */ @@ -52,7 +55,7 @@ public function setMessageType($type) /** * @inheritdoc * - * @deprecated + * @deprecated 101.0.8 * @see \Magento\Framework\Mail\Message::setBodyText * @see \Magento\Framework\Mail\Message::setBodyHtml */ @@ -93,7 +96,7 @@ public function getBody() /** * @inheritdoc * - * @deprecated This function is missing the from name. The + * @deprecated 102.0.1 This function is missing the from name. The * setFromAddress() function sets both from address and from name. * @see setFromAddress() */ diff --git a/lib/internal/Magento/Framework/Mail/MessageInterface.php b/lib/internal/Magento/Framework/Mail/MessageInterface.php index c0d3afed81e39..904c723e8bf08 100644 --- a/lib/internal/Magento/Framework/Mail/MessageInterface.php +++ b/lib/internal/Magento/Framework/Mail/MessageInterface.php @@ -9,8 +9,9 @@ * Mail Message interface * * @api - * @deprecated in favor of MailMessageInterface to avoid temporal coupling (setMessageType + setBody) + * @deprecated 102.0.0 in favor of MailMessageInterface to avoid temporal coupling (setMessageType + setBody) * @see \Magento\Framework\Mail\MailMessageInterface + * @since 100.0.2 */ interface MessageInterface { @@ -46,7 +47,7 @@ public function getSubject(); * @param mixed $body * @return $this * - * @deprecated + * @deprecated 102.0.0 * @see \Magento\Framework\Mail\MailMessageInterface::setBodyHtml * @see \Magento\Framework\Mail\MailMessageInterface::setBodyText() */ @@ -105,7 +106,7 @@ public function setReplyTo($replyToAddress); * @param string $type * @return $this * - * @deprecated + * @deprecated 102.0.0 * @see \Magento\Framework\Mail\MailMessageInterface::setBodyHtml * @see \Magento\Framework\Mail\MailMessageInterface::getBodyHtml * @see \Magento\Framework\Mail\MailMessageInterface::setBodyText() diff --git a/lib/internal/Magento/Framework/Mail/Template/ConfigInterface.php b/lib/internal/Magento/Framework/Mail/Template/ConfigInterface.php index b4e6cb46045fe..bac90dcbae5e0 100644 --- a/lib/internal/Magento/Framework/Mail/Template/ConfigInterface.php +++ b/lib/internal/Magento/Framework/Mail/Template/ConfigInterface.php @@ -9,6 +9,7 @@ * High-level interface for mail templates data that hides format from the client code * * @api + * @since 100.0.2 */ interface ConfigInterface { diff --git a/lib/internal/Magento/Framework/Mail/Template/FactoryInterface.php b/lib/internal/Magento/Framework/Mail/Template/FactoryInterface.php index 4e88a9897e4a2..2c0f99e4ac1f1 100644 --- a/lib/internal/Magento/Framework/Mail/Template/FactoryInterface.php +++ b/lib/internal/Magento/Framework/Mail/Template/FactoryInterface.php @@ -9,6 +9,7 @@ * Mail Template Factory interface * * @api + * @since 100.0.2 */ interface FactoryInterface { diff --git a/lib/internal/Magento/Framework/Mail/Template/SenderResolverInterface.php b/lib/internal/Magento/Framework/Mail/Template/SenderResolverInterface.php index 89fcb7478bdf5..f283fe54819ac 100644 --- a/lib/internal/Magento/Framework/Mail/Template/SenderResolverInterface.php +++ b/lib/internal/Magento/Framework/Mail/Template/SenderResolverInterface.php @@ -9,6 +9,7 @@ * Mail Sender Resolver interface * * @api + * @since 100.0.2 */ interface SenderResolverInterface { diff --git a/lib/internal/Magento/Framework/Mail/Template/TransportBuilder.php b/lib/internal/Magento/Framework/Mail/Template/TransportBuilder.php index 4a8d6572faaf8..9eef8eb60199c 100644 --- a/lib/internal/Magento/Framework/Mail/Template/TransportBuilder.php +++ b/lib/internal/Magento/Framework/Mail/Template/TransportBuilder.php @@ -32,6 +32,7 @@ * * @api * @SuppressWarnings(PHPMD.CouplingBetweenObjects) + * @since 100.0.2 */ class TransportBuilder { @@ -87,7 +88,7 @@ class TransportBuilder /** * Message * - * @var EmailMessageInterface + * @var MessageInterface */ protected $message; @@ -243,7 +244,7 @@ public function setReplyTo($email, $name = null) * @throws InvalidArgumentException * @see setFromByScope() * - * @deprecated This function sets the from address but does not provide + * @deprecated 102.0.1 This function sets the from address but does not provide * a way of setting the correct from addresses based on the scope. */ public function setFrom($from) @@ -260,6 +261,7 @@ public function setFrom($from) * @return $this * @throws InvalidArgumentException * @throws MailException + * @since 102.0.1 */ public function setFromByScope($from, $scopeId = null) { diff --git a/lib/internal/Magento/Framework/Mail/Template/TransportBuilderByStore.php b/lib/internal/Magento/Framework/Mail/Template/TransportBuilderByStore.php index 85b1b181d4f9e..416fbb1ecb1dd 100644 --- a/lib/internal/Magento/Framework/Mail/Template/TransportBuilderByStore.php +++ b/lib/internal/Magento/Framework/Mail/Template/TransportBuilderByStore.php @@ -11,7 +11,7 @@ /** * Class TransportBuilderByStore * - * @deprecated The ability to set From address based on store is now available + * @deprecated 102.0.1 The ability to set From address based on store is now available * in the \Magento\Framework\Mail\Template\TransportBuilder class * @see \Magento\Framework\Mail\Template\TransportBuilder::setFromByStore */ diff --git a/lib/internal/Magento/Framework/Mail/TemplateInterface.php b/lib/internal/Magento/Framework/Mail/TemplateInterface.php index ad13772876ea1..b1062aec92bee 100644 --- a/lib/internal/Magento/Framework/Mail/TemplateInterface.php +++ b/lib/internal/Magento/Framework/Mail/TemplateInterface.php @@ -9,6 +9,7 @@ * Mail Template interface * * @api + * @since 100.0.2 */ interface TemplateInterface extends \Magento\Framework\App\TemplateTypesInterface { diff --git a/lib/internal/Magento/Framework/Mail/TransportInterface.php b/lib/internal/Magento/Framework/Mail/TransportInterface.php index cccfad885838e..dd65439243ba3 100644 --- a/lib/internal/Magento/Framework/Mail/TransportInterface.php +++ b/lib/internal/Magento/Framework/Mail/TransportInterface.php @@ -9,6 +9,7 @@ * Mail Transport interface * * @api + * @since 100.0.2 */ interface TransportInterface { @@ -24,7 +25,7 @@ public function sendMessage(); * Get message * * @return \Magento\Framework\Mail\MessageInterface - * @since 100.2.0 + * @since 101.0.0 */ public function getMessage(); } diff --git a/lib/internal/Magento/Framework/Math/Calculator.php b/lib/internal/Magento/Framework/Math/Calculator.php index c09f90d4be4da..a8971f964a668 100644 --- a/lib/internal/Magento/Framework/Math/Calculator.php +++ b/lib/internal/Magento/Framework/Math/Calculator.php @@ -9,6 +9,7 @@ * Calculations Library * * @api + * @since 100.0.2 */ class Calculator { diff --git a/lib/internal/Magento/Framework/Math/Division.php b/lib/internal/Magento/Framework/Math/Division.php index 820a11b80dea9..c69bc4379e77f 100644 --- a/lib/internal/Magento/Framework/Math/Division.php +++ b/lib/internal/Magento/Framework/Math/Division.php @@ -9,6 +9,7 @@ * Division library * * @api + * @since 100.0.2 */ class Division { diff --git a/lib/internal/Magento/Framework/Math/FloatComparator.php b/lib/internal/Magento/Framework/Math/FloatComparator.php index 4053404369956..affec441e89fd 100644 --- a/lib/internal/Magento/Framework/Math/FloatComparator.php +++ b/lib/internal/Magento/Framework/Math/FloatComparator.php @@ -11,6 +11,7 @@ * Contains methods to compare float digits. * * @api + * @since 101.0.6 */ class FloatComparator { @@ -27,6 +28,7 @@ class FloatComparator * @param float $a * @param float $b * @return bool + * @since 101.0.6 */ public function equal(float $a, float $b): bool { @@ -39,6 +41,7 @@ public function equal(float $a, float $b): bool * @param float $a * @param float $b * @return bool + * @since 101.0.6 */ public function greaterThan(float $a, float $b): bool { @@ -51,6 +54,7 @@ public function greaterThan(float $a, float $b): bool * @param float $a * @param float $b * @return bool + * @since 101.0.6 */ public function greaterThanOrEqual(float $a, float $b): bool { diff --git a/lib/internal/Magento/Framework/Math/Random.php b/lib/internal/Magento/Framework/Math/Random.php index c2059e1935a80..8adb602e00479 100644 --- a/lib/internal/Magento/Framework/Math/Random.php +++ b/lib/internal/Magento/Framework/Math/Random.php @@ -12,6 +12,7 @@ * Random data generator * * @api + * @since 100.0.2 */ class Random { diff --git a/lib/internal/Magento/Framework/Message/AbstractMessage.php b/lib/internal/Magento/Framework/Message/AbstractMessage.php index 85789bca9047c..c7f0b283d1dd9 100644 --- a/lib/internal/Magento/Framework/Message/AbstractMessage.php +++ b/lib/internal/Magento/Framework/Message/AbstractMessage.php @@ -9,6 +9,7 @@ * Abstract message model * * @api + * @since 100.0.2 */ abstract class AbstractMessage implements MessageInterface { diff --git a/lib/internal/Magento/Framework/Message/Collection.php b/lib/internal/Magento/Framework/Message/Collection.php index 32e84fc28f5a0..dfcb06dd6f291 100644 --- a/lib/internal/Magento/Framework/Message/Collection.php +++ b/lib/internal/Magento/Framework/Message/Collection.php @@ -9,6 +9,7 @@ * Messages collection * * @api + * @since 100.0.2 */ class Collection { diff --git a/lib/internal/Magento/Framework/Message/ManagerInterface.php b/lib/internal/Magento/Framework/Message/ManagerInterface.php index 360444fa897ac..29063a4deecbd 100644 --- a/lib/internal/Magento/Framework/Message/ManagerInterface.php +++ b/lib/internal/Magento/Framework/Message/ManagerInterface.php @@ -9,6 +9,7 @@ * Adds different types of messages to the session, and allows access to existing messages. * * @api + * @since 100.0.2 */ interface ManagerInterface { diff --git a/lib/internal/Magento/Framework/Message/MessageInterface.php b/lib/internal/Magento/Framework/Message/MessageInterface.php index 2dad284152990..5a52b9b2fe649 100644 --- a/lib/internal/Magento/Framework/Message/MessageInterface.php +++ b/lib/internal/Magento/Framework/Message/MessageInterface.php @@ -9,6 +9,7 @@ * Represent a message with a type, content text, and an isSticky attribute to prevent message from being cleared. * * @api + * @since 100.0.2 */ interface MessageInterface { diff --git a/lib/internal/Magento/Framework/Message/PhraseFactory.php b/lib/internal/Magento/Framework/Message/PhraseFactory.php index 2cfa324f40dbe..7efc83a811549 100644 --- a/lib/internal/Magento/Framework/Message/PhraseFactory.php +++ b/lib/internal/Magento/Framework/Message/PhraseFactory.php @@ -9,7 +9,7 @@ /** * Factory to combine several messages into one - * @deprecated 100.2.0 + * @deprecated 101.0.0 */ class PhraseFactory { diff --git a/lib/internal/Magento/Framework/MessageQueue/BatchConsumer.php b/lib/internal/Magento/Framework/MessageQueue/BatchConsumer.php index e7dc12be40e6d..3c22738a5544b 100644 --- a/lib/internal/Magento/Framework/MessageQueue/BatchConsumer.php +++ b/lib/internal/Magento/Framework/MessageQueue/BatchConsumer.php @@ -275,7 +275,7 @@ private function lockMessages(array $messages) * * @return ConsumerConfig * - * @deprecated 100.2.0 + * @deprecated 102.0.3 */ private function getConsumerConfig() { @@ -292,7 +292,7 @@ private function getConsumerConfig() * * @return MessageController * - * @deprecated 100.1.0 + * @deprecated 102.0.3 */ private function getMessageController() { diff --git a/lib/internal/Magento/Framework/MessageQueue/Bulk/ExchangeFactory.php b/lib/internal/Magento/Framework/MessageQueue/Bulk/ExchangeFactory.php index 47775ac857b07..d48a53cd8999c 100644 --- a/lib/internal/Magento/Framework/MessageQueue/Bulk/ExchangeFactory.php +++ b/lib/internal/Magento/Framework/MessageQueue/Bulk/ExchangeFactory.php @@ -9,7 +9,7 @@ * Factory class for @see \Magento\Framework\MessageQueue\ExchangeInterface * * @api - * @since 100.2.0 + * @since 102.0.3 */ class ExchangeFactory implements ExchangeFactoryInterface { @@ -27,7 +27,7 @@ class ExchangeFactory implements ExchangeFactoryInterface * Object Manager instance * * @var \Magento\Framework\ObjectManagerInterface - * @since 100.2.0 + * @since 102.0.3 */ protected $objectManager = null; @@ -37,7 +37,6 @@ class ExchangeFactory implements ExchangeFactoryInterface * @param \Magento\Framework\MessageQueue\ConnectionTypeResolver $connectionTypeResolver * @param \Magento\Framework\ObjectManagerInterface $objectManager * @param ExchangeFactoryInterface[] $exchangeFactories - * @since 100.2.0 */ public function __construct( \Magento\Framework\MessageQueue\ConnectionTypeResolver $connectionTypeResolver, @@ -51,7 +50,7 @@ public function __construct( /** * @inheritdoc - * @since 100.2.0 + * @since 102.0.3 */ public function create($connectionName, array $data = []) { diff --git a/lib/internal/Magento/Framework/MessageQueue/Bulk/ExchangeFactoryInterface.php b/lib/internal/Magento/Framework/MessageQueue/Bulk/ExchangeFactoryInterface.php index dc691e632c9ed..5acd01d5e6a9c 100644 --- a/lib/internal/Magento/Framework/MessageQueue/Bulk/ExchangeFactoryInterface.php +++ b/lib/internal/Magento/Framework/MessageQueue/Bulk/ExchangeFactoryInterface.php @@ -9,7 +9,7 @@ * Factory class for @see \Magento\Framework\MessageQueue\Bulk\ExchangeInterface * * @api - * @since 100.2.0 + * @since 102.0.3 */ interface ExchangeFactoryInterface { @@ -21,7 +21,7 @@ interface ExchangeFactoryInterface * @return ExchangeInterface * @throws \LogicException If exchange is not defined for the specified connection type * or it doesn't implement ExchangeInterface - * @since 100.2.0 + * @since 102.0.3 */ public function create($connectionName, array $data = []); } diff --git a/lib/internal/Magento/Framework/MessageQueue/Bulk/ExchangeInterface.php b/lib/internal/Magento/Framework/MessageQueue/Bulk/ExchangeInterface.php index 08b64689c2940..ae8c6e516baa1 100644 --- a/lib/internal/Magento/Framework/MessageQueue/Bulk/ExchangeInterface.php +++ b/lib/internal/Magento/Framework/MessageQueue/Bulk/ExchangeInterface.php @@ -9,7 +9,7 @@ * Interface for bulk exchange. * * @api - * @since 100.2.0 + * @since 102.0.3 */ interface ExchangeInterface { @@ -19,7 +19,7 @@ interface ExchangeInterface * @param string $topic * @param \Magento\Framework\MessageQueue\EnvelopeInterface[] $envelopes * @return mixed - * @since 100.2.0 + * @since 102.0.3 */ public function enqueue($topic, array $envelopes); } diff --git a/lib/internal/Magento/Framework/MessageQueue/Code/Generator/Config/RemoteServiceReader/Communication.php b/lib/internal/Magento/Framework/MessageQueue/Code/Generator/Config/RemoteServiceReader/Communication.php index 6219dbf29b14c..4c7aaa0f19df8 100644 --- a/lib/internal/Magento/Framework/MessageQueue/Code/Generator/Config/RemoteServiceReader/Communication.php +++ b/lib/internal/Magento/Framework/MessageQueue/Code/Generator/Config/RemoteServiceReader/Communication.php @@ -96,7 +96,7 @@ public function read($scope = null) * @param string $methodName * @return string * - * @deprecated 100.2.0 + * @deprecated 102.0.3 * @see \Magento\Framework\Communication\Config\ReflectionGenerator::generateTopicName */ public function generateTopicName($typeName, $methodName) diff --git a/lib/internal/Magento/Framework/MessageQueue/Code/Generator/Config/RemoteServiceReader/MessageQueue.php b/lib/internal/Magento/Framework/MessageQueue/Code/Generator/Config/RemoteServiceReader/MessageQueue.php index 9412e1c2384f0..c9c80bcf34e64 100644 --- a/lib/internal/Magento/Framework/MessageQueue/Code/Generator/Config/RemoteServiceReader/MessageQueue.php +++ b/lib/internal/Magento/Framework/MessageQueue/Code/Generator/Config/RemoteServiceReader/MessageQueue.php @@ -11,7 +11,7 @@ /** * Remote service configuration reader. * - * @deprecated 100.2.0 + * @deprecated 102.0.3 */ class MessageQueue implements \Magento\Framework\Config\ReaderInterface { diff --git a/lib/internal/Magento/Framework/MessageQueue/Code/Generator/RemoteServiceGenerator.php b/lib/internal/Magento/Framework/MessageQueue/Code/Generator/RemoteServiceGenerator.php index 0cd62963c547c..d20702443f6f4 100644 --- a/lib/internal/Magento/Framework/MessageQueue/Code/Generator/RemoteServiceGenerator.php +++ b/lib/internal/Magento/Framework/MessageQueue/Code/Generator/RemoteServiceGenerator.php @@ -218,7 +218,7 @@ protected function validateResultClassName() * * @return ReflectionGenerator * - * @deprecated 100.2.0 + * @deprecated 102.0.3 */ private function getReflectionGenerator() { diff --git a/lib/internal/Magento/Framework/MessageQueue/Config.php b/lib/internal/Magento/Framework/MessageQueue/Config.php index 9a925e1417c12..bed1aeeb9eee3 100644 --- a/lib/internal/Magento/Framework/MessageQueue/Config.php +++ b/lib/internal/Magento/Framework/MessageQueue/Config.php @@ -12,7 +12,7 @@ /** * Queue configuration. * - * @deprecated 100.2.0 + * @deprecated 102.0.3 */ class Config implements ConfigInterface { diff --git a/lib/internal/Magento/Framework/MessageQueue/Config/Consumer/ConfigReaderPlugin.php b/lib/internal/Magento/Framework/MessageQueue/Config/Consumer/ConfigReaderPlugin.php index c791baf4deb66..4b0169e4470ca 100644 --- a/lib/internal/Magento/Framework/MessageQueue/Config/Consumer/ConfigReaderPlugin.php +++ b/lib/internal/Magento/Framework/MessageQueue/Config/Consumer/ConfigReaderPlugin.php @@ -11,7 +11,7 @@ /** * Plugin which provides access to consumers declared in queue config using consumer config interface. * - * @deprecated 100.2.0 + * @deprecated 102.0.3 */ class ConfigReaderPlugin { diff --git a/lib/internal/Magento/Framework/MessageQueue/Config/Publisher/ConfigReaderPlugin.php b/lib/internal/Magento/Framework/MessageQueue/Config/Publisher/ConfigReaderPlugin.php index 78b82a67069bf..6537ea2ddcfbf 100644 --- a/lib/internal/Magento/Framework/MessageQueue/Config/Publisher/ConfigReaderPlugin.php +++ b/lib/internal/Magento/Framework/MessageQueue/Config/Publisher/ConfigReaderPlugin.php @@ -11,7 +11,7 @@ /** * Plugin which provides access to publishers declared in queue config using publisher config interface. * - * @deprecated 100.2.0 + * @deprecated 102.0.3 */ class ConfigReaderPlugin { diff --git a/lib/internal/Magento/Framework/MessageQueue/Config/Reader/Xml.php b/lib/internal/Magento/Framework/MessageQueue/Config/Reader/Xml.php index 16efacf628d57..d306314b30ab0 100644 --- a/lib/internal/Magento/Framework/MessageQueue/Config/Reader/Xml.php +++ b/lib/internal/Magento/Framework/MessageQueue/Config/Reader/Xml.php @@ -9,7 +9,7 @@ /** * MessageQueue configuration filesystem loader. Loads all publisher configuration from XML file * - * @deprecated 100.2.0 + * @deprecated 102.0.3 */ class Xml extends \Magento\Framework\Config\Reader\Filesystem { diff --git a/lib/internal/Magento/Framework/MessageQueue/Config/Reader/Xml/CompositeConverter.php b/lib/internal/Magento/Framework/MessageQueue/Config/Reader/Xml/CompositeConverter.php index 0184f720b3b4e..510ebcb100d93 100644 --- a/lib/internal/Magento/Framework/MessageQueue/Config/Reader/Xml/CompositeConverter.php +++ b/lib/internal/Magento/Framework/MessageQueue/Config/Reader/Xml/CompositeConverter.php @@ -11,7 +11,7 @@ /** * Converts MessageQueue config from \DOMDocument to array * - * @deprecated 100.2.0 + * @deprecated 102.0.3 */ class CompositeConverter implements ConverterInterface { diff --git a/lib/internal/Magento/Framework/MessageQueue/Config/Reader/Xml/Converter/TopicConfig.php b/lib/internal/Magento/Framework/MessageQueue/Config/Reader/Xml/Converter/TopicConfig.php index e33d6ab5b1fb8..d7401a2ea276d 100644 --- a/lib/internal/Magento/Framework/MessageQueue/Config/Reader/Xml/Converter/TopicConfig.php +++ b/lib/internal/Magento/Framework/MessageQueue/Config/Reader/Xml/Converter/TopicConfig.php @@ -15,7 +15,7 @@ /** * Converts MessageQueue config from \DOMDocument to array * - * @deprecated 100.2.0 + * @deprecated 102.0.3 */ class TopicConfig implements \Magento\Framework\Config\ConverterInterface { diff --git a/lib/internal/Magento/Framework/MessageQueue/Config/Reader/Xml/SchemaLocator.php b/lib/internal/Magento/Framework/MessageQueue/Config/Reader/Xml/SchemaLocator.php index 613d564942e2f..37ed62f35dfbb 100644 --- a/lib/internal/Magento/Framework/MessageQueue/Config/Reader/Xml/SchemaLocator.php +++ b/lib/internal/Magento/Framework/MessageQueue/Config/Reader/Xml/SchemaLocator.php @@ -9,7 +9,7 @@ /** * Schema locator for Publishers * - * @deprecated 100.2.0 + * @deprecated 102.0.3 */ class SchemaLocator implements \Magento\Framework\Config\SchemaLocatorInterface { diff --git a/lib/internal/Magento/Framework/MessageQueue/Config/Topology/ConfigReaderPlugin.php b/lib/internal/Magento/Framework/MessageQueue/Config/Topology/ConfigReaderPlugin.php index b5f8d179961c6..7bca8559feffe 100644 --- a/lib/internal/Magento/Framework/MessageQueue/Config/Topology/ConfigReaderPlugin.php +++ b/lib/internal/Magento/Framework/MessageQueue/Config/Topology/ConfigReaderPlugin.php @@ -10,7 +10,7 @@ /** * Plugin which provides access to topology declared in queue config using topology config interface. * - * @deprecated 100.2.0 + * @deprecated 102.0.3 */ class ConfigReaderPlugin { diff --git a/lib/internal/Magento/Framework/MessageQueue/ConfigInterface.php b/lib/internal/Magento/Framework/MessageQueue/ConfigInterface.php index a88b5dedbd269..edc9e0ce942ac 100644 --- a/lib/internal/Magento/Framework/MessageQueue/ConfigInterface.php +++ b/lib/internal/Magento/Framework/MessageQueue/ConfigInterface.php @@ -9,7 +9,7 @@ use Magento\Framework\Exception\LocalizedException; /** - * @deprecated 100.2.0 + * @deprecated 102.0.3 */ interface ConfigInterface { diff --git a/lib/internal/Magento/Framework/MessageQueue/Consumer.php b/lib/internal/Magento/Framework/MessageQueue/Consumer.php index 8f65a2d8c5ed2..c973d9a76e4bb 100644 --- a/lib/internal/Magento/Framework/MessageQueue/Consumer.php +++ b/lib/internal/Magento/Framework/MessageQueue/Consumer.php @@ -240,7 +240,7 @@ private function getTransactionCallback(QueueInterface $queue) * * @return ConsumerConfig * - * @deprecated 100.2.0 + * @deprecated 102.0.3 */ private function getConsumerConfig() { @@ -255,7 +255,7 @@ private function getConsumerConfig() * * @return CommunicationConfig * - * @deprecated 100.2.0 + * @deprecated 102.0.3 */ private function getCommunicationConfig() { @@ -271,7 +271,7 @@ private function getCommunicationConfig() * * @return QueueRepository * - * @deprecated 100.2.0 + * @deprecated 102.0.3 */ private function getQueueRepository() { @@ -286,7 +286,7 @@ private function getQueueRepository() * * @return MessageController * - * @deprecated 100.1.0 + * @deprecated 102.0.3 */ private function getMessageController() { @@ -302,7 +302,7 @@ private function getMessageController() * * @return MessageValidator * - * @deprecated 100.2.0 + * @deprecated 102.0.3 */ private function getMessageValidator() { @@ -318,7 +318,7 @@ private function getMessageValidator() * * @return EnvelopeFactory * - * @deprecated 100.2.0 + * @deprecated 102.0.3 */ private function getEnvelopeFactory() { diff --git a/lib/internal/Magento/Framework/MessageQueue/Consumer/ConfigInterface.php b/lib/internal/Magento/Framework/MessageQueue/Consumer/ConfigInterface.php index 344b5ef1d580c..8b95a8dc620d9 100644 --- a/lib/internal/Magento/Framework/MessageQueue/Consumer/ConfigInterface.php +++ b/lib/internal/Magento/Framework/MessageQueue/Consumer/ConfigInterface.php @@ -12,7 +12,7 @@ * Consumer config interface provides access data declared in etc/queue_consumer.xml * * @api - * @since 100.2.0 + * @since 102.0.3 */ interface ConfigInterface { @@ -23,7 +23,7 @@ interface ConfigInterface * @return ConsumerConfigItemInterface * @throws LocalizedException * @throws \LogicException - * @since 100.2.0 + * @since 102.0.3 */ public function getConsumer($name); @@ -32,7 +32,7 @@ public function getConsumer($name); * * @return ConsumerConfigItemInterface[] * @throws \LogicException - * @since 100.2.0 + * @since 102.0.3 */ public function getConsumers(); } diff --git a/lib/internal/Magento/Framework/MessageQueue/ConsumerConfiguration.php b/lib/internal/Magento/Framework/MessageQueue/ConsumerConfiguration.php index 09cd5dcb8d909..33e155bfbb4ab 100644 --- a/lib/internal/Magento/Framework/MessageQueue/ConsumerConfiguration.php +++ b/lib/internal/Magento/Framework/MessageQueue/ConsumerConfiguration.php @@ -174,7 +174,7 @@ private function getData($key) * * @return ConsumerConfig * - * @deprecated 100.2.0 + * @deprecated 102.0.3 */ private function getConsumerConfig() { @@ -189,7 +189,7 @@ private function getConsumerConfig() * * @return CommunicationConfig * - * @deprecated 100.2.0 + * @deprecated 102.0.3 */ private function getCommunicationConfig() { diff --git a/lib/internal/Magento/Framework/MessageQueue/ConsumerConfigurationInterface.php b/lib/internal/Magento/Framework/MessageQueue/ConsumerConfigurationInterface.php index b825949ddb019..831dd2d2bc1ab 100644 --- a/lib/internal/Magento/Framework/MessageQueue/ConsumerConfigurationInterface.php +++ b/lib/internal/Magento/Framework/MessageQueue/ConsumerConfigurationInterface.php @@ -42,7 +42,7 @@ public function getQueueName(); * Get consumer type sync|async. * * @return string - * @deprecated 100.2.0 + * @deprecated 102.0.3 * @see \Magento\Framework\Communication\ConfigInterface::getTopic * @throws \LogicException */ diff --git a/lib/internal/Magento/Framework/MessageQueue/ConsumerFactory.php b/lib/internal/Magento/Framework/MessageQueue/ConsumerFactory.php index 7d9f210b4a698..a047346cb3c40 100644 --- a/lib/internal/Magento/Framework/MessageQueue/ConsumerFactory.php +++ b/lib/internal/Magento/Framework/MessageQueue/ConsumerFactory.php @@ -122,7 +122,7 @@ private function createConsumerConfiguration($consumerConfigItem) * * @return ConsumerConfig * - * @deprecated 100.2.0 + * @deprecated 102.0.3 */ private function getConsumerConfig() { @@ -137,7 +137,7 @@ private function getConsumerConfig() * * @return CommunicationConfig * - * @deprecated 100.2.0 + * @deprecated 102.0.3 */ private function getCommunicationConfig() { diff --git a/lib/internal/Magento/Framework/MessageQueue/ConsumerInterface.php b/lib/internal/Magento/Framework/MessageQueue/ConsumerInterface.php index ca45da7eca8ff..90f480fbd3f56 100644 --- a/lib/internal/Magento/Framework/MessageQueue/ConsumerInterface.php +++ b/lib/internal/Magento/Framework/MessageQueue/ConsumerInterface.php @@ -9,6 +9,8 @@ * Consumers will connect to a queue, read messages, and invoke a method to process the message contents. * * @api + * @since 102.0.3 + * @since 100.0.2 */ interface ConsumerInterface { @@ -18,6 +20,7 @@ interface ConsumerInterface * @param int|null $maxNumberOfMessages if not specified - process all queued incoming messages and terminate, * otherwise terminate execution after processing the specified number of messages * @return void + * @since 102.0.3 */ public function process($maxNumberOfMessages = null); } diff --git a/lib/internal/Magento/Framework/MessageQueue/EnvelopeInterface.php b/lib/internal/Magento/Framework/MessageQueue/EnvelopeInterface.php index 07f12d1856317..75438410efa4e 100644 --- a/lib/internal/Magento/Framework/MessageQueue/EnvelopeInterface.php +++ b/lib/internal/Magento/Framework/MessageQueue/EnvelopeInterface.php @@ -7,6 +7,8 @@ /** * @api + * @since 102.0.3 + * @since 100.0.2 */ interface EnvelopeInterface { @@ -14,6 +16,7 @@ interface EnvelopeInterface * Binary representation of message * * @return string + * @since 102.0.3 */ public function getBody(); @@ -21,6 +24,7 @@ public function getBody(); * Message metadata * * @return array + * @since 102.0.3 */ public function getProperties(); } diff --git a/lib/internal/Magento/Framework/MessageQueue/ExchangeFactory.php b/lib/internal/Magento/Framework/MessageQueue/ExchangeFactory.php index ca1ef769af90f..79b29205ec01e 100644 --- a/lib/internal/Magento/Framework/MessageQueue/ExchangeFactory.php +++ b/lib/internal/Magento/Framework/MessageQueue/ExchangeFactory.php @@ -9,7 +9,7 @@ * Factory class for @see \Magento\Framework\MessageQueue\ExchangeInterface * * @api - * @since 100.2.0 + * @since 102.0.3 */ class ExchangeFactory implements ExchangeFactoryInterface { @@ -27,7 +27,7 @@ class ExchangeFactory implements ExchangeFactoryInterface * Object Manager instance * * @var \Magento\Framework\ObjectManagerInterface - * @since 100.2.0 + * @since 102.0.3 */ protected $objectManager = null; @@ -37,7 +37,6 @@ class ExchangeFactory implements ExchangeFactoryInterface * @param ConnectionTypeResolver $connectionTypeResolver * @param \Magento\Framework\ObjectManagerInterface $objectManager * @param ExchangeFactoryInterface[] $exchangeFactories - * @since 100.2.0 */ public function __construct( ConnectionTypeResolver $connectionTypeResolver, @@ -51,7 +50,7 @@ public function __construct( /** * {@inheritdoc} - * @since 100.2.0 + * @since 102.0.3 */ public function create($connectionName, array $data = []) { diff --git a/lib/internal/Magento/Framework/MessageQueue/ExchangeFactoryInterface.php b/lib/internal/Magento/Framework/MessageQueue/ExchangeFactoryInterface.php index 1e70b0266fc4f..5e69c55d15582 100644 --- a/lib/internal/Magento/Framework/MessageQueue/ExchangeFactoryInterface.php +++ b/lib/internal/Magento/Framework/MessageQueue/ExchangeFactoryInterface.php @@ -9,7 +9,7 @@ * Factory class for @see \Magento\Framework\MessageQueue\ExchangeInterface * * @api - * @since 100.2.0 + * @since 102.0.3 */ interface ExchangeFactoryInterface { @@ -19,7 +19,7 @@ interface ExchangeFactoryInterface * @param string $connectionName * @param array $data * @return ExchangeInterface - * @since 100.2.0 + * @since 102.0.3 */ public function create($connectionName, array $data = []); } diff --git a/lib/internal/Magento/Framework/MessageQueue/ExchangeInterface.php b/lib/internal/Magento/Framework/MessageQueue/ExchangeInterface.php index bb36332ae25b1..d87e0ceacacca 100644 --- a/lib/internal/Magento/Framework/MessageQueue/ExchangeInterface.php +++ b/lib/internal/Magento/Framework/MessageQueue/ExchangeInterface.php @@ -9,6 +9,8 @@ * Interface message Exchange * * @api + * @since 102.0.3 + * @since 100.0.2 */ interface ExchangeInterface { @@ -18,6 +20,7 @@ interface ExchangeInterface * @param string $topic * @param EnvelopeInterface $envelope * @return mixed + * @since 102.0.3 */ public function enqueue($topic, EnvelopeInterface $envelope); } diff --git a/lib/internal/Magento/Framework/MessageQueue/ExchangeRepository.php b/lib/internal/Magento/Framework/MessageQueue/ExchangeRepository.php index 1f26e5d785c1a..8b9b8fbd58cd8 100644 --- a/lib/internal/Magento/Framework/MessageQueue/ExchangeRepository.php +++ b/lib/internal/Magento/Framework/MessageQueue/ExchangeRepository.php @@ -53,7 +53,7 @@ public function getByConnectionName($connectionName) * Get exchange factory. * * @return ExchangeFactoryInterface - * @deprecated 100.2.0 + * @deprecated 102.0.3 */ private function getExchangeFactory() { diff --git a/lib/internal/Magento/Framework/MessageQueue/MessageEncoder.php b/lib/internal/Magento/Framework/MessageQueue/MessageEncoder.php index 91ad24eaeb978..5e52d2750c42c 100644 --- a/lib/internal/Magento/Framework/MessageQueue/MessageEncoder.php +++ b/lib/internal/Magento/Framework/MessageQueue/MessageEncoder.php @@ -219,7 +219,7 @@ protected function getConverter($direction) * * @return CommunicationConfig * - * @deprecated 100.2.0 + * @deprecated 102.0.3 */ private function getCommunicationConfig() { diff --git a/lib/internal/Magento/Framework/MessageQueue/MessageIdGeneratorInterface.php b/lib/internal/Magento/Framework/MessageQueue/MessageIdGeneratorInterface.php index 727db7d34761a..607a332def4ee 100644 --- a/lib/internal/Magento/Framework/MessageQueue/MessageIdGeneratorInterface.php +++ b/lib/internal/Magento/Framework/MessageQueue/MessageIdGeneratorInterface.php @@ -9,7 +9,7 @@ * Used to generate unique id for queue message. * * @api - * @since 100.2.0 + * @since 102.0.3 */ interface MessageIdGeneratorInterface { @@ -18,7 +18,7 @@ interface MessageIdGeneratorInterface * * @param string $topicName * @return string - * @since 100.2.0 + * @since 102.0.3 */ public function generate($topicName); } diff --git a/lib/internal/Magento/Framework/MessageQueue/MessageLockException.php b/lib/internal/Magento/Framework/MessageQueue/MessageLockException.php index 4ea462f7e1a8e..ca09d3586943a 100644 --- a/lib/internal/Magento/Framework/MessageQueue/MessageLockException.php +++ b/lib/internal/Magento/Framework/MessageQueue/MessageLockException.php @@ -11,7 +11,7 @@ * Class MessageLockException to be thrown when a message being processed is already in the lock table. * * @api - * @since 100.1.0 + * @since 102.0.3 */ class MessageLockException extends LocalizedException { diff --git a/lib/internal/Magento/Framework/MessageQueue/MessageValidator.php b/lib/internal/Magento/Framework/MessageQueue/MessageValidator.php index a40bb9af1e0c4..7f1ac36e7fda1 100644 --- a/lib/internal/Magento/Framework/MessageQueue/MessageValidator.php +++ b/lib/internal/Magento/Framework/MessageQueue/MessageValidator.php @@ -183,7 +183,7 @@ private function getRealType($message) * * @return CommunicationConfig * - * @deprecated 100.2.0 + * @deprecated 102.0.3 */ private function getCommunicationConfig() { diff --git a/lib/internal/Magento/Framework/MessageQueue/Publisher.php b/lib/internal/Magento/Framework/MessageQueue/Publisher.php index 8fe77abe69136..aeb54ec1f6a99 100644 --- a/lib/internal/Magento/Framework/MessageQueue/Publisher.php +++ b/lib/internal/Magento/Framework/MessageQueue/Publisher.php @@ -109,7 +109,7 @@ private function isAmqpConfigured() * * @return PublisherConfig * - * @deprecated 100.2.0 + * @deprecated 102.0.3 */ private function getPublisherConfig() { @@ -124,7 +124,7 @@ private function getPublisherConfig() * * @return AmqpConfig * - * @deprecated + * @deprecated 100.2.0 102.0.3 */ private function getAmqpConfig() { diff --git a/lib/internal/Magento/Framework/MessageQueue/Publisher/ConfigInterface.php b/lib/internal/Magento/Framework/MessageQueue/Publisher/ConfigInterface.php index 7b5586b28a273..f1875cf7949de 100644 --- a/lib/internal/Magento/Framework/MessageQueue/Publisher/ConfigInterface.php +++ b/lib/internal/Magento/Framework/MessageQueue/Publisher/ConfigInterface.php @@ -12,7 +12,7 @@ * Publisher config interface provides access data declared in etc/queue_publisher.xml * * @api - * @since 100.2.0 + * @since 102.0.3 */ interface ConfigInterface { @@ -23,7 +23,7 @@ interface ConfigInterface * @return PublisherConfigItemInterface * @throws LocalizedException * @throws \LogicException - * @since 100.2.0 + * @since 102.0.3 */ public function getPublisher($topic); @@ -32,7 +32,7 @@ public function getPublisher($topic); * * @return PublisherConfigItemInterface[] * @throws \LogicException - * @since 100.2.0 + * @since 102.0.3 */ public function getPublishers(); } diff --git a/lib/internal/Magento/Framework/MessageQueue/PublisherInterface.php b/lib/internal/Magento/Framework/MessageQueue/PublisherInterface.php index 1aee963b1bd47..c85a0077c3b35 100644 --- a/lib/internal/Magento/Framework/MessageQueue/PublisherInterface.php +++ b/lib/internal/Magento/Framework/MessageQueue/PublisherInterface.php @@ -9,6 +9,8 @@ * Producer to publish messages via a specific transport to a specific queue or exchange. * * @api + * @since 102.0.3 + * @since 100.0.2 */ interface PublisherInterface { @@ -19,6 +21,7 @@ interface PublisherInterface * @param array|object $data * @return null|mixed * @throws \InvalidArgumentException If message is not formed properly + * @since 102.0.3 */ public function publish($topicName, $data); } diff --git a/lib/internal/Magento/Framework/MessageQueue/PublisherPool.php b/lib/internal/Magento/Framework/MessageQueue/PublisherPool.php index 2c1e4e64c7d71..caaa4630a2e68 100644 --- a/lib/internal/Magento/Framework/MessageQueue/PublisherPool.php +++ b/lib/internal/Magento/Framework/MessageQueue/PublisherPool.php @@ -14,7 +14,7 @@ * Publishers pool. * * @api - * @since 100.1.0 + * @since 102.0.3 */ class PublisherPool implements PublisherInterface, BulkPublisherInterface { @@ -35,7 +35,7 @@ class PublisherPool implements PublisherInterface, BulkPublisherInterface * Publisher objects pool. * * @var \Magento\Framework\MessageQueue\PublisherInterface[] - * @since 100.1.0 + * @since 102.0.3 */ protected $publishers = []; @@ -43,7 +43,7 @@ class PublisherPool implements PublisherInterface, BulkPublisherInterface * Communication config. * * @var CommunicationConfig - * @since 100.1.0 + * @since 102.0.3 */ protected $communicationConfig; @@ -65,7 +65,6 @@ class PublisherPool implements PublisherInterface, BulkPublisherInterface * @param string[] $publishers * * @SuppressWarnings(PHPMD.UnusedFormalParameter) - * @since 100.1.0 */ public function __construct( CommunicationConfig $communicationConfig, @@ -78,7 +77,7 @@ public function __construct( /** * {@inheritdoc} - * @since 100.1.0 + * @since 102.0.3 */ public function publish($topicName, $data) { @@ -163,7 +162,7 @@ private function getPublisherForConnectionNameAndType($type, $connectionName) * * @return PublisherConfig * - * @deprecated 100.2.0 + * @deprecated 102.0.3 */ private function getPublisherConfig() { @@ -178,7 +177,7 @@ private function getPublisherConfig() * * @return ConnectionTypeResolver * - * @deprecated 100.2.0 + * @deprecated 102.0.3 */ private function getConnectionTypeResolver() { diff --git a/lib/internal/Magento/Framework/MessageQueue/QueueFactory.php b/lib/internal/Magento/Framework/MessageQueue/QueueFactory.php index eb734df06a59f..2ef1cbbb32a68 100644 --- a/lib/internal/Magento/Framework/MessageQueue/QueueFactory.php +++ b/lib/internal/Magento/Framework/MessageQueue/QueueFactory.php @@ -9,7 +9,7 @@ * Factory class for @see \Magento\Framework\MessageQueue\Queuenterface * * @api - * @since 100.2.0 + * @since 102.0.3 */ class QueueFactory implements QueueFactoryInterface { @@ -27,7 +27,7 @@ class QueueFactory implements QueueFactoryInterface * Object Manager instance * * @var \Magento\Framework\ObjectManagerInterface - * @since 100.2.0 + * @since 102.0.3 */ protected $objectManager = null; @@ -37,7 +37,6 @@ class QueueFactory implements QueueFactoryInterface * @param ConnectionTypeResolver $connectionTypeResolver * @param \Magento\Framework\ObjectManagerInterface $objectManager * @param QueueFactoryInterface[] $queueFactories - * @since 100.2.0 */ public function __construct( ConnectionTypeResolver $connectionTypeResolver, @@ -51,7 +50,7 @@ public function __construct( /** * {@inheritdoc} - * @since 100.2.0 + * @since 102.0.3 */ public function create($queueName, $connectionName) { diff --git a/lib/internal/Magento/Framework/MessageQueue/QueueFactoryInterface.php b/lib/internal/Magento/Framework/MessageQueue/QueueFactoryInterface.php index 697db9296b5b0..a7a72ab095691 100644 --- a/lib/internal/Magento/Framework/MessageQueue/QueueFactoryInterface.php +++ b/lib/internal/Magento/Framework/MessageQueue/QueueFactoryInterface.php @@ -9,7 +9,7 @@ * Factory class for @see \Magento\Framework\MessageQueue\QueueInterface * * @api - * @since 100.2.0 + * @since 102.0.3 */ interface QueueFactoryInterface { @@ -19,7 +19,7 @@ interface QueueFactoryInterface * @param string $queueName * @param string $connectionName * @return QueueInterface - * @since 100.2.0 + * @since 102.0.3 */ public function create($queueName, $connectionName); } diff --git a/lib/internal/Magento/Framework/MessageQueue/QueueInterface.php b/lib/internal/Magento/Framework/MessageQueue/QueueInterface.php index 1b3814b8e857a..ac0ab60147d1b 100644 --- a/lib/internal/Magento/Framework/MessageQueue/QueueInterface.php +++ b/lib/internal/Magento/Framework/MessageQueue/QueueInterface.php @@ -9,6 +9,8 @@ * Interface for interaction with message queue. * * @api + * @since 102.0.3 + * @since 100.0.2 */ interface QueueInterface { @@ -16,6 +18,7 @@ interface QueueInterface * Get message from queue * * @return EnvelopeInterface + * @since 102.0.3 */ public function dequeue(); @@ -24,6 +27,7 @@ public function dequeue(); * * @param EnvelopeInterface $envelope * @return void + * @since 102.0.3 */ public function acknowledge(EnvelopeInterface $envelope); @@ -32,6 +36,7 @@ public function acknowledge(EnvelopeInterface $envelope); * * @param callable|array $callback * @return void + * @since 102.0.3 */ public function subscribe($callback); @@ -42,6 +47,7 @@ public function subscribe($callback); * @param bool $requeue * @param string $rejectionMessage * @return void + * @since 102.0.3 */ public function reject(EnvelopeInterface $envelope, $requeue = true, $rejectionMessage = null); @@ -50,7 +56,7 @@ public function reject(EnvelopeInterface $envelope, $requeue = true, $rejectionM * * @param EnvelopeInterface $envelope * @return void - * @since 100.1.0 + * @since 102.0.3 */ public function push(EnvelopeInterface $envelope); } diff --git a/lib/internal/Magento/Framework/MessageQueue/QueueRepository.php b/lib/internal/Magento/Framework/MessageQueue/QueueRepository.php index 5d04003c9ade0..dd4a301da5536 100644 --- a/lib/internal/Magento/Framework/MessageQueue/QueueRepository.php +++ b/lib/internal/Magento/Framework/MessageQueue/QueueRepository.php @@ -57,7 +57,7 @@ public function get($connectionName, $queueName) * Get queue factory. * * @return QueueFactoryInterface - * @deprecated 100.2.0 + * @deprecated 102.0.3 */ private function getQueueFactory() { diff --git a/lib/internal/Magento/Framework/MessageQueue/Rpc/Consumer.php b/lib/internal/Magento/Framework/MessageQueue/Rpc/Consumer.php index 10ef24c462808..6961b17ceb983 100644 --- a/lib/internal/Magento/Framework/MessageQueue/Rpc/Consumer.php +++ b/lib/internal/Magento/Framework/MessageQueue/Rpc/Consumer.php @@ -9,7 +9,7 @@ /** * A MessageQueue Consumer to handle receiving, processing and replying to an RPC message. * - * @deprecated 100.2.0 + * @deprecated 102.0.3 */ class Consumer extends \Magento\Framework\MessageQueue\Consumer { diff --git a/lib/internal/Magento/Framework/MessageQueue/Rpc/Publisher.php b/lib/internal/Magento/Framework/MessageQueue/Rpc/Publisher.php index 89b987cbb4405..717c20e5730a4 100644 --- a/lib/internal/Magento/Framework/MessageQueue/Rpc/Publisher.php +++ b/lib/internal/Magento/Framework/MessageQueue/Rpc/Publisher.php @@ -107,7 +107,7 @@ public function publish($topicName, $data) * * @return ResponseQueueNameBuilder * - * @deprecated 100.2.0 + * @deprecated 102.0.3 */ private function getResponseQueueNameBuilder() { @@ -123,7 +123,7 @@ private function getResponseQueueNameBuilder() * * @return PublisherConfig * - * @deprecated 100.2.0 + * @deprecated 102.0.3 */ private function getPublisherConfig() { diff --git a/lib/internal/Magento/Framework/MessageQueue/Topology/ConfigInterface.php b/lib/internal/Magento/Framework/MessageQueue/Topology/ConfigInterface.php index 81d056999b573..073e6e404840f 100644 --- a/lib/internal/Magento/Framework/MessageQueue/Topology/ConfigInterface.php +++ b/lib/internal/Magento/Framework/MessageQueue/Topology/ConfigInterface.php @@ -13,7 +13,7 @@ * Topology config interface provides access data declared in etc/queue_topology.xml * * @api - * @since 100.2.0 + * @since 102.0.3 */ interface ConfigInterface { @@ -25,7 +25,7 @@ interface ConfigInterface * @return ExchangeConfigItemInterface * @throws LocalizedException * @throws \LogicException - * @since 100.2.0 + * @since 102.0.3 */ public function getExchange($name, $connection); @@ -34,7 +34,7 @@ public function getExchange($name, $connection); * * @return ExchangeConfigItemInterface[] * @throws \LogicException - * @since 100.2.0 + * @since 102.0.3 */ public function getExchanges(); @@ -43,7 +43,7 @@ public function getExchanges(); * * @return QueueConfigItemInterface[] * @throws \LogicException - * @since 100.2.0 + * @since 102.0.3 */ public function getQueues(); } diff --git a/lib/internal/Magento/Framework/MessageQueue/composer.json b/lib/internal/Magento/Framework/MessageQueue/composer.json index 56644e428e5cb..16b0034dd8e75 100644 --- a/lib/internal/Magento/Framework/MessageQueue/composer.json +++ b/lib/internal/Magento/Framework/MessageQueue/composer.json @@ -10,7 +10,7 @@ "AFL-3.0" ], "require": { - "magento/framework": "*", + "magento/framework": "102.0.*", "php": "~7.1.3||~7.2.0||~7.3.0" }, "autoload": { @@ -20,5 +20,6 @@ "files": [ "registration.php" ] - } + }, + "version": "100.3.3" } diff --git a/lib/internal/Magento/Framework/Model/AbstractModel.php b/lib/internal/Magento/Framework/Model/AbstractModel.php index 8018c6176390f..b6473f8b0ab3c 100644 --- a/lib/internal/Magento/Framework/Model/AbstractModel.php +++ b/lib/internal/Magento/Framework/Model/AbstractModel.php @@ -15,6 +15,7 @@ * @SuppressWarnings(PHPMD.CouplingBetweenObjects) * @SuppressWarnings(PHPMD.NumberOfChildren) * @SuppressWarnings(PHPMD.TooManyFields) + * @since 100.0.2 */ abstract class AbstractModel extends \Magento\Framework\DataObject { @@ -467,7 +468,7 @@ protected function _setResourceModel($resourceName, $collectionName = null) * * @throws \Magento\Framework\Exception\LocalizedException * @return \Magento\Framework\Model\ResourceModel\Db\AbstractDb - * @deprecated because resource models should be used directly + * @deprecated 101.0.0 because resource models should be used directly */ protected function _getResource() { @@ -496,7 +497,7 @@ public function getResourceName() * @TODO MAGETWO-23541: Incorrect dependencies between Model\AbstractModel and Data\Collection\Db from Framework * @throws \Magento\Framework\Exception\LocalizedException * @return \Magento\Framework\Model\ResourceModel\Db\Collection\AbstractCollection - * @deprecated because collections should be used directly via factory + * @deprecated 101.0.0 because collections should be used directly via factory */ public function getResourceCollection() { @@ -517,7 +518,7 @@ public function getResourceCollection() * * @TODO MAGETWO-23541: Incorrect dependencies between Model\AbstractModel and Data\Collection\Db from Framework * @return \Magento\Framework\Model\ResourceModel\Db\Collection\AbstractCollection - * @deprecated because collections should be used directly via factory + * @deprecated 101.0.0 because collections should be used directly via factory */ public function getCollection() { @@ -587,7 +588,7 @@ protected function _afterLoad() * @param string $identifier * @param string|null $field * @return void - * @since 100.2.0 + * @since 101.0.0 */ public function beforeLoad($identifier, $field = null) { @@ -895,7 +896,7 @@ public function afterDeleteCommit() * Retrieve model resource * * @return \Magento\Framework\Model\ResourceModel\Db\AbstractDb - * @deprecated because resource models should be used directly + * @deprecated 101.0.0 because resource models should be used directly */ public function getResource() { diff --git a/lib/internal/Magento/Framework/Model/ActionValidator/RemoveAction.php b/lib/internal/Magento/Framework/Model/ActionValidator/RemoveAction.php index 430bb6f65f295..e6b492b0a04fc 100644 --- a/lib/internal/Magento/Framework/Model/ActionValidator/RemoveAction.php +++ b/lib/internal/Magento/Framework/Model/ActionValidator/RemoveAction.php @@ -12,6 +12,7 @@ /** * @api + * @since 100.0.2 */ class RemoveAction { diff --git a/lib/internal/Magento/Framework/Model/Context.php b/lib/internal/Magento/Framework/Model/Context.php index 910a0d48a5e9c..301398a67f6de 100644 --- a/lib/internal/Magento/Framework/Model/Context.php +++ b/lib/internal/Magento/Framework/Model/Context.php @@ -19,6 +19,7 @@ * the classes they were introduced for. * * @api + * @since 100.0.2 */ class Context implements \Magento\Framework\ObjectManager\ContextInterface { diff --git a/lib/internal/Magento/Framework/Model/ResourceModel/AbstractResource.php b/lib/internal/Magento/Framework/Model/ResourceModel/AbstractResource.php index 255e6d94d741f..71e87d4cb6d87 100644 --- a/lib/internal/Magento/Framework/Model/ResourceModel/AbstractResource.php +++ b/lib/internal/Magento/Framework/Model/ResourceModel/AbstractResource.php @@ -14,17 +14,19 @@ * Abstract resource model * * @api + * @since 100.0.2 */ abstract class AbstractResource { /** * @var Json - * @since 100.2.0 + * @since 101.0.0 */ protected $serializer; /** * @var \Psr\Log\LoggerInterface + * @since 102.0.0 */ protected $_logger; @@ -247,8 +249,8 @@ protected function _getColumnsForEntityLoad(\Magento\Framework\Model\AbstractMod * Get serializer * * @return Json - * @deprecated 100.2.0 - * @since 100.2.0 + * @deprecated 101.0.0 + * @since 101.0.0 */ protected function getSerializer() { @@ -262,7 +264,7 @@ protected function getSerializer() * Get logger * * @return \Psr\Log\LoggerInterface - * @deprecated + * @deprecated 101.0.1 */ private function getLogger() { diff --git a/lib/internal/Magento/Framework/Model/ResourceModel/Db/AbstractDb.php b/lib/internal/Magento/Framework/Model/ResourceModel/Db/AbstractDb.php index fc0edf931fa9c..9992687c7bb56 100644 --- a/lib/internal/Magento/Framework/Model/ResourceModel/Db/AbstractDb.php +++ b/lib/internal/Magento/Framework/Model/ResourceModel/Db/AbstractDb.php @@ -20,6 +20,7 @@ * @SuppressWarnings(PHPMD.ExcessiveClassComplexity) * phpcs:disable Magento2.Classes.AbstractApi * @api + * @since 100.0.2 */ abstract class AbstractDb extends AbstractResource { diff --git a/lib/internal/Magento/Framework/Model/ResourceModel/Db/Collection/AbstractCollection.php b/lib/internal/Magento/Framework/Model/ResourceModel/Db/Collection/AbstractCollection.php index cba5f133f53c8..b63291394e1d1 100644 --- a/lib/internal/Magento/Framework/Model/ResourceModel/Db/Collection/AbstractCollection.php +++ b/lib/internal/Magento/Framework/Model/ResourceModel/Db/Collection/AbstractCollection.php @@ -15,6 +15,7 @@ * phpcs:disable Magento2.Classes.AbstractApi * @api * @SuppressWarnings(PHPMD.NumberOfChildren) + * @since 100.0.2 */ abstract class AbstractCollection extends AbstractDb implements SourceProviderInterface { diff --git a/lib/internal/Magento/Framework/Model/ResourceModel/Db/ObjectRelationProcessor.php b/lib/internal/Magento/Framework/Model/ResourceModel/Db/ObjectRelationProcessor.php index e899cc56f4548..0851c48d50036 100644 --- a/lib/internal/Magento/Framework/Model/ResourceModel/Db/ObjectRelationProcessor.php +++ b/lib/internal/Magento/Framework/Model/ResourceModel/Db/ObjectRelationProcessor.php @@ -10,6 +10,7 @@ /** * @api + * @since 100.0.2 */ class ObjectRelationProcessor { diff --git a/lib/internal/Magento/Framework/Model/ResourceModel/Db/TransactionManagerInterface.php b/lib/internal/Magento/Framework/Model/ResourceModel/Db/TransactionManagerInterface.php index 166789196cfa6..81ef2b1b5fa18 100644 --- a/lib/internal/Magento/Framework/Model/ResourceModel/Db/TransactionManagerInterface.php +++ b/lib/internal/Magento/Framework/Model/ResourceModel/Db/TransactionManagerInterface.php @@ -9,6 +9,7 @@ /** * @api + * @since 100.0.2 */ interface TransactionManagerInterface { diff --git a/lib/internal/Magento/Framework/Module/Dir/Reader.php b/lib/internal/Magento/Framework/Module/Dir/Reader.php index 141a291ea6818..42d97235d578e 100644 --- a/lib/internal/Magento/Framework/Module/Dir/Reader.php +++ b/lib/internal/Magento/Framework/Module/Dir/Reader.php @@ -15,6 +15,7 @@ /** * @api + * @since 100.0.2 */ class Reader { diff --git a/lib/internal/Magento/Framework/Module/Manager.php b/lib/internal/Magento/Framework/Module/Manager.php index b47349631a033..73ea68ac367c3 100644 --- a/lib/internal/Magento/Framework/Module/Manager.php +++ b/lib/internal/Magento/Framework/Module/Manager.php @@ -23,7 +23,7 @@ class Manager { /** * @var Output\ConfigInterface - * @deprecated 100.2.0 + * @deprecated 101.0.0 */ private $outputConfig; @@ -34,7 +34,7 @@ class Manager /** * @var array - * @deprecated 100.2.0 + * @deprecated 101.0.0 */ private $outputConfigPaths; @@ -69,7 +69,7 @@ public function isEnabled($moduleName) * * @param string $moduleName Fully-qualified module name * @return boolean - * @deprecated 100.2.0 Magento does not support disabling/enabling modules output from the Admin Panel since 2.2.0 + * @deprecated 101.0.0 Magento does not support disabling/enabling modules output from the Admin Panel since 2.2.0 * version. Module output can still be enabled/disabled in configuration files. However, this functionality should * not be used in future development. Module design should explicitly state dependencies to avoid requiring output * disabling. This functionality will temporarily be kept in Magento core, as there are unresolved modularity @@ -87,7 +87,7 @@ public function isOutputEnabled($moduleName) * * @param string $moduleName Fully-qualified module name * @return boolean - * @deprecated 100.2.0 + * @deprecated 101.0.0 */ protected function _isCustomOutputConfigEnabled($moduleName) { diff --git a/lib/internal/Magento/Framework/Module/ModuleResource.php b/lib/internal/Magento/Framework/Module/ModuleResource.php index b453ea4cba095..f7f212b829997 100644 --- a/lib/internal/Magento/Framework/Module/ModuleResource.php +++ b/lib/internal/Magento/Framework/Module/ModuleResource.php @@ -11,7 +11,7 @@ /** * Resource Model * - * @deprecated Declarative schema and data patches replace old functionality and setup_module table + * @deprecated 102.0.0 Declarative schema and data patches replace old functionality and setup_module table * So all resources related to this table, will be deprecated since 2.3.0 */ class ModuleResource extends AbstractDb implements ResourceInterface @@ -141,7 +141,7 @@ public function setDataVersion($moduleName, $version) /** * Flush all class cache * - * @deprecated This method was added as temporary solution, to increase modularity: + * @deprecated 102.0.0 This method was added as temporary solution, to increase modularity: * Because before new modules appears in resource only on next bootstrap * @return void */ diff --git a/lib/internal/Magento/Framework/Module/Output/Config.php b/lib/internal/Magento/Framework/Module/Output/Config.php index 48afc97dc5336..765998fcdb568 100644 --- a/lib/internal/Magento/Framework/Module/Output/Config.php +++ b/lib/internal/Magento/Framework/Module/Output/Config.php @@ -8,7 +8,7 @@ namespace Magento\Framework\Module\Output; /** - * @deprecated 100.2.0 Magento does not support disabling/enabling modules output from the Admin Panel since 2.2.0 + * @deprecated 101.0.0 Magento does not support disabling/enabling modules output from the Admin Panel since 2.2.0 * version. Module output can still be enabled/disabled in configuration files. However, this functionality should * not be used in future development. Module design should explicitly state dependencies to avoid requiring output * disabling. This functionality will temporarily be kept in Magento core, as there are unresolved modularity @@ -24,13 +24,13 @@ class Config implements \Magento\Framework\Module\Output\ConfigInterface /** * @var \Magento\Framework\App\Config\ScopeConfigInterface - * @deprecated 100.2.0 + * @deprecated 101.0.0 */ protected $_scopeConfig; /** * @var string - * @deprecated 100.2.0 + * @deprecated 101.0.0 */ protected $_storeType; @@ -50,7 +50,7 @@ public function __construct( * Whether a module is enabled in the configuration or not * * @param string $moduleName Fully-qualified module name - * @deprecated 100.2.0 Magento does not support disabling/enabling modules output from the Admin Panel since 2.2.0 + * @deprecated 101.0.0 Magento does not support disabling/enabling modules output from the Admin Panel since 2.2.0 * version. Module output can still be enabled/disabled in configuration files. However, this functionality should * not be used in future development. Module design should explicitly state dependencies to avoid requiring output * disabling. This functionality will temporarily be kept in Magento core, as there are unresolved modularity @@ -66,7 +66,7 @@ public function isEnabled($moduleName) * Retrieve module enabled specific path * * @param string $path Fully-qualified config path - * @deprecated 100.2.0 Magento does not support disabling/enabling modules output from the Admin Panel since 2.2.0 + * @deprecated 101.0.0 Magento does not support disabling/enabling modules output from the Admin Panel since 2.2.0 * version. Module output can still be enabled/disabled in configuration files. However, this functionality should * not be used in future development. Module design should explicitly state dependencies to avoid requiring output * disabling. This functionality will temporarily be kept in Magento core, as there are unresolved modularity diff --git a/lib/internal/Magento/Framework/Module/Output/ConfigInterface.php b/lib/internal/Magento/Framework/Module/Output/ConfigInterface.php index 6813691b9c906..b657e742ee2f0 100644 --- a/lib/internal/Magento/Framework/Module/Output/ConfigInterface.php +++ b/lib/internal/Magento/Framework/Module/Output/ConfigInterface.php @@ -6,7 +6,7 @@ namespace Magento\Framework\Module\Output; /** - * @deprecated 100.2.0 Magento does not support disabling/enabling modules output from the Admin Panel since 2.2.0 + * @deprecated 101.0.0 Magento does not support disabling/enabling modules output from the Admin Panel since 2.2.0 * version. Module output can still be enabled/disabled in configuration files. */ interface ConfigInterface @@ -15,7 +15,7 @@ interface ConfigInterface * Whether a module is enabled in the configuration or not * * @param string $moduleName Fully-qualified module name - * @deprecated 100.2.0 Magento does not support disabling/enabling modules output from the Admin Panel since 2.2.0 + * @deprecated 101.0.0 Magento does not support disabling/enabling modules output from the Admin Panel since 2.2.0 * version. Module output can still be enabled/disabled in configuration files. However, this functionality should * not be used in future development. Module design should explicitly state dependencies to avoid requiring output * disabling. This functionality will temporarily be kept in Magento core, as there are unresolved modularity @@ -28,7 +28,7 @@ public function isEnabled($moduleName); * Retrieve module enabled specific path * * @param string $path Fully-qualified config path - * @deprecated 100.2.0 Magento does not support disabling/enabling modules output from the Admin Panel since 2.2.0 + * @deprecated 101.0.0 Magento does not support disabling/enabling modules output from the Admin Panel since 2.2.0 * version. Module output can still be enabled/disabled in configuration files. However, this functionality should * not be used in future development. Module design should explicitly state dependencies to avoid requiring output * disabling. This functionality will temporarily be kept in Magento core, as there are unresolved modularity diff --git a/lib/internal/Magento/Framework/Module/Setup/Migration.php b/lib/internal/Magento/Framework/Module/Setup/Migration.php index 1de26b5c9234a..551ea3305337a 100644 --- a/lib/internal/Magento/Framework/Module/Setup/Migration.php +++ b/lib/internal/Magento/Framework/Module/Setup/Migration.php @@ -15,6 +15,7 @@ * @api * @SuppressWarnings(PHPMD.ExcessiveParameterList) * @SuppressWarnings(PHPMD.CouplingBetweenObjects) + * @since 100.0.2 */ class Migration { @@ -703,7 +704,7 @@ public function getCompositeModules() * @return string|int|float|bool|array|null * @throws \InvalidArgumentException * @SuppressWarnings(PHPMD.UnusedFormalParameter) - * @deprecated + * @deprecated 101.0.1 * @see \Magento\Framework\Module\Setup\Migration::jsonDecode */ protected function _jsonDecode($encodedValue, $objectDecodeType = 1) diff --git a/lib/internal/Magento/Framework/Notification/MessageInterface.php b/lib/internal/Magento/Framework/Notification/MessageInterface.php index a1694b042d9db..b768c0daed11b 100644 --- a/lib/internal/Magento/Framework/Notification/MessageInterface.php +++ b/lib/internal/Magento/Framework/Notification/MessageInterface.php @@ -14,6 +14,7 @@ * Interface MessageInterface * * @api + * @since 100.0.2 */ interface MessageInterface { diff --git a/lib/internal/Magento/Framework/Notification/MessageList.php b/lib/internal/Magento/Framework/Notification/MessageList.php index ac753b48c8944..62ac8e083bfd1 100644 --- a/lib/internal/Magento/Framework/Notification/MessageList.php +++ b/lib/internal/Magento/Framework/Notification/MessageList.php @@ -11,6 +11,7 @@ * * Class MessageList * @api + * @since 100.0.2 */ class MessageList { diff --git a/lib/internal/Magento/Framework/Notification/NotifierInterface.php b/lib/internal/Magento/Framework/Notification/NotifierInterface.php index 0e34e69a94541..862298663a9c6 100644 --- a/lib/internal/Magento/Framework/Notification/NotifierInterface.php +++ b/lib/internal/Magento/Framework/Notification/NotifierInterface.php @@ -12,6 +12,7 @@ * Interface NotifierInterface * * @api + * @since 100.0.2 */ interface NotifierInterface { diff --git a/lib/internal/Magento/Framework/Notification/NotifierList.php b/lib/internal/Magento/Framework/Notification/NotifierList.php index e436e21cae5fc..2b2f9f5faf8a8 100644 --- a/lib/internal/Magento/Framework/Notification/NotifierList.php +++ b/lib/internal/Magento/Framework/Notification/NotifierList.php @@ -10,6 +10,7 @@ * List of registered system notifiers * @api * + * @since 100.0.2 */ class NotifierList { diff --git a/lib/internal/Magento/Framework/Oauth/ConsumerInterface.php b/lib/internal/Magento/Framework/Oauth/ConsumerInterface.php index ae416b01eae94..3945233ca2b5d 100644 --- a/lib/internal/Magento/Framework/Oauth/ConsumerInterface.php +++ b/lib/internal/Magento/Framework/Oauth/ConsumerInterface.php @@ -9,6 +9,7 @@ * Oauth consumer interface. * * @api + * @since 100.0.2 */ interface ConsumerInterface { diff --git a/lib/internal/Magento/Framework/Oauth/Exception.php b/lib/internal/Magento/Framework/Oauth/Exception.php index 6e6753654fdd2..eaf1fd065ab01 100644 --- a/lib/internal/Magento/Framework/Oauth/Exception.php +++ b/lib/internal/Magento/Framework/Oauth/Exception.php @@ -11,6 +11,7 @@ * OAuth Exception * * @api + * @since 100.0.2 */ class Exception extends AuthenticationException { diff --git a/lib/internal/Magento/Framework/Oauth/NonceGeneratorInterface.php b/lib/internal/Magento/Framework/Oauth/NonceGeneratorInterface.php index ca364aa95abeb..79dd527afc570 100644 --- a/lib/internal/Magento/Framework/Oauth/NonceGeneratorInterface.php +++ b/lib/internal/Magento/Framework/Oauth/NonceGeneratorInterface.php @@ -11,6 +11,7 @@ * A method for generating a current timestamp is also provided by this interface. * * @api + * @since 100.0.2 */ interface NonceGeneratorInterface { diff --git a/lib/internal/Magento/Framework/Oauth/OauthInputException.php b/lib/internal/Magento/Framework/Oauth/OauthInputException.php index 1c526dd220f25..52ff15bbb75d5 100644 --- a/lib/internal/Magento/Framework/Oauth/OauthInputException.php +++ b/lib/internal/Magento/Framework/Oauth/OauthInputException.php @@ -10,6 +10,7 @@ /** * @api + * @since 100.0.2 */ class OauthInputException extends InputException { diff --git a/lib/internal/Magento/Framework/Oauth/OauthInterface.php b/lib/internal/Magento/Framework/Oauth/OauthInterface.php index 4f68eabaf69dc..8528e682ab4c8 100644 --- a/lib/internal/Magento/Framework/Oauth/OauthInterface.php +++ b/lib/internal/Magento/Framework/Oauth/OauthInterface.php @@ -11,6 +11,7 @@ * token requests. A method is also included for generating an OAuth header that can be used in an HTTP request. * * @api + * @since 100.0.2 */ interface OauthInterface { diff --git a/lib/internal/Magento/Framework/Oauth/TokenProviderInterface.php b/lib/internal/Magento/Framework/Oauth/TokenProviderInterface.php index 7f4bc6a320173..7b07b1550745a 100644 --- a/lib/internal/Magento/Framework/Oauth/TokenProviderInterface.php +++ b/lib/internal/Magento/Framework/Oauth/TokenProviderInterface.php @@ -11,6 +11,7 @@ * provided to help clients manipulating tokens validate and acquire the associated token consumer. * * @api + * @since 100.0.2 */ interface TokenProviderInterface { diff --git a/lib/internal/Magento/Framework/ObjectManager/Code/Generator/Repository.php b/lib/internal/Magento/Framework/ObjectManager/Code/Generator/Repository.php index be484f074342d..538024678f198 100644 --- a/lib/internal/Magento/Framework/ObjectManager/Code/Generator/Repository.php +++ b/lib/internal/Magento/Framework/ObjectManager/Code/Generator/Repository.php @@ -16,8 +16,7 @@ /** * Class Repository - * @since 2.0.0 - * @deprecated 2.2.0 As current implementation breaks Repository contract. Not removed from codebase to prevent + * @deprecated 101.0.0 As current implementation breaks Repository contract. Not removed from codebase to prevent * possible backward incompatibilities if this functionality being used by 3rd party developers. */ class Repository extends \Magento\Framework\Code\Generator\EntityAbstract diff --git a/lib/internal/Magento/Framework/ObjectManager/Config/Config.php b/lib/internal/Magento/Framework/ObjectManager/Config/Config.php index b45a2f8bcf0ba..72b5902337b0d 100644 --- a/lib/internal/Magento/Framework/ObjectManager/Config/Config.php +++ b/lib/internal/Magento/Framework/ObjectManager/Config/Config.php @@ -336,7 +336,7 @@ public function getPreferences() * Get serializer * * @return \Magento\Framework\Serialize\SerializerInterface - * @deprecated 100.2.0 + * @deprecated 101.0.0 */ private function getSerializer() { diff --git a/lib/internal/Magento/Framework/ObjectManager/ContextInterface.php b/lib/internal/Magento/Framework/ObjectManager/ContextInterface.php index 323f092e7cf52..742917ead47fc 100644 --- a/lib/internal/Magento/Framework/ObjectManager/ContextInterface.php +++ b/lib/internal/Magento/Framework/ObjectManager/ContextInterface.php @@ -17,6 +17,7 @@ * the classes they were introduced for. * * @api + * @since 100.0.2 */ interface ContextInterface { diff --git a/lib/internal/Magento/Framework/ObjectManagerInterface.php b/lib/internal/Magento/Framework/ObjectManagerInterface.php index 68e7056bc413b..6b165595f0f2c 100644 --- a/lib/internal/Magento/Framework/ObjectManagerInterface.php +++ b/lib/internal/Magento/Framework/ObjectManagerInterface.php @@ -7,6 +7,7 @@ /** * @api + * @since 100.0.2 */ interface ObjectManagerInterface { diff --git a/lib/internal/Magento/Framework/Option/ArrayInterface.php b/lib/internal/Magento/Framework/Option/ArrayInterface.php index 054d9059b02f8..3c813545bc2c5 100644 --- a/lib/internal/Magento/Framework/Option/ArrayInterface.php +++ b/lib/internal/Magento/Framework/Option/ArrayInterface.php @@ -8,7 +8,7 @@ /** * Array marker interface * - * @deprecated please use \Magento\Framework\Data\OptionSourceInterface instead. + * @deprecated 102.0.1 please use \Magento\Framework\Data\OptionSourceInterface instead. * @see \Magento\Framework\Data\OptionSourceInterface */ interface ArrayInterface extends \Magento\Framework\Data\OptionSourceInterface diff --git a/lib/internal/Magento/Framework/Phrase.php b/lib/internal/Magento/Framework/Phrase.php index 02092c3ab8581..30fab8292f11e 100644 --- a/lib/internal/Magento/Framework/Phrase.php +++ b/lib/internal/Magento/Framework/Phrase.php @@ -12,6 +12,7 @@ /** * @api + * @since 100.0.2 */ class Phrase implements \JsonSerializable { diff --git a/lib/internal/Magento/Framework/Phrase/RendererInterface.php b/lib/internal/Magento/Framework/Phrase/RendererInterface.php index e3e314696f3d1..fa8a8fcae7ae8 100644 --- a/lib/internal/Magento/Framework/Phrase/RendererInterface.php +++ b/lib/internal/Magento/Framework/Phrase/RendererInterface.php @@ -11,6 +11,7 @@ * Translated phrase renderer * * @api + * @since 100.0.2 */ interface RendererInterface { diff --git a/lib/internal/Magento/Framework/Pricing/Adjustment/AdjustmentInterface.php b/lib/internal/Magento/Framework/Pricing/Adjustment/AdjustmentInterface.php index 9dff304ea3407..2ca6bd07d16e0 100644 --- a/lib/internal/Magento/Framework/Pricing/Adjustment/AdjustmentInterface.php +++ b/lib/internal/Magento/Framework/Pricing/Adjustment/AdjustmentInterface.php @@ -12,6 +12,7 @@ * Interface AdjustmentInterface * * @api + * @since 100.0.2 */ interface AdjustmentInterface { diff --git a/lib/internal/Magento/Framework/Pricing/Adjustment/CalculatorInterface.php b/lib/internal/Magento/Framework/Pricing/Adjustment/CalculatorInterface.php index ea622c2a1cba6..2c182632407ab 100644 --- a/lib/internal/Magento/Framework/Pricing/Adjustment/CalculatorInterface.php +++ b/lib/internal/Magento/Framework/Pricing/Adjustment/CalculatorInterface.php @@ -12,6 +12,7 @@ * Calculator interface * * @api + * @since 100.0.2 */ interface CalculatorInterface { diff --git a/lib/internal/Magento/Framework/Pricing/Adjustment/Collection.php b/lib/internal/Magento/Framework/Pricing/Adjustment/Collection.php index c7ab4b6e796c2..96e4d52e6b41d 100644 --- a/lib/internal/Magento/Framework/Pricing/Adjustment/Collection.php +++ b/lib/internal/Magento/Framework/Pricing/Adjustment/Collection.php @@ -10,6 +10,7 @@ * Adjustment collection model * * @api + * @since 100.0.2 */ class Collection { diff --git a/lib/internal/Magento/Framework/Pricing/Adjustment/Pool.php b/lib/internal/Magento/Framework/Pricing/Adjustment/Pool.php index d064e05b0b671..4d1e213a9ff6a 100644 --- a/lib/internal/Magento/Framework/Pricing/Adjustment/Pool.php +++ b/lib/internal/Magento/Framework/Pricing/Adjustment/Pool.php @@ -12,6 +12,7 @@ * Global adjustment pool model * * @api + * @since 100.0.2 */ class Pool { diff --git a/lib/internal/Magento/Framework/Pricing/Amount/AmountFactory.php b/lib/internal/Magento/Framework/Pricing/Amount/AmountFactory.php index a8340ee097f58..93da79d8588cb 100644 --- a/lib/internal/Magento/Framework/Pricing/Amount/AmountFactory.php +++ b/lib/internal/Magento/Framework/Pricing/Amount/AmountFactory.php @@ -10,6 +10,7 @@ * Class AmountFactory * * @api + * @since 100.0.2 */ class AmountFactory { diff --git a/lib/internal/Magento/Framework/Pricing/Amount/AmountInterface.php b/lib/internal/Magento/Framework/Pricing/Amount/AmountInterface.php index a625e340395cc..45240315aa126 100644 --- a/lib/internal/Magento/Framework/Pricing/Amount/AmountInterface.php +++ b/lib/internal/Magento/Framework/Pricing/Amount/AmountInterface.php @@ -10,6 +10,7 @@ * Amount interface, the amount values are in display currency * * @api + * @since 100.0.2 */ interface AmountInterface { diff --git a/lib/internal/Magento/Framework/Pricing/Helper/Data.php b/lib/internal/Magento/Framework/Pricing/Helper/Data.php index bc56bddea8ece..39852074300be 100644 --- a/lib/internal/Magento/Framework/Pricing/Helper/Data.php +++ b/lib/internal/Magento/Framework/Pricing/Helper/Data.php @@ -11,6 +11,7 @@ * Pricing data helper * * @api + * @since 100.0.2 */ class Data extends \Magento\Framework\App\Helper\AbstractHelper { diff --git a/lib/internal/Magento/Framework/Pricing/Price/AbstractPrice.php b/lib/internal/Magento/Framework/Pricing/Price/AbstractPrice.php index 8c49385f7e60f..89470cf24cbb6 100644 --- a/lib/internal/Magento/Framework/Pricing/Price/AbstractPrice.php +++ b/lib/internal/Magento/Framework/Pricing/Price/AbstractPrice.php @@ -16,6 +16,7 @@ * Should be the base for creating any Price type class * * @api + * @since 100.0.2 */ abstract class AbstractPrice implements PriceInterface { diff --git a/lib/internal/Magento/Framework/Pricing/Price/BasePriceProviderInterface.php b/lib/internal/Magento/Framework/Pricing/Price/BasePriceProviderInterface.php index eb5c6d9064e21..b6367fa46c161 100644 --- a/lib/internal/Magento/Framework/Pricing/Price/BasePriceProviderInterface.php +++ b/lib/internal/Magento/Framework/Pricing/Price/BasePriceProviderInterface.php @@ -10,6 +10,7 @@ * Interface BasePriceProviderInterface * * @api + * @since 100.0.2 */ interface BasePriceProviderInterface { diff --git a/lib/internal/Magento/Framework/Pricing/Price/Collection.php b/lib/internal/Magento/Framework/Pricing/Price/Collection.php index 200c3a50aff89..eedb910c56b92 100644 --- a/lib/internal/Magento/Framework/Pricing/Price/Collection.php +++ b/lib/internal/Magento/Framework/Pricing/Price/Collection.php @@ -12,6 +12,7 @@ * Class Collection * * @api + * @since 100.0.2 */ class Collection implements \Iterator { diff --git a/lib/internal/Magento/Framework/Pricing/Price/Pool.php b/lib/internal/Magento/Framework/Pricing/Price/Pool.php index dfdd0c52681e1..a1c7d416b2259 100644 --- a/lib/internal/Magento/Framework/Pricing/Price/Pool.php +++ b/lib/internal/Magento/Framework/Pricing/Price/Pool.php @@ -10,6 +10,7 @@ * Class Pool * * @api + * @since 100.0.2 */ class Pool implements \Iterator, \ArrayAccess { diff --git a/lib/internal/Magento/Framework/Pricing/Price/PriceInterface.php b/lib/internal/Magento/Framework/Pricing/Price/PriceInterface.php index 7953940287eb2..2b3bd86d04b2b 100644 --- a/lib/internal/Magento/Framework/Pricing/Price/PriceInterface.php +++ b/lib/internal/Magento/Framework/Pricing/Price/PriceInterface.php @@ -12,6 +12,7 @@ * Catalog price interface * * @api + * @since 100.0.2 */ interface PriceInterface { diff --git a/lib/internal/Magento/Framework/Pricing/PriceCurrencyInterface.php b/lib/internal/Magento/Framework/Pricing/PriceCurrencyInterface.php index eb379b54d257f..665b9b559208f 100644 --- a/lib/internal/Magento/Framework/Pricing/PriceCurrencyInterface.php +++ b/lib/internal/Magento/Framework/Pricing/PriceCurrencyInterface.php @@ -10,6 +10,7 @@ * Interface PriceCurrencyInterface * * @api + * @since 100.0.2 */ interface PriceCurrencyInterface { @@ -78,7 +79,7 @@ public function convertAndFormat( /** * Round price * - * @deprecated + * @deprecated 102.0.1 * @param float $price * @return float */ diff --git a/lib/internal/Magento/Framework/Pricing/PriceInfo/Base.php b/lib/internal/Magento/Framework/Pricing/PriceInfo/Base.php index ac8c301e24a5c..31b343c74e272 100644 --- a/lib/internal/Magento/Framework/Pricing/PriceInfo/Base.php +++ b/lib/internal/Magento/Framework/Pricing/PriceInfo/Base.php @@ -17,6 +17,7 @@ * Price info base model * * @api + * @since 100.0.2 */ class Base implements PriceInfoInterface { diff --git a/lib/internal/Magento/Framework/Pricing/PriceInfo/Factory.php b/lib/internal/Magento/Framework/Pricing/PriceInfo/Factory.php index e3e4af56f6095..8739520016764 100644 --- a/lib/internal/Magento/Framework/Pricing/PriceInfo/Factory.php +++ b/lib/internal/Magento/Framework/Pricing/PriceInfo/Factory.php @@ -16,6 +16,7 @@ * Price info model factory * * @api + * @since 100.0.2 */ class Factory { diff --git a/lib/internal/Magento/Framework/Pricing/PriceInfoInterface.php b/lib/internal/Magento/Framework/Pricing/PriceInfoInterface.php index 259a8a4d8c2d1..80620008c77ae 100644 --- a/lib/internal/Magento/Framework/Pricing/PriceInfoInterface.php +++ b/lib/internal/Magento/Framework/Pricing/PriceInfoInterface.php @@ -13,6 +13,7 @@ * Price info model interface * * @api + * @since 100.0.2 */ interface PriceInfoInterface { diff --git a/lib/internal/Magento/Framework/Pricing/Render.php b/lib/internal/Magento/Framework/Pricing/Render.php index 2159fcaeaa121..0784a09191380 100644 --- a/lib/internal/Magento/Framework/Pricing/Render.php +++ b/lib/internal/Magento/Framework/Pricing/Render.php @@ -19,6 +19,7 @@ * @method string getPriceRenderHandle() * * @api + * @since 100.0.2 */ class Render extends AbstractBlock { diff --git a/lib/internal/Magento/Framework/Pricing/Render/AdjustmentRenderInterface.php b/lib/internal/Magento/Framework/Pricing/Render/AdjustmentRenderInterface.php index 3be51eb83b911..a9bfb84bcaded 100644 --- a/lib/internal/Magento/Framework/Pricing/Render/AdjustmentRenderInterface.php +++ b/lib/internal/Magento/Framework/Pricing/Render/AdjustmentRenderInterface.php @@ -13,6 +13,7 @@ * Adjustment render interface * * @api + * @since 100.0.2 */ interface AdjustmentRenderInterface { diff --git a/lib/internal/Magento/Framework/Pricing/Render/AmountRenderInterface.php b/lib/internal/Magento/Framework/Pricing/Render/AmountRenderInterface.php index 724593e269944..38acbe37e71db 100644 --- a/lib/internal/Magento/Framework/Pricing/Render/AmountRenderInterface.php +++ b/lib/internal/Magento/Framework/Pricing/Render/AmountRenderInterface.php @@ -14,6 +14,7 @@ * Price amount renderer interface * * @api + * @since 100.0.2 */ interface AmountRenderInterface { diff --git a/lib/internal/Magento/Framework/Pricing/Render/PriceBoxRenderInterface.php b/lib/internal/Magento/Framework/Pricing/Render/PriceBoxRenderInterface.php index 9c23c594a89fb..68a246a36c8dc 100644 --- a/lib/internal/Magento/Framework/Pricing/Render/PriceBoxRenderInterface.php +++ b/lib/internal/Magento/Framework/Pricing/Render/PriceBoxRenderInterface.php @@ -14,6 +14,7 @@ * Price box render interface * * @api + * @since 100.0.2 */ interface PriceBoxRenderInterface { diff --git a/lib/internal/Magento/Framework/Pricing/Render/RendererPool.php b/lib/internal/Magento/Framework/Pricing/Render/RendererPool.php index 73efef2e477be..a32273f51c8f4 100644 --- a/lib/internal/Magento/Framework/Pricing/Render/RendererPool.php +++ b/lib/internal/Magento/Framework/Pricing/Render/RendererPool.php @@ -13,6 +13,7 @@ /** * @api + * @since 100.0.2 */ class RendererPool extends AbstractBlock { diff --git a/lib/internal/Magento/Framework/Pricing/SaleableInterface.php b/lib/internal/Magento/Framework/Pricing/SaleableInterface.php index 240012c0b18e1..9d7959ff80fea 100644 --- a/lib/internal/Magento/Framework/Pricing/SaleableInterface.php +++ b/lib/internal/Magento/Framework/Pricing/SaleableInterface.php @@ -10,6 +10,7 @@ * Interface SaleableInterface * * @api + * @since 100.0.2 */ interface SaleableInterface { diff --git a/lib/internal/Magento/Framework/Profiler.php b/lib/internal/Magento/Framework/Profiler.php index eaf0a732f98c0..4fafc68a568db 100644 --- a/lib/internal/Magento/Framework/Profiler.php +++ b/lib/internal/Magento/Framework/Profiler.php @@ -12,6 +12,7 @@ /** * @api + * @since 100.0.2 */ class Profiler { diff --git a/lib/internal/Magento/Framework/Profiler/DriverInterface.php b/lib/internal/Magento/Framework/Profiler/DriverInterface.php index fe6393b3a43e3..4230b69dab917 100644 --- a/lib/internal/Magento/Framework/Profiler/DriverInterface.php +++ b/lib/internal/Magento/Framework/Profiler/DriverInterface.php @@ -11,6 +11,7 @@ /** * @api + * @since 100.0.2 */ interface DriverInterface { diff --git a/lib/internal/Magento/Framework/Reflection/DataObjectProcessor.php b/lib/internal/Magento/Framework/Reflection/DataObjectProcessor.php index 2f3caf08c534e..43b8cc22ebf2c 100644 --- a/lib/internal/Magento/Framework/Reflection/DataObjectProcessor.php +++ b/lib/internal/Magento/Framework/Reflection/DataObjectProcessor.php @@ -12,6 +12,7 @@ * Data object processor for array serialization using class reflection * * @api + * @since 100.0.2 */ class DataObjectProcessor { diff --git a/lib/internal/Magento/Framework/Reflection/MethodsMap.php b/lib/internal/Magento/Framework/Reflection/MethodsMap.php index 6b0ddfbfc2127..a3b8b58b7793d 100644 --- a/lib/internal/Magento/Framework/Reflection/MethodsMap.php +++ b/lib/internal/Magento/Framework/Reflection/MethodsMap.php @@ -232,7 +232,7 @@ public function isMethodReturnValueRequired($type, $methodName) * Get serializer * * @return \Magento\Framework\Serialize\SerializerInterface - * @deprecated 100.2.0 + * @deprecated 101.0.0 */ private function getSerializer() { diff --git a/lib/internal/Magento/Framework/Registry.php b/lib/internal/Magento/Framework/Registry.php index d1bc227437d5f..e798b28e1e1b2 100644 --- a/lib/internal/Magento/Framework/Registry.php +++ b/lib/internal/Magento/Framework/Registry.php @@ -12,7 +12,8 @@ * It's usage should be avoid. Use service classes or data providers instead. * * @api - * @deprecated + * @deprecated 102.0.0 + * @since 100.0.2 */ class Registry { @@ -29,7 +30,7 @@ class Registry * @param string $key * @return mixed * - * @deprecated + * @deprecated 102.0.0 */ public function registry($key) { @@ -48,7 +49,7 @@ public function registry($key) * @return void * @throws \RuntimeException * - * @deprecated + * @deprecated 102.0.0 */ public function register($key, $value, $graceful = false) { @@ -67,7 +68,7 @@ public function register($key, $value, $graceful = false) * @param string $key * @return void * - * @deprecated + * @deprecated 102.0.0 */ public function unregister($key) { diff --git a/lib/internal/Magento/Framework/Search/Adapter/Mysql/Adapter.php b/lib/internal/Magento/Framework/Search/Adapter/Mysql/Adapter.php index e1b423d738a20..77be3dba85ce7 100644 --- a/lib/internal/Magento/Framework/Search/Adapter/Mysql/Adapter.php +++ b/lib/internal/Magento/Framework/Search/Adapter/Mysql/Adapter.php @@ -15,7 +15,7 @@ /** * MySQL Search Adapter * - * @deprecated + * @deprecated 102.0.0 * @see \Magento\ElasticSearch * @SuppressWarnings(PHPMD.CouplingBetweenObjects) */ diff --git a/lib/internal/Magento/Framework/Search/Adapter/Mysql/Aggregation/Builder.php b/lib/internal/Magento/Framework/Search/Adapter/Mysql/Aggregation/Builder.php index 4a5802dd44e04..9cf926b996f31 100644 --- a/lib/internal/Magento/Framework/Search/Adapter/Mysql/Aggregation/Builder.php +++ b/lib/internal/Magento/Framework/Search/Adapter/Mysql/Aggregation/Builder.php @@ -17,9 +17,10 @@ /** * MySQL search aggregation builder. * - * @deprecated + * @deprecated 102.0.0 * @see \Magento\ElasticSearch * @api + * @since 100.0.2 */ class Builder { diff --git a/lib/internal/Magento/Framework/Search/Adapter/Mysql/Aggregation/Builder/BucketInterface.php b/lib/internal/Magento/Framework/Search/Adapter/Mysql/Aggregation/Builder/BucketInterface.php index 4fa2474d2258e..e23df661376c3 100644 --- a/lib/internal/Magento/Framework/Search/Adapter/Mysql/Aggregation/Builder/BucketInterface.php +++ b/lib/internal/Magento/Framework/Search/Adapter/Mysql/Aggregation/Builder/BucketInterface.php @@ -13,7 +13,7 @@ /** * MySQL search aggregation bucket builder. * - * @deprecated + * @deprecated 102.0.0 * @see \Magento\ElasticSearch */ interface BucketInterface diff --git a/lib/internal/Magento/Framework/Search/Adapter/Mysql/Aggregation/Builder/Container.php b/lib/internal/Magento/Framework/Search/Adapter/Mysql/Aggregation/Builder/Container.php index 844cfc9f8741d..c64898fb2676d 100644 --- a/lib/internal/Magento/Framework/Search/Adapter/Mysql/Aggregation/Builder/Container.php +++ b/lib/internal/Magento/Framework/Search/Adapter/Mysql/Aggregation/Builder/Container.php @@ -8,7 +8,7 @@ /** * MySQL search aggregation container builder. * - * @deprecated + * @deprecated 102.0.0 * @see \Magento\ElasticSearch */ class Container diff --git a/lib/internal/Magento/Framework/Search/Adapter/Mysql/Aggregation/Builder/Dynamic.php b/lib/internal/Magento/Framework/Search/Adapter/Mysql/Aggregation/Builder/Dynamic.php index 46828ab7a8c73..4bd1cd40a6d8c 100644 --- a/lib/internal/Magento/Framework/Search/Adapter/Mysql/Aggregation/Builder/Dynamic.php +++ b/lib/internal/Magento/Framework/Search/Adapter/Mysql/Aggregation/Builder/Dynamic.php @@ -15,7 +15,7 @@ /** * MySQL search dynamic aggregation builder. * - * @deprecated + * @deprecated 102.0.0 * @see \Magento\ElasticSearch */ class Dynamic implements BucketInterface diff --git a/lib/internal/Magento/Framework/Search/Adapter/Mysql/Aggregation/Builder/Metrics.php b/lib/internal/Magento/Framework/Search/Adapter/Mysql/Aggregation/Builder/Metrics.php index e4cdb04052ef2..f75c631696319 100644 --- a/lib/internal/Magento/Framework/Search/Adapter/Mysql/Aggregation/Builder/Metrics.php +++ b/lib/internal/Magento/Framework/Search/Adapter/Mysql/Aggregation/Builder/Metrics.php @@ -10,7 +10,7 @@ /** * MySQL search aggregation metrics builder. * - * @deprecated + * @deprecated 102.0.0 * @see \Magento\ElasticSearch */ class Metrics diff --git a/lib/internal/Magento/Framework/Search/Adapter/Mysql/Aggregation/Builder/Range.php b/lib/internal/Magento/Framework/Search/Adapter/Mysql/Aggregation/Builder/Range.php index aced57c100130..418a6ecc5ad90 100644 --- a/lib/internal/Magento/Framework/Search/Adapter/Mysql/Aggregation/Builder/Range.php +++ b/lib/internal/Magento/Framework/Search/Adapter/Mysql/Aggregation/Builder/Range.php @@ -17,7 +17,7 @@ /** * MySQL search aggregation range builder. * - * @deprecated + * @deprecated 102.0.0 * @see \Magento\ElasticSearch */ class Range implements BucketInterface diff --git a/lib/internal/Magento/Framework/Search/Adapter/Mysql/Aggregation/Builder/Term.php b/lib/internal/Magento/Framework/Search/Adapter/Mysql/Aggregation/Builder/Term.php index 547526be43ccd..53bd86eaf1a98 100644 --- a/lib/internal/Magento/Framework/Search/Adapter/Mysql/Aggregation/Builder/Term.php +++ b/lib/internal/Magento/Framework/Search/Adapter/Mysql/Aggregation/Builder/Term.php @@ -12,7 +12,7 @@ /** * MySQL search aggregation term builder. * - * @deprecated + * @deprecated 102.0.0 * @see \Magento\ElasticSearch */ class Term implements BucketInterface diff --git a/lib/internal/Magento/Framework/Search/Adapter/Mysql/Aggregation/DataProviderContainer.php b/lib/internal/Magento/Framework/Search/Adapter/Mysql/Aggregation/DataProviderContainer.php index 565b5eeef3351..235bac911cc6e 100644 --- a/lib/internal/Magento/Framework/Search/Adapter/Mysql/Aggregation/DataProviderContainer.php +++ b/lib/internal/Magento/Framework/Search/Adapter/Mysql/Aggregation/DataProviderContainer.php @@ -8,9 +8,10 @@ /** * MySQL search data provider container. * - * @deprecated + * @deprecated 102.0.0 * @see \Magento\ElasticSearch * @api + * @since 100.0.2 */ class DataProviderContainer { diff --git a/lib/internal/Magento/Framework/Search/Adapter/Mysql/Aggregation/DataProviderInterface.php b/lib/internal/Magento/Framework/Search/Adapter/Mysql/Aggregation/DataProviderInterface.php index c251265c694d2..6d89654ef5a93 100644 --- a/lib/internal/Magento/Framework/Search/Adapter/Mysql/Aggregation/DataProviderInterface.php +++ b/lib/internal/Magento/Framework/Search/Adapter/Mysql/Aggregation/DataProviderInterface.php @@ -13,7 +13,7 @@ /** * MySQL search data provider. * - * @deprecated + * @deprecated 102.0.0 * @see \Magento\ElasticSearch */ interface DataProviderInterface diff --git a/lib/internal/Magento/Framework/Search/Adapter/Mysql/Aggregation/Interval.php b/lib/internal/Magento/Framework/Search/Adapter/Mysql/Aggregation/Interval.php index ba41a535f45c9..374d80c8d472b 100644 --- a/lib/internal/Magento/Framework/Search/Adapter/Mysql/Aggregation/Interval.php +++ b/lib/internal/Magento/Framework/Search/Adapter/Mysql/Aggregation/Interval.php @@ -11,7 +11,7 @@ /** * MySQL search aggregation interval. * - * @deprecated + * @deprecated 102.0.0 * @see \Magento\ElasticSearch */ class Interval implements IntervalInterface diff --git a/lib/internal/Magento/Framework/Search/Adapter/Mysql/AggregationFactory.php b/lib/internal/Magento/Framework/Search/Adapter/Mysql/AggregationFactory.php index 756d9edc6fbe1..28c01a615e5e8 100644 --- a/lib/internal/Magento/Framework/Search/Adapter/Mysql/AggregationFactory.php +++ b/lib/internal/Magento/Framework/Search/Adapter/Mysql/AggregationFactory.php @@ -8,7 +8,7 @@ /** * Aggregation Factory * - * @deprecated + * @deprecated 102.0.0 * @see \Magento\ElasticSearch */ class AggregationFactory diff --git a/lib/internal/Magento/Framework/Search/Adapter/Mysql/ConditionManager.php b/lib/internal/Magento/Framework/Search/Adapter/Mysql/ConditionManager.php index e56559563c35a..8dffc679b5c7f 100644 --- a/lib/internal/Magento/Framework/Search/Adapter/Mysql/ConditionManager.php +++ b/lib/internal/Magento/Framework/Search/Adapter/Mysql/ConditionManager.php @@ -12,8 +12,9 @@ * MySQL search condition manager * * @api - * @deprecated + * @deprecated 102.0.0 * @see \Magento\ElasticSearch + * @since 100.0.2 */ class ConditionManager { diff --git a/lib/internal/Magento/Framework/Search/Adapter/Mysql/DocumentFactory.php b/lib/internal/Magento/Framework/Search/Adapter/Mysql/DocumentFactory.php index 4e8854fad353a..40649ee88b777 100644 --- a/lib/internal/Magento/Framework/Search/Adapter/Mysql/DocumentFactory.php +++ b/lib/internal/Magento/Framework/Search/Adapter/Mysql/DocumentFactory.php @@ -15,8 +15,9 @@ * Document Factory * * @api - * @deprecated + * @deprecated 102.0.0 * @see \Magento\ElasticSearch + * @since 100.0.2 */ class DocumentFactory { diff --git a/lib/internal/Magento/Framework/Search/Adapter/Mysql/Field/Field.php b/lib/internal/Magento/Framework/Search/Adapter/Mysql/Field/Field.php index 0a340e7f76dc0..0fc76e44f3491 100644 --- a/lib/internal/Magento/Framework/Search/Adapter/Mysql/Field/Field.php +++ b/lib/internal/Magento/Framework/Search/Adapter/Mysql/Field/Field.php @@ -8,7 +8,7 @@ /** * @inheritdoc - * @deprecated + * @deprecated 102.0.0 * @see \Magento\ElasticSearch */ class Field implements FieldInterface diff --git a/lib/internal/Magento/Framework/Search/Adapter/Mysql/Field/FieldFactory.php b/lib/internal/Magento/Framework/Search/Adapter/Mysql/Field/FieldFactory.php index 066d1832aefbf..b12d84a2065bf 100644 --- a/lib/internal/Magento/Framework/Search/Adapter/Mysql/Field/FieldFactory.php +++ b/lib/internal/Magento/Framework/Search/Adapter/Mysql/Field/FieldFactory.php @@ -10,8 +10,9 @@ * MySQL search field factory. * * @api - * @deprecated + * @deprecated 102.0.0 * @see \Magento\ElasticSearch + * @since 100.0.2 */ class FieldFactory { diff --git a/lib/internal/Magento/Framework/Search/Adapter/Mysql/Field/FieldInterface.php b/lib/internal/Magento/Framework/Search/Adapter/Mysql/Field/FieldInterface.php index 7dc74f39709f9..3952aff32db0f 100644 --- a/lib/internal/Magento/Framework/Search/Adapter/Mysql/Field/FieldInterface.php +++ b/lib/internal/Magento/Framework/Search/Adapter/Mysql/Field/FieldInterface.php @@ -9,7 +9,7 @@ /** * MySQL search field. * - * @deprecated + * @deprecated 102.0.0 * @see \Magento\ElasticSearch */ interface FieldInterface diff --git a/lib/internal/Magento/Framework/Search/Adapter/Mysql/Field/ResolverInterface.php b/lib/internal/Magento/Framework/Search/Adapter/Mysql/Field/ResolverInterface.php index 5455b91d73020..d71a968021927 100644 --- a/lib/internal/Magento/Framework/Search/Adapter/Mysql/Field/ResolverInterface.php +++ b/lib/internal/Magento/Framework/Search/Adapter/Mysql/Field/ResolverInterface.php @@ -8,7 +8,7 @@ /** * MySQL search field resolver. * - * @deprecated + * @deprecated 102.0.0 * @see \Magento\ElasticSearch */ interface ResolverInterface diff --git a/lib/internal/Magento/Framework/Search/Adapter/Mysql/Filter/Builder/FilterInterface.php b/lib/internal/Magento/Framework/Search/Adapter/Mysql/Filter/Builder/FilterInterface.php index 6f8b63955a0c1..80d481f489acc 100644 --- a/lib/internal/Magento/Framework/Search/Adapter/Mysql/Filter/Builder/FilterInterface.php +++ b/lib/internal/Magento/Framework/Search/Adapter/Mysql/Filter/Builder/FilterInterface.php @@ -10,7 +10,7 @@ /** * MySQL search filter builder. * - * @deprecated + * @deprecated 102.0.0 * @see \Magento\ElasticSearch */ interface FilterInterface diff --git a/lib/internal/Magento/Framework/Search/Adapter/Mysql/Filter/Builder/Range.php b/lib/internal/Magento/Framework/Search/Adapter/Mysql/Filter/Builder/Range.php index d14bfdcb548d3..9ab1974e1b2d3 100644 --- a/lib/internal/Magento/Framework/Search/Adapter/Mysql/Filter/Builder/Range.php +++ b/lib/internal/Magento/Framework/Search/Adapter/Mysql/Filter/Builder/Range.php @@ -12,7 +12,7 @@ /** * Range filter builder. * - * @deprecated + * @deprecated 102.0.0 * @see \Magento\ElasticSearch */ class Range implements FilterInterface diff --git a/lib/internal/Magento/Framework/Search/Adapter/Mysql/Filter/Builder/Term.php b/lib/internal/Magento/Framework/Search/Adapter/Mysql/Filter/Builder/Term.php index c89ef50f3cb35..63a1d3d56ec9e 100644 --- a/lib/internal/Magento/Framework/Search/Adapter/Mysql/Filter/Builder/Term.php +++ b/lib/internal/Magento/Framework/Search/Adapter/Mysql/Filter/Builder/Term.php @@ -11,7 +11,7 @@ /** * Term filter builder. * - * @deprecated + * @deprecated 102.0.0 * @see \Magento\ElasticSearch */ class Term implements FilterInterface diff --git a/lib/internal/Magento/Framework/Search/Adapter/Mysql/Filter/Builder/Wildcard.php b/lib/internal/Magento/Framework/Search/Adapter/Mysql/Filter/Builder/Wildcard.php index 9a2776ac20b2c..483bb51926081 100644 --- a/lib/internal/Magento/Framework/Search/Adapter/Mysql/Filter/Builder/Wildcard.php +++ b/lib/internal/Magento/Framework/Search/Adapter/Mysql/Filter/Builder/Wildcard.php @@ -10,7 +10,7 @@ /** * Wildcard filter builder. * - * @deprecated + * @deprecated 102.0.0 * @see \Magento\ElasticSearch */ class Wildcard implements FilterInterface diff --git a/lib/internal/Magento/Framework/Search/Adapter/Mysql/Filter/BuilderInterface.php b/lib/internal/Magento/Framework/Search/Adapter/Mysql/Filter/BuilderInterface.php index 3da989333d668..e52ff7cd87c13 100644 --- a/lib/internal/Magento/Framework/Search/Adapter/Mysql/Filter/BuilderInterface.php +++ b/lib/internal/Magento/Framework/Search/Adapter/Mysql/Filter/BuilderInterface.php @@ -10,7 +10,7 @@ /** * MySQL search filter builder. * - * @deprecated + * @deprecated 102.0.0 * @see \Magento\ElasticSearch */ interface BuilderInterface diff --git a/lib/internal/Magento/Framework/Search/Adapter/Mysql/Filter/PreprocessorInterface.php b/lib/internal/Magento/Framework/Search/Adapter/Mysql/Filter/PreprocessorInterface.php index eb0bbc6f3b563..873bdafd79515 100644 --- a/lib/internal/Magento/Framework/Search/Adapter/Mysql/Filter/PreprocessorInterface.php +++ b/lib/internal/Magento/Framework/Search/Adapter/Mysql/Filter/PreprocessorInterface.php @@ -10,7 +10,7 @@ /** * MySQL search filter pre-processor. * - * @deprecated + * @deprecated 102.0.0 * @see \Magento\ElasticSearch */ interface PreprocessorInterface diff --git a/lib/internal/Magento/Framework/Search/Adapter/Mysql/IndexBuilderInterface.php b/lib/internal/Magento/Framework/Search/Adapter/Mysql/IndexBuilderInterface.php index fbd35455c2294..4efc375043bda 100644 --- a/lib/internal/Magento/Framework/Search/Adapter/Mysql/IndexBuilderInterface.php +++ b/lib/internal/Magento/Framework/Search/Adapter/Mysql/IndexBuilderInterface.php @@ -11,7 +11,7 @@ /** * Build base Query for Index * - * @deprecated + * @deprecated 102.0.0 * @see \Magento\ElasticSearch */ interface IndexBuilderInterface diff --git a/lib/internal/Magento/Framework/Search/Adapter/Mysql/Mapper.php b/lib/internal/Magento/Framework/Search/Adapter/Mysql/Mapper.php index e97a6690dbcc2..f01c593061d1d 100644 --- a/lib/internal/Magento/Framework/Search/Adapter/Mysql/Mapper.php +++ b/lib/internal/Magento/Framework/Search/Adapter/Mysql/Mapper.php @@ -25,8 +25,9 @@ * * @SuppressWarnings(PHPMD.CouplingBetweenObjects) * @api - * @deprecated + * @deprecated 102.0.0 * @see \Magento\ElasticSearch + * @since 100.0.2 */ class Mapper { diff --git a/lib/internal/Magento/Framework/Search/Adapter/Mysql/Query/Builder/Match.php b/lib/internal/Magento/Framework/Search/Adapter/Mysql/Query/Builder/Match.php index d4c98cda17e12..8cf81eb7e145b 100644 --- a/lib/internal/Magento/Framework/Search/Adapter/Mysql/Query/Builder/Match.php +++ b/lib/internal/Magento/Framework/Search/Adapter/Mysql/Query/Builder/Match.php @@ -20,8 +20,9 @@ * MySQL search query match. * * @api - * @deprecated + * @deprecated 102.0.0 * @see \Magento\ElasticSearch + * @since 100.0.2 */ class Match implements QueryInterface { diff --git a/lib/internal/Magento/Framework/Search/Adapter/Mysql/Query/Builder/QueryInterface.php b/lib/internal/Magento/Framework/Search/Adapter/Mysql/Query/Builder/QueryInterface.php index 6796a1f995e4f..1ea1510bd5b25 100644 --- a/lib/internal/Magento/Framework/Search/Adapter/Mysql/Query/Builder/QueryInterface.php +++ b/lib/internal/Magento/Framework/Search/Adapter/Mysql/Query/Builder/QueryInterface.php @@ -10,7 +10,7 @@ /** * MySQL search query builder. * - * @deprecated + * @deprecated 102.0.0 * @see \Magento\ElasticSearch */ interface QueryInterface diff --git a/lib/internal/Magento/Framework/Search/Adapter/Mysql/Query/MatchContainer.php b/lib/internal/Magento/Framework/Search/Adapter/Mysql/Query/MatchContainer.php index 6ed3338c040e2..654ae660af849 100644 --- a/lib/internal/Magento/Framework/Search/Adapter/Mysql/Query/MatchContainer.php +++ b/lib/internal/Magento/Framework/Search/Adapter/Mysql/Query/MatchContainer.php @@ -13,7 +13,7 @@ /** * MySQL search query match container. * - * @deprecated + * @deprecated 102.0.0 * @see \Magento\ElasticSearch */ class MatchContainer diff --git a/lib/internal/Magento/Framework/Search/Adapter/Mysql/Query/MatchContainerFactory.php b/lib/internal/Magento/Framework/Search/Adapter/Mysql/Query/MatchContainerFactory.php index cb10de7bdcbbc..821ea265ff5a3 100644 --- a/lib/internal/Magento/Framework/Search/Adapter/Mysql/Query/MatchContainerFactory.php +++ b/lib/internal/Magento/Framework/Search/Adapter/Mysql/Query/MatchContainerFactory.php @@ -8,7 +8,7 @@ /** * MatchContainer Factory * - * @deprecated + * @deprecated 102.0.0 * @see \Magento\ElasticSearch */ class MatchContainerFactory diff --git a/lib/internal/Magento/Framework/Search/Adapter/Mysql/Query/QueryContainer.php b/lib/internal/Magento/Framework/Search/Adapter/Mysql/Query/QueryContainer.php index 9161a30f9bc51..9f5f7f5431b90 100644 --- a/lib/internal/Magento/Framework/Search/Adapter/Mysql/Query/QueryContainer.php +++ b/lib/internal/Magento/Framework/Search/Adapter/Mysql/Query/QueryContainer.php @@ -12,7 +12,7 @@ /** * MySQL search query container. * - * @deprecated + * @deprecated 102.0.0 * @see \Magento\ElasticSearch */ class QueryContainer diff --git a/lib/internal/Magento/Framework/Search/Adapter/Mysql/Query/QueryContainerFactory.php b/lib/internal/Magento/Framework/Search/Adapter/Mysql/Query/QueryContainerFactory.php index 59ee4bb045b2a..add797c39078c 100644 --- a/lib/internal/Magento/Framework/Search/Adapter/Mysql/Query/QueryContainerFactory.php +++ b/lib/internal/Magento/Framework/Search/Adapter/Mysql/Query/QueryContainerFactory.php @@ -8,7 +8,7 @@ /** * MatchContainer Factory * - * @deprecated + * @deprecated 102.0.0 * @see \Magento\ElasticSearch */ class QueryContainerFactory diff --git a/lib/internal/Magento/Framework/Search/Adapter/Mysql/ResponseFactory.php b/lib/internal/Magento/Framework/Search/Adapter/Mysql/ResponseFactory.php index b41a43883fde5..bb0e32ae229dd 100644 --- a/lib/internal/Magento/Framework/Search/Adapter/Mysql/ResponseFactory.php +++ b/lib/internal/Magento/Framework/Search/Adapter/Mysql/ResponseFactory.php @@ -8,7 +8,7 @@ /** * Response Factory * - * @deprecated + * @deprecated 102.0.0 * @see \Magento\ElasticSearch */ class ResponseFactory diff --git a/lib/internal/Magento/Framework/Search/Adapter/Mysql/ScoreBuilder.php b/lib/internal/Magento/Framework/Search/Adapter/Mysql/ScoreBuilder.php index 1cc417f891c19..5d2ded298a14c 100644 --- a/lib/internal/Magento/Framework/Search/Adapter/Mysql/ScoreBuilder.php +++ b/lib/internal/Magento/Framework/Search/Adapter/Mysql/ScoreBuilder.php @@ -9,8 +9,9 @@ * Class for generating sql condition for calculating store manager * * @api - * @deprecated + * @deprecated 102.0.0 * @see \Magento\ElasticSearch + * @since 100.0.2 */ class ScoreBuilder { diff --git a/lib/internal/Magento/Framework/Search/Adapter/Mysql/ScoreBuilderFactory.php b/lib/internal/Magento/Framework/Search/Adapter/Mysql/ScoreBuilderFactory.php index 70aa749fd859f..18bdbb57ce150 100644 --- a/lib/internal/Magento/Framework/Search/Adapter/Mysql/ScoreBuilderFactory.php +++ b/lib/internal/Magento/Framework/Search/Adapter/Mysql/ScoreBuilderFactory.php @@ -8,7 +8,7 @@ /** * ScoreBuilder Factory * - * @deprecated + * @deprecated 102.0.0 * @see \Magento\ElasticSearch */ class ScoreBuilderFactory diff --git a/lib/internal/Magento/Framework/Search/Adapter/Mysql/TemporaryStorage.php b/lib/internal/Magento/Framework/Search/Adapter/Mysql/TemporaryStorage.php index 60ee2d5706067..a2e2980428d50 100644 --- a/lib/internal/Magento/Framework/Search/Adapter/Mysql/TemporaryStorage.php +++ b/lib/internal/Magento/Framework/Search/Adapter/Mysql/TemporaryStorage.php @@ -16,8 +16,9 @@ * MySQL search temporary storage. * * @api - * @deprecated + * @deprecated 102.0.0 * @see \Magento\ElasticSearch + * @since 100.0.2 */ class TemporaryStorage { diff --git a/lib/internal/Magento/Framework/Search/Adapter/Mysql/TemporaryStorageFactory.php b/lib/internal/Magento/Framework/Search/Adapter/Mysql/TemporaryStorageFactory.php index 208f6b39b9eb4..f1fc487a91ca0 100644 --- a/lib/internal/Magento/Framework/Search/Adapter/Mysql/TemporaryStorageFactory.php +++ b/lib/internal/Magento/Framework/Search/Adapter/Mysql/TemporaryStorageFactory.php @@ -12,8 +12,9 @@ * * @codeCoverageIgnore * @api - * @deprecated + * @deprecated 102.0.0 * @see \Magento\ElasticSearch + * @since 100.0.2 */ class TemporaryStorageFactory { diff --git a/lib/internal/Magento/Framework/Search/Dynamic/Algorithm.php b/lib/internal/Magento/Framework/Search/Dynamic/Algorithm.php index 6f95060e2a8df..06bd3372105c9 100644 --- a/lib/internal/Magento/Framework/Search/Dynamic/Algorithm.php +++ b/lib/internal/Magento/Framework/Search/Dynamic/Algorithm.php @@ -10,6 +10,7 @@ * * @author Magento Core Team <core@magentocommerce.com> * @api + * @since 100.0.2 */ class Algorithm { diff --git a/lib/internal/Magento/Framework/Search/Dynamic/Algorithm/Repository.php b/lib/internal/Magento/Framework/Search/Dynamic/Algorithm/Repository.php index c2d7e4025b3b3..bfba3130c6ae8 100644 --- a/lib/internal/Magento/Framework/Search/Dynamic/Algorithm/Repository.php +++ b/lib/internal/Magento/Framework/Search/Dynamic/Algorithm/Repository.php @@ -11,6 +11,7 @@ /** * @api + * @since 100.0.2 */ class Repository { diff --git a/lib/internal/Magento/Framework/Search/Dynamic/DataProviderFactory.php b/lib/internal/Magento/Framework/Search/Dynamic/DataProviderFactory.php index 6c3a59152a9a1..ccfd5ec01dee3 100644 --- a/lib/internal/Magento/Framework/Search/Dynamic/DataProviderFactory.php +++ b/lib/internal/Magento/Framework/Search/Dynamic/DataProviderFactory.php @@ -10,6 +10,7 @@ /** * @api + * @since 100.0.2 */ class DataProviderFactory { diff --git a/lib/internal/Magento/Framework/Search/Dynamic/DataProviderInterface.php b/lib/internal/Magento/Framework/Search/Dynamic/DataProviderInterface.php index fa360134663d6..374facf486ad9 100644 --- a/lib/internal/Magento/Framework/Search/Dynamic/DataProviderInterface.php +++ b/lib/internal/Magento/Framework/Search/Dynamic/DataProviderInterface.php @@ -11,6 +11,7 @@ /** * @api + * @since 100.0.2 */ interface DataProviderInterface { diff --git a/lib/internal/Magento/Framework/Search/Dynamic/EntityStorage.php b/lib/internal/Magento/Framework/Search/Dynamic/EntityStorage.php index e32096704025f..7500ab622b65b 100644 --- a/lib/internal/Magento/Framework/Search/Dynamic/EntityStorage.php +++ b/lib/internal/Magento/Framework/Search/Dynamic/EntityStorage.php @@ -8,6 +8,7 @@ /** * @api + * @since 100.0.2 */ class EntityStorage { diff --git a/lib/internal/Magento/Framework/Search/Dynamic/EntityStorageFactory.php b/lib/internal/Magento/Framework/Search/Dynamic/EntityStorageFactory.php index 96e6b0113d1a7..6b7a4cd9a6df6 100644 --- a/lib/internal/Magento/Framework/Search/Dynamic/EntityStorageFactory.php +++ b/lib/internal/Magento/Framework/Search/Dynamic/EntityStorageFactory.php @@ -10,6 +10,7 @@ /** * EntityStorage Factory * @api + * @since 100.0.2 */ class EntityStorageFactory { diff --git a/lib/internal/Magento/Framework/Search/Dynamic/IntervalFactory.php b/lib/internal/Magento/Framework/Search/Dynamic/IntervalFactory.php index 90e66d1e7330c..261a52c27e850 100644 --- a/lib/internal/Magento/Framework/Search/Dynamic/IntervalFactory.php +++ b/lib/internal/Magento/Framework/Search/Dynamic/IntervalFactory.php @@ -10,6 +10,7 @@ /** * @api + * @since 100.0.2 */ class IntervalFactory { diff --git a/lib/internal/Magento/Framework/Search/Dynamic/IntervalInterface.php b/lib/internal/Magento/Framework/Search/Dynamic/IntervalInterface.php index 547166eb175ba..f80cac17d8dc6 100644 --- a/lib/internal/Magento/Framework/Search/Dynamic/IntervalInterface.php +++ b/lib/internal/Magento/Framework/Search/Dynamic/IntervalInterface.php @@ -7,6 +7,7 @@ /** * @api + * @since 100.0.2 */ interface IntervalInterface { diff --git a/lib/internal/Magento/Framework/Search/EngineResolverInterface.php b/lib/internal/Magento/Framework/Search/EngineResolverInterface.php index 57ba210121bc4..47dfa6659cc25 100644 --- a/lib/internal/Magento/Framework/Search/EngineResolverInterface.php +++ b/lib/internal/Magento/Framework/Search/EngineResolverInterface.php @@ -7,6 +7,7 @@ /** * @api + * @since 102.0.0 */ interface EngineResolverInterface { @@ -16,6 +17,7 @@ interface EngineResolverInterface * It returns string identifier of Search Engine that is currently chosen in configuration * * @return string + * @since 102.0.0 */ public function getCurrentSearchEngine(); } diff --git a/lib/internal/Magento/Framework/Search/EntityMetadata.php b/lib/internal/Magento/Framework/Search/EntityMetadata.php index 8d25921813df3..9449396942c5a 100644 --- a/lib/internal/Magento/Framework/Search/EntityMetadata.php +++ b/lib/internal/Magento/Framework/Search/EntityMetadata.php @@ -9,6 +9,7 @@ /** * Entity metadata * @api + * @since 100.0.2 */ class EntityMetadata { diff --git a/lib/internal/Magento/Framework/Search/Request.php b/lib/internal/Magento/Framework/Search/Request.php index 264d4929dde56..54d9f12fcb82f 100644 --- a/lib/internal/Magento/Framework/Search/Request.php +++ b/lib/internal/Magento/Framework/Search/Request.php @@ -14,6 +14,7 @@ * * @codeCoverageIgnore * @api + * @since 100.0.2 */ class Request implements RequestInterface { @@ -151,8 +152,9 @@ public function getSize() * It must be move to different interface. * Scope to split Search request interface on two different 'Search' and 'Fulltext Search' contains in MC-16461. * - * @deprecated + * @deprecated 102.0.2 * @return array + * @since 102.0.2 */ public function getSort() { diff --git a/lib/internal/Magento/Framework/Search/Request/Aggregation/DynamicBucket.php b/lib/internal/Magento/Framework/Search/Request/Aggregation/DynamicBucket.php index dfa28911ca4ce..8f691b695a017 100644 --- a/lib/internal/Magento/Framework/Search/Request/Aggregation/DynamicBucket.php +++ b/lib/internal/Magento/Framework/Search/Request/Aggregation/DynamicBucket.php @@ -10,6 +10,7 @@ /** * Dynamic Buckets * @api + * @since 100.0.2 */ class DynamicBucket implements BucketInterface { diff --git a/lib/internal/Magento/Framework/Search/Request/Binder.php b/lib/internal/Magento/Framework/Search/Request/Binder.php index 9df1ee87eb869..5016c1c11926c 100644 --- a/lib/internal/Magento/Framework/Search/Request/Binder.php +++ b/lib/internal/Magento/Framework/Search/Request/Binder.php @@ -9,6 +9,7 @@ * Data binder for search request. * * @api + * @since 100.0.2 */ class Binder { diff --git a/lib/internal/Magento/Framework/Search/Request/BucketInterface.php b/lib/internal/Magento/Framework/Search/Request/BucketInterface.php index 8da797e5a9767..1512a8a68cf78 100644 --- a/lib/internal/Magento/Framework/Search/Request/BucketInterface.php +++ b/lib/internal/Magento/Framework/Search/Request/BucketInterface.php @@ -9,6 +9,7 @@ * Aggregation Bucket Interface * * @api + * @since 100.0.2 */ interface BucketInterface { diff --git a/lib/internal/Magento/Framework/Search/Request/Builder.php b/lib/internal/Magento/Framework/Search/Request/Builder.php index 74bc65010a934..5f6a8c1e75b59 100644 --- a/lib/internal/Magento/Framework/Search/Request/Builder.php +++ b/lib/internal/Magento/Framework/Search/Request/Builder.php @@ -15,6 +15,7 @@ * * @api * @SuppressWarnings(PHPMD.CouplingBetweenObjects) + * @since 100.0.2 */ class Builder { @@ -103,6 +104,7 @@ public function setFrom($from) * * @param \Magento\Framework\Api\SortOrder[] $sort * @return $this + * @since 102.0.2 */ public function setSort($sort) { diff --git a/lib/internal/Magento/Framework/Search/Request/Cleaner.php b/lib/internal/Magento/Framework/Search/Request/Cleaner.php index c015f90751a23..59eeea47fe278 100644 --- a/lib/internal/Magento/Framework/Search/Request/Cleaner.php +++ b/lib/internal/Magento/Framework/Search/Request/Cleaner.php @@ -12,6 +12,7 @@ /** * @api + * @since 100.0.2 */ class Cleaner { diff --git a/lib/internal/Magento/Framework/Search/Request/Dimension.php b/lib/internal/Magento/Framework/Search/Request/Dimension.php index bc60af8c16959..6df1974cc61cc 100644 --- a/lib/internal/Magento/Framework/Search/Request/Dimension.php +++ b/lib/internal/Magento/Framework/Search/Request/Dimension.php @@ -10,6 +10,7 @@ /** * Search Request Dimension * @api + * @since 100.0.2 */ class Dimension extends AbstractKeyValuePair { diff --git a/lib/internal/Magento/Framework/Search/Request/Filter/BoolExpression.php b/lib/internal/Magento/Framework/Search/Request/Filter/BoolExpression.php index 5a1d2ad528237..6b0304ae37758 100644 --- a/lib/internal/Magento/Framework/Search/Request/Filter/BoolExpression.php +++ b/lib/internal/Magento/Framework/Search/Request/Filter/BoolExpression.php @@ -10,6 +10,7 @@ /** * Bool Filter * @api + * @since 100.0.2 */ class BoolExpression implements FilterInterface { diff --git a/lib/internal/Magento/Framework/Search/Request/Filter/Range.php b/lib/internal/Magento/Framework/Search/Request/Filter/Range.php index 1be0c690483ab..981c92203b864 100644 --- a/lib/internal/Magento/Framework/Search/Request/Filter/Range.php +++ b/lib/internal/Magento/Framework/Search/Request/Filter/Range.php @@ -11,6 +11,7 @@ * Range Filter * @SuppressWarnings(PHPMD.ShortVariable) * @api + * @since 100.0.2 */ class Range implements FilterInterface { diff --git a/lib/internal/Magento/Framework/Search/Request/Filter/Term.php b/lib/internal/Magento/Framework/Search/Request/Filter/Term.php index 5560c92164db4..50fd658c6760b 100644 --- a/lib/internal/Magento/Framework/Search/Request/Filter/Term.php +++ b/lib/internal/Magento/Framework/Search/Request/Filter/Term.php @@ -11,6 +11,7 @@ /** * Term Filter * @api + * @since 100.0.2 */ class Term extends AbstractKeyValuePair implements FilterInterface { diff --git a/lib/internal/Magento/Framework/Search/Request/Filter/Wildcard.php b/lib/internal/Magento/Framework/Search/Request/Filter/Wildcard.php index 60b5463132003..d1b487d498935 100644 --- a/lib/internal/Magento/Framework/Search/Request/Filter/Wildcard.php +++ b/lib/internal/Magento/Framework/Search/Request/Filter/Wildcard.php @@ -11,6 +11,7 @@ /** * Wildcard Filter * @api + * @since 100.0.2 */ class Wildcard extends AbstractKeyValuePair implements FilterInterface { diff --git a/lib/internal/Magento/Framework/Search/Request/FilterInterface.php b/lib/internal/Magento/Framework/Search/Request/FilterInterface.php index 14fdd2929b15d..928f4121a84cd 100644 --- a/lib/internal/Magento/Framework/Search/Request/FilterInterface.php +++ b/lib/internal/Magento/Framework/Search/Request/FilterInterface.php @@ -9,6 +9,7 @@ * Filter Interface * * @api + * @since 100.0.2 */ interface FilterInterface { diff --git a/lib/internal/Magento/Framework/Search/Request/Mapper.php b/lib/internal/Magento/Framework/Search/Request/Mapper.php index 7586444d4b197..3cbcc618c4438 100644 --- a/lib/internal/Magento/Framework/Search/Request/Mapper.php +++ b/lib/internal/Magento/Framework/Search/Request/Mapper.php @@ -13,6 +13,7 @@ /** * @SuppressWarnings(PHPMD.CouplingBetweenObjects) * @api + * @since 100.0.2 */ class Mapper { diff --git a/lib/internal/Magento/Framework/Search/Request/Query/BoolExpression.php b/lib/internal/Magento/Framework/Search/Request/Query/BoolExpression.php index 1ac3ba6c09b3b..c47a020b80580 100644 --- a/lib/internal/Magento/Framework/Search/Request/Query/BoolExpression.php +++ b/lib/internal/Magento/Framework/Search/Request/Query/BoolExpression.php @@ -10,6 +10,7 @@ /** * Bool Query * @api + * @since 100.0.2 */ class BoolExpression implements QueryInterface { diff --git a/lib/internal/Magento/Framework/Search/Request/Query/Filter.php b/lib/internal/Magento/Framework/Search/Request/Query/Filter.php index 7de25175793e4..850dbfd40a1fe 100644 --- a/lib/internal/Magento/Framework/Search/Request/Query/Filter.php +++ b/lib/internal/Magento/Framework/Search/Request/Query/Filter.php @@ -10,6 +10,7 @@ /** * Term Query * @api + * @since 100.0.2 */ class Filter implements QueryInterface { diff --git a/lib/internal/Magento/Framework/Search/Request/Query/Match.php b/lib/internal/Magento/Framework/Search/Request/Query/Match.php index a1f884dbc106e..8fbd5244780bc 100644 --- a/lib/internal/Magento/Framework/Search/Request/Query/Match.php +++ b/lib/internal/Magento/Framework/Search/Request/Query/Match.php @@ -10,6 +10,7 @@ /** * Match Query * @api + * @since 100.0.2 */ class Match implements QueryInterface { diff --git a/lib/internal/Magento/Framework/Search/Request/QueryInterface.php b/lib/internal/Magento/Framework/Search/Request/QueryInterface.php index e7cf56172cbaf..bf8a9582f5808 100644 --- a/lib/internal/Magento/Framework/Search/Request/QueryInterface.php +++ b/lib/internal/Magento/Framework/Search/Request/QueryInterface.php @@ -9,6 +9,7 @@ * Query Interface * * @api + * @since 100.0.2 */ interface QueryInterface { diff --git a/lib/internal/Magento/Framework/Search/RequestInterface.php b/lib/internal/Magento/Framework/Search/RequestInterface.php index 16df80f755c07..d5879ce0dc22e 100644 --- a/lib/internal/Magento/Framework/Search/RequestInterface.php +++ b/lib/internal/Magento/Framework/Search/RequestInterface.php @@ -13,6 +13,7 @@ * Search Request * * @api + * @since 100.0.2 */ interface RequestInterface { diff --git a/lib/internal/Magento/Framework/Search/Response/Aggregation.php b/lib/internal/Magento/Framework/Search/Response/Aggregation.php index ea72597c53034..7ebe052b65ba8 100644 --- a/lib/internal/Magento/Framework/Search/Response/Aggregation.php +++ b/lib/internal/Magento/Framework/Search/Response/Aggregation.php @@ -11,6 +11,7 @@ /** * Faceted data * @api + * @since 100.0.2 */ class Aggregation implements AggregationInterface, \IteratorAggregate { diff --git a/lib/internal/Magento/Framework/Search/Response/QueryResponse.php b/lib/internal/Magento/Framework/Search/Response/QueryResponse.php index 00b1ed2149bec..d7d0a8d03b28c 100644 --- a/lib/internal/Magento/Framework/Search/Response/QueryResponse.php +++ b/lib/internal/Magento/Framework/Search/Response/QueryResponse.php @@ -12,6 +12,7 @@ /** * Search Response * @api + * @since 100.0.2 */ class QueryResponse implements ResponseInterface { @@ -80,9 +81,10 @@ public function getAggregations() * It must be move to different interface. * Scope to split Search response interface on two different 'Search' and 'Fulltext Search' contains in MC-16461. * - * @deprecated + * @deprecated 102.0.2 * * @return int + * @since 102.0.2 */ public function getTotal(): int { diff --git a/lib/internal/Magento/Framework/Serialize/Serializer/Json.php b/lib/internal/Magento/Framework/Serialize/Serializer/Json.php index 7ce9756ff243d..d5a5aec9259dd 100644 --- a/lib/internal/Magento/Framework/Serialize/Serializer/Json.php +++ b/lib/internal/Magento/Framework/Serialize/Serializer/Json.php @@ -11,13 +11,13 @@ * Serialize data to JSON, unserialize JSON encoded data * * @api - * @since 100.2.0 + * @since 101.0.0 */ class Json implements SerializerInterface { /** * @inheritDoc - * @since 100.2.0 + * @since 101.0.0 */ public function serialize($data) { @@ -30,7 +30,7 @@ public function serialize($data) /** * @inheritDoc - * @since 100.2.0 + * @since 101.0.0 */ public function unserialize($string) { diff --git a/lib/internal/Magento/Framework/Serialize/Serializer/JsonHexTag.php b/lib/internal/Magento/Framework/Serialize/Serializer/JsonHexTag.php index 4a5406ff3fd99..dc63a726481ae 100644 --- a/lib/internal/Magento/Framework/Serialize/Serializer/JsonHexTag.php +++ b/lib/internal/Magento/Framework/Serialize/Serializer/JsonHexTag.php @@ -16,13 +16,13 @@ * unserialize JSON encoded data * * @api - * @since 100.2.0 + * @since 102.0.1 */ class JsonHexTag extends Json implements SerializerInterface { /** * @inheritDoc - * @since 100.2.0 + * @since 102.0.1 */ public function serialize($data): string { diff --git a/lib/internal/Magento/Framework/Serialize/SerializerInterface.php b/lib/internal/Magento/Framework/Serialize/SerializerInterface.php index 8b448f3ba246b..24ace0c38b84e 100644 --- a/lib/internal/Magento/Framework/Serialize/SerializerInterface.php +++ b/lib/internal/Magento/Framework/Serialize/SerializerInterface.php @@ -9,7 +9,7 @@ * Interface for serializing * * @api - * @since 100.2.0 + * @since 101.0.0 */ interface SerializerInterface { @@ -19,7 +19,7 @@ interface SerializerInterface * @param string|int|float|bool|array|null $data * @return string|bool * @throws \InvalidArgumentException - * @since 100.2.0 + * @since 101.0.0 */ public function serialize($data); @@ -29,7 +29,7 @@ public function serialize($data); * @param string $string * @return string|int|float|bool|array|null * @throws \InvalidArgumentException - * @since 100.2.0 + * @since 101.0.0 */ public function unserialize($string); } diff --git a/lib/internal/Magento/Framework/Session/Generic.php b/lib/internal/Magento/Framework/Session/Generic.php index 8cd358dd56416..794ce7a64e88b 100644 --- a/lib/internal/Magento/Framework/Session/Generic.php +++ b/lib/internal/Magento/Framework/Session/Generic.php @@ -7,6 +7,7 @@ /** * @api + * @since 100.0.2 */ class Generic extends SessionManager { diff --git a/lib/internal/Magento/Framework/Session/SessionManagerInterface.php b/lib/internal/Magento/Framework/Session/SessionManagerInterface.php index 93fac2947eb61..70976a6269d18 100644 --- a/lib/internal/Magento/Framework/Session/SessionManagerInterface.php +++ b/lib/internal/Magento/Framework/Session/SessionManagerInterface.php @@ -11,6 +11,7 @@ * Session Manager Interface * * @api + * @since 100.0.2 */ interface SessionManagerInterface { diff --git a/lib/internal/Magento/Framework/Session/SidResolver.php b/lib/internal/Magento/Framework/Session/SidResolver.php index 041995d20fcd2..11372d65ae775 100644 --- a/lib/internal/Magento/Framework/Session/SidResolver.php +++ b/lib/internal/Magento/Framework/Session/SidResolver.php @@ -11,7 +11,7 @@ /** * Class SidResolver - * @deprecated 2.3.3 SIDs in URLs are no longer used + * @deprecated 102.0.3 SIDs in URLs are no longer used */ class SidResolver implements SidResolverInterface { diff --git a/lib/internal/Magento/Framework/Setup/Declaration/Schema/Diff/Diff.php b/lib/internal/Magento/Framework/Setup/Declaration/Schema/Diff/Diff.php index 0e857567689c4..578b3c62be573 100644 --- a/lib/internal/Magento/Framework/Setup/Declaration/Schema/Diff/Diff.php +++ b/lib/internal/Magento/Framework/Setup/Declaration/Schema/Diff/Diff.php @@ -23,6 +23,7 @@ * - new (Should be changed to) * - old () * @api + * @since 102.0.0 */ class Diff implements DiffInterface { @@ -40,6 +41,7 @@ class Diff implements DiffInterface * This changes created only for debug reasons. * * @var array + * @since 102.0.0 */ public $debugChanges; @@ -100,6 +102,7 @@ public function __construct( * All changes are sorted because there are dependencies between tables, like foreign keys. * * @inheritdoc + * @since 102.0.0 */ public function getAll() { @@ -115,6 +118,7 @@ public function getAll() * @param string $table * @param string $operation * @return ElementHistory[] + * @since 102.0.0 */ public function getChange($table, $operation) { @@ -159,6 +163,7 @@ private function getWhiteListTables() * @param ElementInterface | Table $object * @param string $operation * @return bool + * @since 102.0.0 */ public function canBeRegistered(ElementInterface $object, $operation): bool { @@ -202,6 +207,7 @@ private function isElementHaveAutoGeneratedName(ElementInterface $element): bool * * @param TableElementInterface $dtoObject * @inheritdoc + * @since 102.0.0 */ public function register( ElementInterface $dtoObject, diff --git a/lib/internal/Magento/Framework/Setup/Declaration/Schema/Dto/ElementInterface.php b/lib/internal/Magento/Framework/Setup/Declaration/Schema/Dto/ElementInterface.php index 43c4c5d9d516a..168b8c0861ad7 100644 --- a/lib/internal/Magento/Framework/Setup/Declaration/Schema/Dto/ElementInterface.php +++ b/lib/internal/Magento/Framework/Setup/Declaration/Schema/Dto/ElementInterface.php @@ -11,6 +11,7 @@ * Is parent interface for all various schema structural elements: * table, column, constraint, index. * @api + * @since 102.0.0 */ interface ElementInterface { @@ -18,6 +19,7 @@ interface ElementInterface * Return name of structural element. * * @return string + * @since 102.0.0 */ public function getName(); @@ -25,6 +27,7 @@ public function getName(); * Retrieve element low level type: varchar, char, foreign key, etc.. * * @return string + * @since 102.0.0 */ public function getType(); @@ -36,6 +39,7 @@ public function getType(); * And in order to distinguish this types of elements we use this method. * * @return string + * @since 102.0.0 */ public function getElementType(); } diff --git a/lib/internal/Magento/Framework/Setup/InstallDataInterface.php b/lib/internal/Magento/Framework/Setup/InstallDataInterface.php index 68e08f658faaf..085f989a8bb82 100644 --- a/lib/internal/Magento/Framework/Setup/InstallDataInterface.php +++ b/lib/internal/Magento/Framework/Setup/InstallDataInterface.php @@ -9,6 +9,7 @@ * Interface for data installs of a module * * @api + * @since 100.0.2 */ interface InstallDataInterface { diff --git a/lib/internal/Magento/Framework/Setup/InstallSchemaInterface.php b/lib/internal/Magento/Framework/Setup/InstallSchemaInterface.php index abb0017b85e93..878f3e3e1a152 100644 --- a/lib/internal/Magento/Framework/Setup/InstallSchemaInterface.php +++ b/lib/internal/Magento/Framework/Setup/InstallSchemaInterface.php @@ -9,6 +9,7 @@ * Interface for DB schema installs of a module * * @api + * @since 100.0.2 */ interface InstallSchemaInterface { diff --git a/lib/internal/Magento/Framework/Setup/LoggerInterface.php b/lib/internal/Magento/Framework/Setup/LoggerInterface.php index 8f82cf8001127..169c2acfe9bf5 100644 --- a/lib/internal/Magento/Framework/Setup/LoggerInterface.php +++ b/lib/internal/Magento/Framework/Setup/LoggerInterface.php @@ -10,6 +10,7 @@ * Interface to Log Message in Setup * * @api + * @since 100.0.2 */ interface LoggerInterface { diff --git a/lib/internal/Magento/Framework/Setup/ModuleContextInterface.php b/lib/internal/Magento/Framework/Setup/ModuleContextInterface.php index 45c59f08bc691..d5d0b4e1efe59 100644 --- a/lib/internal/Magento/Framework/Setup/ModuleContextInterface.php +++ b/lib/internal/Magento/Framework/Setup/ModuleContextInterface.php @@ -8,6 +8,7 @@ /** * Context of a module being installed/updated: version, user data, etc. * @api + * @since 100.0.2 */ interface ModuleContextInterface { diff --git a/lib/internal/Magento/Framework/Setup/ModuleDataSetupInterface.php b/lib/internal/Magento/Framework/Setup/ModuleDataSetupInterface.php index bcf50e6ff9851..2bc55d13d2277 100644 --- a/lib/internal/Magento/Framework/Setup/ModuleDataSetupInterface.php +++ b/lib/internal/Magento/Framework/Setup/ModuleDataSetupInterface.php @@ -9,6 +9,7 @@ * DB data resource interface for a module * * @api + * @since 100.0.2 */ interface ModuleDataSetupInterface extends SetupInterface { diff --git a/lib/internal/Magento/Framework/Setup/Patch/PatchVersionInterface.php b/lib/internal/Magento/Framework/Setup/Patch/PatchVersionInterface.php index fb2b0e2c379f4..2e0fd03eaf499 100644 --- a/lib/internal/Magento/Framework/Setup/Patch/PatchVersionInterface.php +++ b/lib/internal/Magento/Framework/Setup/Patch/PatchVersionInterface.php @@ -8,7 +8,7 @@ /** * For backward compatibility with versioned style module installation. Deprecated since creation. * - * @deprecated + * @deprecated 102.0.0 */ interface PatchVersionInterface { @@ -19,7 +19,7 @@ interface PatchVersionInterface * by old mechanism of UpgradeData.php script * * @return string - * @deprecated since appearance, required for backward compatibility + * @deprecated 102.0.0 since appearance, required for backward compatibility */ public static function getVersion(); } diff --git a/lib/internal/Magento/Framework/Setup/SchemaSetupInterface.php b/lib/internal/Magento/Framework/Setup/SchemaSetupInterface.php index 48900c5cdc029..dd73c79069b1a 100644 --- a/lib/internal/Magento/Framework/Setup/SchemaSetupInterface.php +++ b/lib/internal/Magento/Framework/Setup/SchemaSetupInterface.php @@ -8,6 +8,7 @@ /** * DB schema resource interface * @api + * @since 100.0.2 */ interface SchemaSetupInterface extends SetupInterface { diff --git a/lib/internal/Magento/Framework/Setup/SetupInterface.php b/lib/internal/Magento/Framework/Setup/SetupInterface.php index 58d0387007045..434a3234ee318 100644 --- a/lib/internal/Magento/Framework/Setup/SetupInterface.php +++ b/lib/internal/Magento/Framework/Setup/SetupInterface.php @@ -9,6 +9,7 @@ * DB resource interface * * @api + * @since 100.0.2 */ interface SetupInterface { diff --git a/lib/internal/Magento/Framework/Setup/UninstallInterface.php b/lib/internal/Magento/Framework/Setup/UninstallInterface.php index 28e8104610559..72a2a9a37348a 100644 --- a/lib/internal/Magento/Framework/Setup/UninstallInterface.php +++ b/lib/internal/Magento/Framework/Setup/UninstallInterface.php @@ -9,6 +9,7 @@ * Interface for handling data removal during module uninstall * * @api + * @since 100.0.2 */ interface UninstallInterface { diff --git a/lib/internal/Magento/Framework/Setup/UpgradeDataInterface.php b/lib/internal/Magento/Framework/Setup/UpgradeDataInterface.php index f700157cab98e..93d94cce0dd99 100644 --- a/lib/internal/Magento/Framework/Setup/UpgradeDataInterface.php +++ b/lib/internal/Magento/Framework/Setup/UpgradeDataInterface.php @@ -9,6 +9,7 @@ * Interface for data upgrades of a module * * @api + * @since 100.0.2 */ interface UpgradeDataInterface { diff --git a/lib/internal/Magento/Framework/Setup/UpgradeSchemaInterface.php b/lib/internal/Magento/Framework/Setup/UpgradeSchemaInterface.php index 22c3b2110ec69..d7a3d56e55164 100644 --- a/lib/internal/Magento/Framework/Setup/UpgradeSchemaInterface.php +++ b/lib/internal/Magento/Framework/Setup/UpgradeSchemaInterface.php @@ -9,6 +9,7 @@ * Interface for DB schema upgrades of a module * * @api + * @since 100.0.2 */ interface UpgradeSchemaInterface { diff --git a/lib/internal/Magento/Framework/Shell/CommandRendererInterface.php b/lib/internal/Magento/Framework/Shell/CommandRendererInterface.php index 7460aaea74819..5632e32b790fe 100644 --- a/lib/internal/Magento/Framework/Shell/CommandRendererInterface.php +++ b/lib/internal/Magento/Framework/Shell/CommandRendererInterface.php @@ -9,6 +9,7 @@ * Shell command renderer * * @api + * @since 100.0.2 */ interface CommandRendererInterface { diff --git a/lib/internal/Magento/Framework/ShellInterface.php b/lib/internal/Magento/Framework/ShellInterface.php index 96607b8a072af..3c51916f06a23 100644 --- a/lib/internal/Magento/Framework/ShellInterface.php +++ b/lib/internal/Magento/Framework/ShellInterface.php @@ -9,6 +9,7 @@ * Shell command line wrapper encapsulates command execution and arguments escaping * * @api + * @since 100.0.2 */ interface ShellInterface { diff --git a/lib/internal/Magento/Framework/Simplexml/Config.php b/lib/internal/Magento/Framework/Simplexml/Config.php index 0d8711c5011c0..9f403e3451dcc 100644 --- a/lib/internal/Magento/Framework/Simplexml/Config.php +++ b/lib/internal/Magento/Framework/Simplexml/Config.php @@ -9,6 +9,7 @@ * Base class for simplexml based configurations * * @api + * @since 100.0.2 */ class Config { diff --git a/lib/internal/Magento/Framework/Simplexml/Element.php b/lib/internal/Magento/Framework/Simplexml/Element.php index eec48bc555010..bd509f7eb0838 100644 --- a/lib/internal/Magento/Framework/Simplexml/Element.php +++ b/lib/internal/Magento/Framework/Simplexml/Element.php @@ -10,6 +10,7 @@ * Extends SimpleXML to add valuable functionality to \SimpleXMLElement class * * @api + * @since 100.0.2 */ class Element extends \SimpleXMLElement { diff --git a/lib/internal/Magento/Framework/Stdlib/ArrayUtils.php b/lib/internal/Magento/Framework/Stdlib/ArrayUtils.php index bd822a4942ba9..56243ae6b24cf 100644 --- a/lib/internal/Magento/Framework/Stdlib/ArrayUtils.php +++ b/lib/internal/Magento/Framework/Stdlib/ArrayUtils.php @@ -9,6 +9,7 @@ * Class ArrayUtils * * @api + * @since 100.0.2 */ class ArrayUtils { @@ -150,7 +151,7 @@ private function _decorateArrayObject($element, $key, $value, $isSkipped) * @param string $path The leading path * @param string $separator The path parts separator * @return array - * @since 100.2.0 + * @since 101.0.0 */ public function flatten(array $data, $path = '', $separator = '/') { @@ -181,7 +182,7 @@ public function flatten(array $data, $path = '', $separator = '/') * @param array $originalArray The array to compare from * @param array $newArray The array to compare with * @return array Diff array - * @since 100.2.0 + * @since 101.0.0 */ public function recursiveDiff(array $originalArray, array $newArray) { diff --git a/lib/internal/Magento/Framework/Stdlib/BooleanUtils.php b/lib/internal/Magento/Framework/Stdlib/BooleanUtils.php index 83cf1a839f0ef..f55bc79ad6505 100644 --- a/lib/internal/Magento/Framework/Stdlib/BooleanUtils.php +++ b/lib/internal/Magento/Framework/Stdlib/BooleanUtils.php @@ -9,6 +9,7 @@ * Utility methods for the boolean data type * * @api + * @since 100.0.2 */ class BooleanUtils { @@ -71,7 +72,7 @@ public function toBoolean($value) * * @param mixed $value * @return mixed - * @since 100.2.0 + * @since 101.0.0 */ public function convert($value) { diff --git a/lib/internal/Magento/Framework/Stdlib/Cookie/CookieMetadata.php b/lib/internal/Magento/Framework/Stdlib/Cookie/CookieMetadata.php index 2b4cddf242113..112408bfddfdd 100644 --- a/lib/internal/Magento/Framework/Stdlib/Cookie/CookieMetadata.php +++ b/lib/internal/Magento/Framework/Stdlib/Cookie/CookieMetadata.php @@ -8,6 +8,7 @@ /** * Class CookieMetadata * @api + * @since 100.0.2 */ class CookieMetadata { diff --git a/lib/internal/Magento/Framework/Stdlib/Cookie/CookieMetadataFactory.php b/lib/internal/Magento/Framework/Stdlib/Cookie/CookieMetadataFactory.php index b60df1264863d..706c19e1e731a 100644 --- a/lib/internal/Magento/Framework/Stdlib/Cookie/CookieMetadataFactory.php +++ b/lib/internal/Magento/Framework/Stdlib/Cookie/CookieMetadataFactory.php @@ -11,6 +11,7 @@ /** * CookieMetadataFactory is used to construct SensitiveCookieMetadata and PublicCookieMetadata objects. * @api + * @since 100.0.2 */ class CookieMetadataFactory { diff --git a/lib/internal/Magento/Framework/Stdlib/Cookie/CookieReaderInterface.php b/lib/internal/Magento/Framework/Stdlib/Cookie/CookieReaderInterface.php index 121c168483a6e..5b7c54159aed6 100644 --- a/lib/internal/Magento/Framework/Stdlib/Cookie/CookieReaderInterface.php +++ b/lib/internal/Magento/Framework/Stdlib/Cookie/CookieReaderInterface.php @@ -9,6 +9,7 @@ /** * CookieReaderInterface provides the ability to read cookies sent in a request. * @api + * @since 100.0.2 */ interface CookieReaderInterface { diff --git a/lib/internal/Magento/Framework/Stdlib/Cookie/CookieScopeInterface.php b/lib/internal/Magento/Framework/Stdlib/Cookie/CookieScopeInterface.php index b2870309ae5a5..d355579b4b07a 100644 --- a/lib/internal/Magento/Framework/Stdlib/Cookie/CookieScopeInterface.php +++ b/lib/internal/Magento/Framework/Stdlib/Cookie/CookieScopeInterface.php @@ -8,6 +8,7 @@ /** * CookieScope is used to store default scope metadata. * @api + * @since 100.0.2 */ interface CookieScopeInterface { diff --git a/lib/internal/Magento/Framework/Stdlib/Cookie/CookieSizeLimitReachedException.php b/lib/internal/Magento/Framework/Stdlib/Cookie/CookieSizeLimitReachedException.php index fabd3bbe2b0be..a74a4983cb5b8 100644 --- a/lib/internal/Magento/Framework/Stdlib/Cookie/CookieSizeLimitReachedException.php +++ b/lib/internal/Magento/Framework/Stdlib/Cookie/CookieSizeLimitReachedException.php @@ -15,6 +15,7 @@ * set for the domain. * * @api + * @since 100.0.2 */ class CookieSizeLimitReachedException extends LocalizedException { diff --git a/lib/internal/Magento/Framework/Stdlib/Cookie/FailureToSendException.php b/lib/internal/Magento/Framework/Stdlib/Cookie/FailureToSendException.php index 681d6b43c3d04..ee9e798d258d7 100644 --- a/lib/internal/Magento/Framework/Stdlib/Cookie/FailureToSendException.php +++ b/lib/internal/Magento/Framework/Stdlib/Cookie/FailureToSendException.php @@ -12,6 +12,7 @@ * impossible to send any cookie information back to the client. * * @api + * @since 100.0.2 */ class FailureToSendException extends LocalizedException { diff --git a/lib/internal/Magento/Framework/Stdlib/Cookie/PublicCookieMetadata.php b/lib/internal/Magento/Framework/Stdlib/Cookie/PublicCookieMetadata.php index ef40ea94a6d08..14af3651834ad 100644 --- a/lib/internal/Magento/Framework/Stdlib/Cookie/PublicCookieMetadata.php +++ b/lib/internal/Magento/Framework/Stdlib/Cookie/PublicCookieMetadata.php @@ -10,6 +10,7 @@ * Class PublicCookieMetadata * * @api + * @since 100.0.2 */ class PublicCookieMetadata extends CookieMetadata { diff --git a/lib/internal/Magento/Framework/Stdlib/Cookie/SensitiveCookieMetadata.php b/lib/internal/Magento/Framework/Stdlib/Cookie/SensitiveCookieMetadata.php index aab8e93160c8d..ed09481ab464e 100644 --- a/lib/internal/Magento/Framework/Stdlib/Cookie/SensitiveCookieMetadata.php +++ b/lib/internal/Magento/Framework/Stdlib/Cookie/SensitiveCookieMetadata.php @@ -15,6 +15,7 @@ * as path and domain are only data to be exposed by SensitiveCookieMetadata * * @api + * @since 100.0.2 */ class SensitiveCookieMetadata extends CookieMetadata { diff --git a/lib/internal/Magento/Framework/Stdlib/CookieManagerInterface.php b/lib/internal/Magento/Framework/Stdlib/CookieManagerInterface.php index d4d37d656ebcf..fc357d26d8c36 100644 --- a/lib/internal/Magento/Framework/Stdlib/CookieManagerInterface.php +++ b/lib/internal/Magento/Framework/Stdlib/CookieManagerInterface.php @@ -22,6 +22,7 @@ * about how the cookie should be stored and whether JavaScript can access the cookie. * * @api + * @since 100.0.2 */ interface CookieManagerInterface extends CookieReaderInterface { diff --git a/lib/internal/Magento/Framework/Stdlib/DateTime.php b/lib/internal/Magento/Framework/Stdlib/DateTime.php index 36db84860b373..2b828f4ba1d4e 100644 --- a/lib/internal/Magento/Framework/Stdlib/DateTime.php +++ b/lib/internal/Magento/Framework/Stdlib/DateTime.php @@ -10,6 +10,7 @@ * Internal dates * * @api + * @since 100.0.2 */ class DateTime { @@ -79,7 +80,7 @@ public function isEmptyDate($date) * @param int $time * @return string The given time in given format * - * @deprecated + * @deprecated 101.0.1 * @see Use Intl library for datetime handling: http://php.net/manual/en/book.intl.php * * @codeCoverageIgnore @@ -95,7 +96,7 @@ public function gmDate($format, $time) * @param string $timeStr * @return int * - * @deprecated + * @deprecated 101.0.1 * @see Use Intl library for datetime handling: http://php.net/manual/en/book.intl.php * * @codeCoverageIgnore diff --git a/lib/internal/Magento/Framework/Stdlib/DateTime/DateTime.php b/lib/internal/Magento/Framework/Stdlib/DateTime/DateTime.php index 7ac93c7b94305..61a7b3aed06be 100644 --- a/lib/internal/Magento/Framework/Stdlib/DateTime/DateTime.php +++ b/lib/internal/Magento/Framework/Stdlib/DateTime/DateTime.php @@ -10,6 +10,7 @@ * Date conversion model * * @api + * @since 100.0.2 */ class DateTime { diff --git a/lib/internal/Magento/Framework/Stdlib/DateTime/DateTimeFormatterInterface.php b/lib/internal/Magento/Framework/Stdlib/DateTime/DateTimeFormatterInterface.php index a2d18215385fc..c1ec2695be114 100644 --- a/lib/internal/Magento/Framework/Stdlib/DateTime/DateTimeFormatterInterface.php +++ b/lib/internal/Magento/Framework/Stdlib/DateTime/DateTimeFormatterInterface.php @@ -7,6 +7,7 @@ /** * @api + * @since 100.0.2 */ interface DateTimeFormatterInterface { diff --git a/lib/internal/Magento/Framework/Stdlib/DateTime/Filter/Date.php b/lib/internal/Magento/Framework/Stdlib/DateTime/Filter/Date.php index 1138dc2e60887..59920f1861072 100644 --- a/lib/internal/Magento/Framework/Stdlib/DateTime/Filter/Date.php +++ b/lib/internal/Magento/Framework/Stdlib/DateTime/Filter/Date.php @@ -11,6 +11,7 @@ * Date filter. Converts date from localized to internal format. * * @api + * @since 100.0.2 */ class Date implements \Zend_Filter_Interface { diff --git a/lib/internal/Magento/Framework/Stdlib/DateTime/Filter/DateTime.php b/lib/internal/Magento/Framework/Stdlib/DateTime/Filter/DateTime.php index 0f2e81e6a9faf..05e9042a06a54 100644 --- a/lib/internal/Magento/Framework/Stdlib/DateTime/Filter/DateTime.php +++ b/lib/internal/Magento/Framework/Stdlib/DateTime/Filter/DateTime.php @@ -9,6 +9,7 @@ * Date/Time filter. Converts datetime from localized to internal format. * * @api + * @since 100.0.2 */ class DateTime extends Date { diff --git a/lib/internal/Magento/Framework/Stdlib/DateTime/Timezone/Validator.php b/lib/internal/Magento/Framework/Stdlib/DateTime/Timezone/Validator.php index 43cc83a702f6c..363fa54794bb4 100644 --- a/lib/internal/Magento/Framework/Stdlib/DateTime/Timezone/Validator.php +++ b/lib/internal/Magento/Framework/Stdlib/DateTime/Timezone/Validator.php @@ -11,6 +11,7 @@ /** * @api + * @since 100.0.2 */ class Validator { diff --git a/lib/internal/Magento/Framework/Stdlib/DateTime/TimezoneInterface.php b/lib/internal/Magento/Framework/Stdlib/DateTime/TimezoneInterface.php index d1ac24c84be9a..0ff6de9266c8a 100644 --- a/lib/internal/Magento/Framework/Stdlib/DateTime/TimezoneInterface.php +++ b/lib/internal/Magento/Framework/Stdlib/DateTime/TimezoneInterface.php @@ -11,6 +11,7 @@ /** * Timezone Interface * @api + * @since 100.0.2 */ interface TimezoneInterface { diff --git a/lib/internal/Magento/Framework/Stdlib/StringUtils.php b/lib/internal/Magento/Framework/Stdlib/StringUtils.php index 35decd7dab0a0..3e3072ee58677 100644 --- a/lib/internal/Magento/Framework/Stdlib/StringUtils.php +++ b/lib/internal/Magento/Framework/Stdlib/StringUtils.php @@ -9,6 +9,7 @@ * Magento methods to work with string * * @api + * @since 100.0.2 */ class StringUtils { diff --git a/lib/internal/Magento/Framework/Translate.php b/lib/internal/Magento/Framework/Translate.php index e992482609a87..18675e19a4a96 100644 --- a/lib/internal/Magento/Framework/Translate.php +++ b/lib/internal/Magento/Framework/Translate.php @@ -461,7 +461,7 @@ private function getThemeTranslationFilesList($locale): array * @param string $locale * @return string * - * @deprecated + * @deprecated 102.0.1 * * @see \Magento\Framework\Translate::getThemeTranslationFilesList */ @@ -589,7 +589,7 @@ protected function _saveCache() * Get serializer * * @return \Magento\Framework\Serialize\SerializerInterface - * @deprecated 100.2.0 + * @deprecated 101.0.0 */ private function getSerializer() { diff --git a/lib/internal/Magento/Framework/Translate/AdapterInterface.php b/lib/internal/Magento/Framework/Translate/AdapterInterface.php index bcd08a0b27c29..96591d3d32d53 100644 --- a/lib/internal/Magento/Framework/Translate/AdapterInterface.php +++ b/lib/internal/Magento/Framework/Translate/AdapterInterface.php @@ -10,6 +10,7 @@ * Magento translate adapter interface * * @api + * @since 100.0.2 */ interface AdapterInterface { diff --git a/lib/internal/Magento/Framework/Translate/Inline/ConfigInterface.php b/lib/internal/Magento/Framework/Translate/Inline/ConfigInterface.php index 02ab3e92d1d16..dc78b0b49d26f 100644 --- a/lib/internal/Magento/Framework/Translate/Inline/ConfigInterface.php +++ b/lib/internal/Magento/Framework/Translate/Inline/ConfigInterface.php @@ -9,6 +9,7 @@ * Inline Translation config interface * * @api + * @since 100.0.2 */ interface ConfigInterface { diff --git a/lib/internal/Magento/Framework/Translate/Inline/ParserInterface.php b/lib/internal/Magento/Framework/Translate/Inline/ParserInterface.php index 4c3bfc1a1964b..78093d99729b7 100644 --- a/lib/internal/Magento/Framework/Translate/Inline/ParserInterface.php +++ b/lib/internal/Magento/Framework/Translate/Inline/ParserInterface.php @@ -9,6 +9,7 @@ * Processes the content with the inline translation replacement so the inline translate JavaScript code will work. * * @api + * @since 100.0.2 */ interface ParserInterface { diff --git a/lib/internal/Magento/Framework/Translate/Inline/StateInterface.php b/lib/internal/Magento/Framework/Translate/Inline/StateInterface.php index cf56616ac4a99..e0994713a0219 100644 --- a/lib/internal/Magento/Framework/Translate/Inline/StateInterface.php +++ b/lib/internal/Magento/Framework/Translate/Inline/StateInterface.php @@ -10,6 +10,7 @@ * Controls and represents the state of the inline translation processing. * * @api + * @since 100.0.2 */ interface StateInterface { diff --git a/lib/internal/Magento/Framework/Translate/InlineInterface.php b/lib/internal/Magento/Framework/Translate/InlineInterface.php index 4669a536eedbf..2c8ac78bffcf0 100644 --- a/lib/internal/Magento/Framework/Translate/InlineInterface.php +++ b/lib/internal/Magento/Framework/Translate/InlineInterface.php @@ -9,6 +9,7 @@ * Inline translation interface * * @api + * @since 100.0.2 */ interface InlineInterface { diff --git a/lib/internal/Magento/Framework/Translate/ResourceInterface.php b/lib/internal/Magento/Framework/Translate/ResourceInterface.php index 51e2f430c7281..44a600a04deeb 100644 --- a/lib/internal/Magento/Framework/Translate/ResourceInterface.php +++ b/lib/internal/Magento/Framework/Translate/ResourceInterface.php @@ -9,6 +9,7 @@ * Returns the translation resource data. * * @api + * @since 100.0.2 */ interface ResourceInterface { diff --git a/lib/internal/Magento/Framework/Unserialize/Unserialize.php b/lib/internal/Magento/Framework/Unserialize/Unserialize.php index 56c3bb0d16864..7611e6c12b6d8 100644 --- a/lib/internal/Magento/Framework/Unserialize/Unserialize.php +++ b/lib/internal/Magento/Framework/Unserialize/Unserialize.php @@ -10,7 +10,7 @@ use Magento\Framework\Serialize\Serializer\Serialize; /** - * @deprecated 100.2.0 + * @deprecated 101.0.0 */ class Unserialize { diff --git a/lib/internal/Magento/Framework/Url.php b/lib/internal/Magento/Framework/Url.php index 11aeb1c0c79b8..7d5c85da754a7 100644 --- a/lib/internal/Magento/Framework/Url.php +++ b/lib/internal/Magento/Framework/Url.php @@ -1024,7 +1024,7 @@ public function getRebuiltUrl($url) * * @param string $value * @return string - * @deprecated 100.2.0 + * @deprecated 101.0.0 */ public function escape($value) { @@ -1176,7 +1176,7 @@ protected function getRouteParamsResolver() * Gets URL modifier. * * @return \Magento\Framework\Url\ModifierInterface - * @deprecated 100.1.0 + * @deprecated 101.0.0 */ private function getUrlModifier() { @@ -1193,7 +1193,7 @@ private function getUrlModifier() * Get escaper * * @return Escaper - * @deprecated 100.2.0 + * @deprecated 101.0.0 */ private function getEscaper() { diff --git a/lib/internal/Magento/Framework/Url/DecoderInterface.php b/lib/internal/Magento/Framework/Url/DecoderInterface.php index 523a402c1dc84..7a9f971202450 100644 --- a/lib/internal/Magento/Framework/Url/DecoderInterface.php +++ b/lib/internal/Magento/Framework/Url/DecoderInterface.php @@ -9,6 +9,7 @@ * Base64 decoder for URLs * * @api + * @since 100.0.2 */ interface DecoderInterface { diff --git a/lib/internal/Magento/Framework/Url/EncoderInterface.php b/lib/internal/Magento/Framework/Url/EncoderInterface.php index 9e5a999755063..02afdfcaefe9b 100644 --- a/lib/internal/Magento/Framework/Url/EncoderInterface.php +++ b/lib/internal/Magento/Framework/Url/EncoderInterface.php @@ -9,6 +9,7 @@ * Base64 encoder for URLs * * @api + * @since 100.0.2 */ interface EncoderInterface { diff --git a/lib/internal/Magento/Framework/Url/QueryParamsResolverInterface.php b/lib/internal/Magento/Framework/Url/QueryParamsResolverInterface.php index c9bd2412cad9c..1e7e8dff25456 100644 --- a/lib/internal/Magento/Framework/Url/QueryParamsResolverInterface.php +++ b/lib/internal/Magento/Framework/Url/QueryParamsResolverInterface.php @@ -9,6 +9,7 @@ * Resolves query parameters in a URL. * * @api + * @since 100.0.2 */ interface QueryParamsResolverInterface { diff --git a/lib/internal/Magento/Framework/Url/RouteParamsResolver.php b/lib/internal/Magento/Framework/Url/RouteParamsResolver.php index b46ba00d48023..eac9005e68548 100644 --- a/lib/internal/Magento/Framework/Url/RouteParamsResolver.php +++ b/lib/internal/Magento/Framework/Url/RouteParamsResolver.php @@ -154,7 +154,7 @@ public function getRouteParam($key) * Get escaper * * @return \Magento\Framework\Escaper - * @deprecated 100.2.0 + * @deprecated 101.0.0 */ private function getEscaper() { diff --git a/lib/internal/Magento/Framework/Url/RouteParamsResolverInterface.php b/lib/internal/Magento/Framework/Url/RouteParamsResolverInterface.php index 349f3d8359f7d..22d9aac7a2c32 100644 --- a/lib/internal/Magento/Framework/Url/RouteParamsResolverInterface.php +++ b/lib/internal/Magento/Framework/Url/RouteParamsResolverInterface.php @@ -9,6 +9,7 @@ * Route parameters resolver. * * @api + * @since 100.0.2 */ interface RouteParamsResolverInterface { diff --git a/lib/internal/Magento/Framework/Url/ScopeInterface.php b/lib/internal/Magento/Framework/Url/ScopeInterface.php index 821ae1814e9a3..648a33ca7b870 100644 --- a/lib/internal/Magento/Framework/Url/ScopeInterface.php +++ b/lib/internal/Magento/Framework/Url/ScopeInterface.php @@ -10,6 +10,7 @@ * determine scope based on URLs. * * @api + * @since 100.0.2 */ interface ScopeInterface extends \Magento\Framework\App\ScopeInterface { diff --git a/lib/internal/Magento/Framework/Url/ScopeResolverInterface.php b/lib/internal/Magento/Framework/Url/ScopeResolverInterface.php index 961ad6ecff8b5..b6861e1153f21 100644 --- a/lib/internal/Magento/Framework/Url/ScopeResolverInterface.php +++ b/lib/internal/Magento/Framework/Url/ScopeResolverInterface.php @@ -9,6 +9,7 @@ * This ScopeResolverInterface adds the ability to get the Magento area the code is executing in. * * @api + * @since 100.0.2 */ interface ScopeResolverInterface extends \Magento\Framework\App\ScopeResolverInterface { diff --git a/lib/internal/Magento/Framework/Url/SecurityInfoInterface.php b/lib/internal/Magento/Framework/Url/SecurityInfoInterface.php index c3cdab91d325f..8029538fbaeb4 100644 --- a/lib/internal/Magento/Framework/Url/SecurityInfoInterface.php +++ b/lib/internal/Magento/Framework/Url/SecurityInfoInterface.php @@ -9,6 +9,7 @@ * URL security information. Answers whether URL is secured. * * @api + * @since 100.0.2 */ interface SecurityInfoInterface { diff --git a/lib/internal/Magento/Framework/UrlInterface.php b/lib/internal/Magento/Framework/UrlInterface.php index 59806e14eb7c9..6575f66ca87f2 100644 --- a/lib/internal/Magento/Framework/UrlInterface.php +++ b/lib/internal/Magento/Framework/UrlInterface.php @@ -7,6 +7,7 @@ /** * @api + * @since 100.0.2 */ interface UrlInterface { diff --git a/lib/internal/Magento/Framework/Validation/ValidationException.php b/lib/internal/Magento/Framework/Validation/ValidationException.php index 4f94bd8af80b5..ee98d08ae47f8 100644 --- a/lib/internal/Magento/Framework/Validation/ValidationException.php +++ b/lib/internal/Magento/Framework/Validation/ValidationException.php @@ -17,6 +17,7 @@ * to support Multi-Error response. * * @api + * @since 101.0.7 */ class ValidationException extends LocalizedException implements AggregateExceptionInterface { @@ -43,6 +44,7 @@ public function __construct( /** * @inheritdoc + * @since 101.0.7 */ public function getErrors(): array { diff --git a/lib/internal/Magento/Framework/Validation/ValidationResult.php b/lib/internal/Magento/Framework/Validation/ValidationResult.php index 60ff7ba5a4700..9e9cad26536fb 100644 --- a/lib/internal/Magento/Framework/Validation/ValidationResult.php +++ b/lib/internal/Magento/Framework/Validation/ValidationResult.php @@ -12,6 +12,7 @@ * ValidationResult represents a container storing all the validation errors that happened during the entity validation. * * @api + * @since 101.0.7 */ class ValidationResult { @@ -30,6 +31,7 @@ public function __construct(array $errors) /** * @return bool + * @since 101.0.7 */ public function isValid(): bool { @@ -38,6 +40,7 @@ public function isValid(): bool /** * @return array + * @since 101.0.7 */ public function getErrors(): array { diff --git a/lib/internal/Magento/Framework/Validator.php b/lib/internal/Magento/Framework/Validator.php index e15a1399a96a4..b42e486d00483 100644 --- a/lib/internal/Magento/Framework/Validator.php +++ b/lib/internal/Magento/Framework/Validator.php @@ -10,6 +10,7 @@ * Validator class that represents chain of validators. * * @api + * @since 100.0.2 */ class Validator extends \Magento\Framework\Validator\AbstractValidator { diff --git a/lib/internal/Magento/Framework/Validator/AbstractValidator.php b/lib/internal/Magento/Framework/Validator/AbstractValidator.php index db636516aacab..ade9fa230fbb8 100644 --- a/lib/internal/Magento/Framework/Validator/AbstractValidator.php +++ b/lib/internal/Magento/Framework/Validator/AbstractValidator.php @@ -9,6 +9,7 @@ * Abstract validator class. * * @api + * @since 100.0.2 */ abstract class AbstractValidator implements \Magento\Framework\Validator\ValidatorInterface { diff --git a/lib/internal/Magento/Framework/Validator/Constraint.php b/lib/internal/Magento/Framework/Validator/Constraint.php index d9be3c3d7ff9f..3326d42b7d24f 100644 --- a/lib/internal/Magento/Framework/Validator/Constraint.php +++ b/lib/internal/Magento/Framework/Validator/Constraint.php @@ -9,6 +9,7 @@ /** * @api + * @since 100.0.2 */ class Constraint extends \Magento\Framework\Validator\AbstractValidator { diff --git a/lib/internal/Magento/Framework/Validator/DataObject.php b/lib/internal/Magento/Framework/Validator/DataObject.php index 7348550ab3880..d4f4bbb45e7ec 100644 --- a/lib/internal/Magento/Framework/Validator/DataObject.php +++ b/lib/internal/Magento/Framework/Validator/DataObject.php @@ -12,6 +12,7 @@ /** * @api + * @since 100.0.2 */ class DataObject implements \Zend_Validate_Interface { diff --git a/lib/internal/Magento/Framework/Validator/Exception.php b/lib/internal/Magento/Framework/Validator/Exception.php index 370f66c424b01..837886e0ce9c9 100644 --- a/lib/internal/Magento/Framework/Validator/Exception.php +++ b/lib/internal/Magento/Framework/Validator/Exception.php @@ -16,6 +16,7 @@ * Exception to be thrown when data validation fails * * @api + * @since 100.0.2 */ class Exception extends InputException { diff --git a/lib/internal/Magento/Framework/Validator/ValidatorInterface.php b/lib/internal/Magento/Framework/Validator/ValidatorInterface.php index 92fb6395c1e4a..001582bd5b867 100644 --- a/lib/internal/Magento/Framework/Validator/ValidatorInterface.php +++ b/lib/internal/Magento/Framework/Validator/ValidatorInterface.php @@ -9,6 +9,7 @@ /** * @api + * @since 100.0.2 */ interface ValidatorInterface extends \Zend_Validate_Interface { diff --git a/lib/internal/Magento/Framework/View/Asset/AssetInterface.php b/lib/internal/Magento/Framework/View/Asset/AssetInterface.php index 60dc997b9d6da..6b7c47816c6a8 100644 --- a/lib/internal/Magento/Framework/View/Asset/AssetInterface.php +++ b/lib/internal/Magento/Framework/View/Asset/AssetInterface.php @@ -9,6 +9,7 @@ * An abstraction for static view file (or resource) that may be embedded to a web page * * @api + * @since 100.0.2 */ interface AssetInterface { @@ -30,7 +31,7 @@ public function getContentType(); * Retrieve source content type * * @return string - * @since 100.2.0 + * @since 101.0.0 */ public function getSourceContentType(); } diff --git a/lib/internal/Magento/Framework/View/Asset/Bundle.php b/lib/internal/Magento/Framework/View/Asset/Bundle.php index 80f35f9d57075..5d918982412b7 100644 --- a/lib/internal/Magento/Framework/View/Asset/Bundle.php +++ b/lib/internal/Magento/Framework/View/Asset/Bundle.php @@ -13,7 +13,7 @@ /** * Bundle model - * @deprecated 100.2.0 + * @deprecated 101.0.0 * @see \Magento\Deploy\Package\Bundle */ class Bundle diff --git a/lib/internal/Magento/Framework/View/Asset/Bundle/Config.php b/lib/internal/Magento/Framework/View/Asset/Bundle/Config.php index 8c529e9a2bc1c..ede43c789416f 100644 --- a/lib/internal/Magento/Framework/View/Asset/Bundle/Config.php +++ b/lib/internal/Magento/Framework/View/Asset/Bundle/Config.php @@ -15,7 +15,7 @@ /** * Class Config - * @deprecated 100.2.0 + * @deprecated 101.0.0 * @see \Magento\Deploy\Config\BundleConfig */ class Config implements Bundle\ConfigInterface diff --git a/lib/internal/Magento/Framework/View/Asset/Bundle/ConfigInterface.php b/lib/internal/Magento/Framework/View/Asset/Bundle/ConfigInterface.php index bea542aef2ea8..3acb49337a2e0 100644 --- a/lib/internal/Magento/Framework/View/Asset/Bundle/ConfigInterface.php +++ b/lib/internal/Magento/Framework/View/Asset/Bundle/ConfigInterface.php @@ -10,7 +10,7 @@ /** * Interface ConfigInterface - * @deprecated 100.2.0 + * @deprecated 101.0.0 * @see \Magento\Deploy\Config\BundleConfig */ interface ConfigInterface diff --git a/lib/internal/Magento/Framework/View/Asset/Bundle/Manager.php b/lib/internal/Magento/Framework/View/Asset/Bundle/Manager.php index ee1368c0e6230..490c04004365d 100644 --- a/lib/internal/Magento/Framework/View/Asset/Bundle/Manager.php +++ b/lib/internal/Magento/Framework/View/Asset/Bundle/Manager.php @@ -15,7 +15,7 @@ /** * BundleService model * @SuppressWarnings(PHPMD.CouplingBetweenObjects) - * @deprecated 100.2.0 + * @deprecated 101.0.0 * @see \Magento\Deploy\Service\Bundle */ class Manager diff --git a/lib/internal/Magento/Framework/View/Asset/ConfigInterface.php b/lib/internal/Magento/Framework/View/Asset/ConfigInterface.php index 21357911e4597..1b817acf84aeb 100644 --- a/lib/internal/Magento/Framework/View/Asset/ConfigInterface.php +++ b/lib/internal/Magento/Framework/View/Asset/ConfigInterface.php @@ -9,6 +9,7 @@ * View asset configuration interface * * @api + * @since 100.0.2 */ interface ConfigInterface { diff --git a/lib/internal/Magento/Framework/View/Asset/ContentProcessorException.php b/lib/internal/Magento/Framework/View/Asset/ContentProcessorException.php index 86daba29e5be8..481968f7da360 100644 --- a/lib/internal/Magento/Framework/View/Asset/ContentProcessorException.php +++ b/lib/internal/Magento/Framework/View/Asset/ContentProcessorException.php @@ -9,6 +9,7 @@ /** * @api + * @since 100.0.2 */ class ContentProcessorException extends LocalizedException { diff --git a/lib/internal/Magento/Framework/View/Asset/File.php b/lib/internal/Magento/Framework/View/Asset/File.php index 2dd50224f78fa..7a3276b251a5a 100644 --- a/lib/internal/Magento/Framework/View/Asset/File.php +++ b/lib/internal/Magento/Framework/View/Asset/File.php @@ -12,6 +12,7 @@ * This class is a value object with lazy loading of some of its data (content, physical file path) * * @api + * @since 100.0.2 */ class File implements MergeableInterface { @@ -166,7 +167,7 @@ public function getSourceFile() * Get source content type * * @return string - * @since 100.2.0 + * @since 101.0.0 */ public function getSourceContentType() { diff --git a/lib/internal/Magento/Framework/View/Asset/File/FallbackContext.php b/lib/internal/Magento/Framework/View/Asset/File/FallbackContext.php index 5f83358336ab6..ba6564cd7abb7 100644 --- a/lib/internal/Magento/Framework/View/Asset/File/FallbackContext.php +++ b/lib/internal/Magento/Framework/View/Asset/File/FallbackContext.php @@ -12,6 +12,7 @@ * An advanced context that contains information necessary for view files fallback system * * @api + * @since 100.0.2 */ class FallbackContext extends Context { diff --git a/lib/internal/Magento/Framework/View/Asset/File/NotFoundException.php b/lib/internal/Magento/Framework/View/Asset/File/NotFoundException.php index 93b88834edff9..ddecc9330617d 100644 --- a/lib/internal/Magento/Framework/View/Asset/File/NotFoundException.php +++ b/lib/internal/Magento/Framework/View/Asset/File/NotFoundException.php @@ -12,6 +12,7 @@ * Use this exception when file has not been found * * @api + * @since 100.0.2 */ class NotFoundException extends \LogicException { diff --git a/lib/internal/Magento/Framework/View/Asset/GroupedCollection.php b/lib/internal/Magento/Framework/View/Asset/GroupedCollection.php index a0942599480b4..a574b272a2876 100644 --- a/lib/internal/Magento/Framework/View/Asset/GroupedCollection.php +++ b/lib/internal/Magento/Framework/View/Asset/GroupedCollection.php @@ -9,6 +9,7 @@ * List of page assets that combines into groups ones having the same properties * * @api + * @since 100.0.2 */ class GroupedCollection extends Collection { diff --git a/lib/internal/Magento/Framework/View/Asset/LocalInterface.php b/lib/internal/Magento/Framework/View/Asset/LocalInterface.php index fd7d1ea473ecd..2bb53bcaa86b2 100644 --- a/lib/internal/Magento/Framework/View/Asset/LocalInterface.php +++ b/lib/internal/Magento/Framework/View/Asset/LocalInterface.php @@ -8,6 +8,7 @@ /** * Interface of an asset with locally accessible source file * @api + * @since 100.0.2 */ interface LocalInterface extends AssetInterface { diff --git a/lib/internal/Magento/Framework/View/Asset/MergeStrategy/Checksum.php b/lib/internal/Magento/Framework/View/Asset/MergeStrategy/Checksum.php index 7c7e8864151c0..c15fedeb8d799 100644 --- a/lib/internal/Magento/Framework/View/Asset/MergeStrategy/Checksum.php +++ b/lib/internal/Magento/Framework/View/Asset/MergeStrategy/Checksum.php @@ -45,7 +45,7 @@ public function __construct( } /** - * @deprecated 100.2.0 + * @deprecated 101.0.0 * @return Source */ private function getAssetSource() diff --git a/lib/internal/Magento/Framework/View/Asset/Minification.php b/lib/internal/Magento/Framework/View/Asset/Minification.php index 087d57ffa4162..856e0b42e2bff 100644 --- a/lib/internal/Magento/Framework/View/Asset/Minification.php +++ b/lib/internal/Magento/Framework/View/Asset/Minification.php @@ -11,6 +11,7 @@ /** * Helper class for static files minification related processes. * @api + * @since 100.0.2 */ class Minification { diff --git a/lib/internal/Magento/Framework/View/Asset/PreProcessor/AlternativeSourceInterface.php b/lib/internal/Magento/Framework/View/Asset/PreProcessor/AlternativeSourceInterface.php index 750c77e651dff..d208786673e04 100644 --- a/lib/internal/Magento/Framework/View/Asset/PreProcessor/AlternativeSourceInterface.php +++ b/lib/internal/Magento/Framework/View/Asset/PreProcessor/AlternativeSourceInterface.php @@ -11,6 +11,7 @@ * Interface AlternativeSourceInterface * * @api + * @since 100.0.2 */ interface AlternativeSourceInterface extends PreProcessorInterface { diff --git a/lib/internal/Magento/Framework/View/Asset/PreProcessor/Chain.php b/lib/internal/Magento/Framework/View/Asset/PreProcessor/Chain.php index 4fc31c22cb2de..80ce1321ef91e 100644 --- a/lib/internal/Magento/Framework/View/Asset/PreProcessor/Chain.php +++ b/lib/internal/Magento/Framework/View/Asset/PreProcessor/Chain.php @@ -13,6 +13,7 @@ * Encapsulates complexity of all necessary context and parameters * * @api + * @since 100.0.2 */ class Chain { diff --git a/lib/internal/Magento/Framework/View/Asset/PreProcessor/ChainFactory.php b/lib/internal/Magento/Framework/View/Asset/PreProcessor/ChainFactory.php index 51957cdf4c789..70baf7622b138 100644 --- a/lib/internal/Magento/Framework/View/Asset/PreProcessor/ChainFactory.php +++ b/lib/internal/Magento/Framework/View/Asset/PreProcessor/ChainFactory.php @@ -11,6 +11,7 @@ * Factory for @see \Magento\Framework\View\Asset\PreProcessor\Chain * @codeCoverageIgnore * @api + * @since 100.0.2 */ class ChainFactory implements ChainFactoryInterface { diff --git a/lib/internal/Magento/Framework/View/Asset/PreProcessor/ChainFactoryInterface.php b/lib/internal/Magento/Framework/View/Asset/PreProcessor/ChainFactoryInterface.php index d81bc69158db9..10ae2f6d479b2 100644 --- a/lib/internal/Magento/Framework/View/Asset/PreProcessor/ChainFactoryInterface.php +++ b/lib/internal/Magento/Framework/View/Asset/PreProcessor/ChainFactoryInterface.php @@ -9,6 +9,7 @@ * Interface ChainFactoryInterface * * @api + * @since 100.0.2 */ interface ChainFactoryInterface { diff --git a/lib/internal/Magento/Framework/View/Asset/PreProcessorInterface.php b/lib/internal/Magento/Framework/View/Asset/PreProcessorInterface.php index 419b6cd8f612f..35c9aa6a18a41 100644 --- a/lib/internal/Magento/Framework/View/Asset/PreProcessorInterface.php +++ b/lib/internal/Magento/Framework/View/Asset/PreProcessorInterface.php @@ -9,6 +9,7 @@ * An interface for "preprocessing" asset contents * * @api + * @since 100.0.2 */ interface PreProcessorInterface { diff --git a/lib/internal/Magento/Framework/View/Asset/Repository.php b/lib/internal/Magento/Framework/View/Asset/Repository.php index 15b9a7130180a..6ec4d1219af63 100644 --- a/lib/internal/Magento/Framework/View/Asset/Repository.php +++ b/lib/internal/Magento/Framework/View/Asset/Repository.php @@ -17,6 +17,7 @@ * @SuppressWarnings(PHPMD.CouplingBetweenObjects) * * @api + * @since 100.0.2 */ class Repository { @@ -37,7 +38,7 @@ class Repository /** * @var \Magento\Framework\View\Design\Theme\ListInterface - * @deprecated 100.1.1 + * @deprecated 100.0.2 */ private $themeList; diff --git a/lib/internal/Magento/Framework/View/Asset/Source.php b/lib/internal/Magento/Framework/View/Asset/Source.php index 4afe1be4490bc..dc98a257500c2 100644 --- a/lib/internal/Magento/Framework/View/Asset/Source.php +++ b/lib/internal/Magento/Framework/View/Asset/Source.php @@ -47,7 +47,7 @@ class Source /** * @var \Magento\Framework\View\Design\Theme\ListInterface - * @deprecated 100.1.1 + * @deprecated 100.0.2 */ private $themeList; diff --git a/lib/internal/Magento/Framework/View/ConfigInterface.php b/lib/internal/Magento/Framework/View/ConfigInterface.php index 1b81f10f49d5a..e2a82d97ca1e8 100644 --- a/lib/internal/Magento/Framework/View/ConfigInterface.php +++ b/lib/internal/Magento/Framework/View/ConfigInterface.php @@ -9,6 +9,7 @@ * Config Interface * * @api + * @since 100.0.2 */ interface ConfigInterface { diff --git a/lib/internal/Magento/Framework/View/Context.php b/lib/internal/Magento/Framework/View/Context.php index 508d63d158bd7..8503c48d135c2 100644 --- a/lib/internal/Magento/Framework/View/Context.php +++ b/lib/internal/Magento/Framework/View/Context.php @@ -28,6 +28,7 @@ * @SuppressWarnings(PHPMD.TooManyFields) * @SuppressWarnings(PHPMD.CouplingBetweenObjects) * @api + * @since 100.0.2 */ class Context { diff --git a/lib/internal/Magento/Framework/View/Design/Fallback/Rule/Theme.php b/lib/internal/Magento/Framework/View/Design/Fallback/Rule/Theme.php index b1e0e117e6efd..543eb3727d7a3 100644 --- a/lib/internal/Magento/Framework/View/Design/Fallback/Rule/Theme.php +++ b/lib/internal/Magento/Framework/View/Design/Fallback/Rule/Theme.php @@ -108,7 +108,7 @@ private function getThemePubStaticDir(ThemeInterface $theme, $params = []) * Get DirectoryList instance * @return DirectoryList * - * @deprecated 100.2.0 + * @deprecated 101.0.0 */ private function getDirectoryList() { diff --git a/lib/internal/Magento/Framework/View/Design/Theme/FileProviderInterface.php b/lib/internal/Magento/Framework/View/Design/Theme/FileProviderInterface.php index bf431b085a106..19337ba60f5a5 100644 --- a/lib/internal/Magento/Framework/View/Design/Theme/FileProviderInterface.php +++ b/lib/internal/Magento/Framework/View/Design/Theme/FileProviderInterface.php @@ -9,6 +9,7 @@ * Theme files provider * * @api + * @since 100.0.2 */ interface FileProviderInterface { diff --git a/lib/internal/Magento/Framework/View/Design/Theme/Label/ListInterface.php b/lib/internal/Magento/Framework/View/Design/Theme/Label/ListInterface.php index 7003ee17dd763..5f8e8be4cf812 100644 --- a/lib/internal/Magento/Framework/View/Design/Theme/Label/ListInterface.php +++ b/lib/internal/Magento/Framework/View/Design/Theme/Label/ListInterface.php @@ -9,6 +9,7 @@ * Label list interface * * @api + * @since 100.0.2 */ interface ListInterface { diff --git a/lib/internal/Magento/Framework/View/Design/Theme/ListInterface.php b/lib/internal/Magento/Framework/View/Design/Theme/ListInterface.php index b3556a578db6a..c68f2fc23f3a8 100644 --- a/lib/internal/Magento/Framework/View/Design/Theme/ListInterface.php +++ b/lib/internal/Magento/Framework/View/Design/Theme/ListInterface.php @@ -9,6 +9,7 @@ * Theme list interface * * @api + * @since 100.0.2 */ interface ListInterface { diff --git a/lib/internal/Magento/Framework/View/Design/ThemeInterface.php b/lib/internal/Magento/Framework/View/Design/ThemeInterface.php index adcd29db708c9..fc1c5d8a22a47 100644 --- a/lib/internal/Magento/Framework/View/Design/ThemeInterface.php +++ b/lib/internal/Magento/Framework/View/Design/ThemeInterface.php @@ -9,6 +9,7 @@ * Interface ThemeInterface * * @api + * @since 100.0.2 */ interface ThemeInterface { diff --git a/lib/internal/Magento/Framework/View/Element/AbstractBlock.php b/lib/internal/Magento/Framework/View/Element/AbstractBlock.php index f8e8d2fee264a..66ebd9c55253d 100644 --- a/lib/internal/Magento/Framework/View/Element/AbstractBlock.php +++ b/lib/internal/Magento/Framework/View/Element/AbstractBlock.php @@ -22,6 +22,7 @@ * @SuppressWarnings(PHPMD.CouplingBetweenObjects) * @SuppressWarnings(PHPMD.TooManyFields) * @SuppressWarnings(PHPMD.NumberOfChildren) + * @since 100.0.2 */ abstract class AbstractBlock extends \Magento\Framework\DataObject implements BlockInterface { @@ -173,7 +174,7 @@ abstract class AbstractBlock extends \Magento\Framework\DataObject implements Bl /** * @var \Magento\Framework\App\CacheInterface - * @since 100.2.0 + * @since 101.0.0 */ protected $_cache; @@ -896,7 +897,7 @@ public function escapeHtml($data, $allowedTags = null) * * @param string $string * @return string - * @since 100.2.0 + * @since 101.0.0 */ public function escapeJs($string) { @@ -909,7 +910,7 @@ public function escapeJs($string) * @param string $string * @param boolean $escapeSingleQuote * @return string - * @since 100.2.0 + * @since 101.0.0 */ public function escapeHtmlAttr($string, $escapeSingleQuote = true) { @@ -921,7 +922,7 @@ public function escapeHtmlAttr($string, $escapeSingleQuote = true) * * @param string $string * @return string - * @since 100.2.0 + * @since 101.0.0 */ public function escapeCss($string) { @@ -960,7 +961,7 @@ public function escapeUrl($string) * * @param string $data * @return string - * @deprecated 100.2.0 + * @deprecated 101.0.0 */ public function escapeXssInUrl($data) { @@ -975,7 +976,7 @@ public function escapeXssInUrl($data) * @param string $data * @param bool $addSlashes * @return string - * @deprecated 100.2.0 + * @deprecated 101.0.0 */ public function escapeQuote($data, $addSlashes = false) { @@ -988,7 +989,7 @@ public function escapeQuote($data, $addSlashes = false) * @param string|array $data * @param string $quote * @return string|array - * @deprecated 100.2.0 + * @deprecated 101.0.0 */ public function escapeJsQuote($data, $quote = '\'') { diff --git a/lib/internal/Magento/Framework/View/Element/Block/ArgumentInterface.php b/lib/internal/Magento/Framework/View/Element/Block/ArgumentInterface.php index 29b5557c9fcb1..00992d28f4df1 100644 --- a/lib/internal/Magento/Framework/View/Element/Block/ArgumentInterface.php +++ b/lib/internal/Magento/Framework/View/Element/Block/ArgumentInterface.php @@ -10,6 +10,7 @@ * All objects that are injected to block arguments should implement this interface. * * @api + * @since 101.0.0 */ interface ArgumentInterface { diff --git a/lib/internal/Magento/Framework/View/Element/BlockFactory.php b/lib/internal/Magento/Framework/View/Element/BlockFactory.php index 068cb49a66319..511c2a9050c17 100644 --- a/lib/internal/Magento/Framework/View/Element/BlockFactory.php +++ b/lib/internal/Magento/Framework/View/Element/BlockFactory.php @@ -11,6 +11,7 @@ * Class BlockFactory * * @api + * @since 100.0.2 */ class BlockFactory { diff --git a/lib/internal/Magento/Framework/View/Element/BlockInterface.php b/lib/internal/Magento/Framework/View/Element/BlockInterface.php index 1b4326694df97..565fdcc68188b 100644 --- a/lib/internal/Magento/Framework/View/Element/BlockInterface.php +++ b/lib/internal/Magento/Framework/View/Element/BlockInterface.php @@ -11,6 +11,7 @@ * Used to present information to user * * @api + * @since 100.0.2 */ interface BlockInterface { diff --git a/lib/internal/Magento/Framework/View/Element/Context.php b/lib/internal/Magento/Framework/View/Element/Context.php index 0f8123745e7e8..ce804e2ace255 100644 --- a/lib/internal/Magento/Framework/View/Element/Context.php +++ b/lib/internal/Magento/Framework/View/Element/Context.php @@ -22,6 +22,7 @@ * @SuppressWarnings(PHPMD) * * @api + * @since 100.0.2 */ class Context implements \Magento\Framework\ObjectManager\ContextInterface { @@ -379,6 +380,7 @@ public function getLocaleDate() * Lock guarded cache loader. * * @return LockGuardedCacheLoader + * @since 102.0.2 */ public function getLockGuardedCacheLoader() { diff --git a/lib/internal/Magento/Framework/View/Element/FormKey.php b/lib/internal/Magento/Framework/View/Element/FormKey.php index 072ba42b34f1d..c1943010ed185 100644 --- a/lib/internal/Magento/Framework/View/Element/FormKey.php +++ b/lib/internal/Magento/Framework/View/Element/FormKey.php @@ -11,6 +11,7 @@ /** * @api + * @since 100.0.2 */ class FormKey extends \Magento\Framework\View\Element\AbstractBlock { diff --git a/lib/internal/Magento/Framework/View/Element/Html/Calendar.php b/lib/internal/Magento/Framework/View/Element/Html/Calendar.php index 0c8187569cf28..b1d5ed66b3387 100644 --- a/lib/internal/Magento/Framework/View/Element/Html/Calendar.php +++ b/lib/internal/Magento/Framework/View/Element/Html/Calendar.php @@ -13,6 +13,7 @@ * Prepares localization data for calendar * * @api + * @since 100.0.2 */ class Calendar extends \Magento\Framework\View\Element\Template { diff --git a/lib/internal/Magento/Framework/View/Element/Html/Link.php b/lib/internal/Magento/Framework/View/Element/Html/Link.php index 6c5761f8cea25..01742257642cc 100644 --- a/lib/internal/Magento/Framework/View/Element/Html/Link.php +++ b/lib/internal/Magento/Framework/View/Element/Html/Link.php @@ -13,6 +13,7 @@ * @method string getTitle() * * @api + * @since 100.0.2 */ class Link extends \Magento\Framework\View\Element\Template { diff --git a/lib/internal/Magento/Framework/View/Element/Html/Link/Current.php b/lib/internal/Magento/Framework/View/Element/Html/Link/Current.php index 7aac210dcab89..a23ce4a83ff31 100644 --- a/lib/internal/Magento/Framework/View/Element/Html/Link/Current.php +++ b/lib/internal/Magento/Framework/View/Element/Html/Link/Current.php @@ -20,6 +20,7 @@ * @method null|array getAttributes() * @method null|bool getCurrent() * @method \Magento\Framework\View\Element\Html\Link\Current setCurrent(bool $value) + * @since 100.0.2 */ class Current extends Template { diff --git a/lib/internal/Magento/Framework/View/Element/Html/Links.php b/lib/internal/Magento/Framework/View/Element/Html/Links.php index 472e24d7f2bfa..8bca55fcbb61d 100644 --- a/lib/internal/Magento/Framework/View/Element/Html/Links.php +++ b/lib/internal/Magento/Framework/View/Element/Html/Links.php @@ -9,6 +9,7 @@ * Links list block * * @api + * @since 100.0.2 */ class Links extends \Magento\Framework\View\Element\Template { diff --git a/lib/internal/Magento/Framework/View/Element/Js/Components.php b/lib/internal/Magento/Framework/View/Element/Js/Components.php index 3f9be417d62be..82a6a3ee8a902 100644 --- a/lib/internal/Magento/Framework/View/Element/Js/Components.php +++ b/lib/internal/Magento/Framework/View/Element/Js/Components.php @@ -10,6 +10,7 @@ /** * @api + * @since 100.0.2 */ class Components extends Template { diff --git a/lib/internal/Magento/Framework/View/Element/Js/Cookie.php b/lib/internal/Magento/Framework/View/Element/Js/Cookie.php index c44bad026ecac..2edb878f5b9a7 100644 --- a/lib/internal/Magento/Framework/View/Element/Js/Cookie.php +++ b/lib/internal/Magento/Framework/View/Element/Js/Cookie.php @@ -11,6 +11,7 @@ /** * @api + * @since 100.0.2 */ class Cookie extends Template { diff --git a/lib/internal/Magento/Framework/View/Element/Messages.php b/lib/internal/Magento/Framework/View/Element/Messages.php index 409e678d4e30a..0af9a915966bf 100644 --- a/lib/internal/Magento/Framework/View/Element/Messages.php +++ b/lib/internal/Magento/Framework/View/Element/Messages.php @@ -11,6 +11,7 @@ * Class Messages * * @api + * @since 100.0.2 */ class Messages extends Template { diff --git a/lib/internal/Magento/Framework/View/Element/RendererInterface.php b/lib/internal/Magento/Framework/View/Element/RendererInterface.php index e9be81b7f9d20..4137739c08757 100644 --- a/lib/internal/Magento/Framework/View/Element/RendererInterface.php +++ b/lib/internal/Magento/Framework/View/Element/RendererInterface.php @@ -9,6 +9,7 @@ * Magento Block interface * * @api + * @since 100.0.2 */ interface RendererInterface { diff --git a/lib/internal/Magento/Framework/View/Element/RendererList.php b/lib/internal/Magento/Framework/View/Element/RendererList.php index 30bc38aed28f3..b951c3a0445fe 100644 --- a/lib/internal/Magento/Framework/View/Element/RendererList.php +++ b/lib/internal/Magento/Framework/View/Element/RendererList.php @@ -7,6 +7,7 @@ /** * @api + * @since 100.0.2 */ class RendererList extends AbstractBlock { diff --git a/lib/internal/Magento/Framework/View/Element/Template.php b/lib/internal/Magento/Framework/View/Element/Template.php index a1aa599156d2a..44dd41c4600bc 100644 --- a/lib/internal/Magento/Framework/View/Element/Template.php +++ b/lib/internal/Magento/Framework/View/Element/Template.php @@ -27,6 +27,7 @@ * @api * @SuppressWarnings(PHPMD.NumberOfChildren) * @SuppressWarnings(PHPMD.CouplingBetweenObjects) + * @since 100.0.2 */ class Template extends AbstractBlock { diff --git a/lib/internal/Magento/Framework/View/Element/Template/Context.php b/lib/internal/Magento/Framework/View/Element/Template/Context.php index 4538fb33a9726..48c91ae29bfa9 100644 --- a/lib/internal/Magento/Framework/View/Element/Template/Context.php +++ b/lib/internal/Magento/Framework/View/Element/Template/Context.php @@ -20,6 +20,7 @@ * * @api * @SuppressWarnings(PHPMD) + * @since 100.0.2 */ class Context extends \Magento\Framework\View\Element\Context { diff --git a/lib/internal/Magento/Framework/View/Element/Text.php b/lib/internal/Magento/Framework/View/Element/Text.php index 687317576c358..b1197006349da 100644 --- a/lib/internal/Magento/Framework/View/Element/Text.php +++ b/lib/internal/Magento/Framework/View/Element/Text.php @@ -9,6 +9,7 @@ * Class Text * * @api + * @since 100.0.2 */ class Text extends \Magento\Framework\View\Element\AbstractBlock { diff --git a/lib/internal/Magento/Framework/View/Element/Text/ListText.php b/lib/internal/Magento/Framework/View/Element/Text/ListText.php index a18ed78967139..d1892b3e11bd7 100644 --- a/lib/internal/Magento/Framework/View/Element/Text/ListText.php +++ b/lib/internal/Magento/Framework/View/Element/Text/ListText.php @@ -11,6 +11,7 @@ * Class ListText * * @api + * @since 100.0.2 */ class ListText extends \Magento\Framework\View\Element\Text { diff --git a/lib/internal/Magento/Framework/View/Element/UiComponent/Config/ManagerInterface.php b/lib/internal/Magento/Framework/View/Element/UiComponent/Config/ManagerInterface.php index a66233f99f4d5..525e9ecb52b20 100644 --- a/lib/internal/Magento/Framework/View/Element/UiComponent/Config/ManagerInterface.php +++ b/lib/internal/Magento/Framework/View/Element/UiComponent/Config/ManagerInterface.php @@ -7,7 +7,7 @@ /** * Interface ManagerInterface - * @deprecated 100.2.0 + * @deprecated 101.0.0 */ interface ManagerInterface { diff --git a/lib/internal/Magento/Framework/View/Element/UiComponent/Config/Provider/Component/Definition.php b/lib/internal/Magento/Framework/View/Element/UiComponent/Config/Provider/Component/Definition.php index 6fd041d582495..56c945ab4fd28 100644 --- a/lib/internal/Magento/Framework/View/Element/UiComponent/Config/Provider/Component/Definition.php +++ b/lib/internal/Magento/Framework/View/Element/UiComponent/Config/Provider/Component/Definition.php @@ -114,7 +114,7 @@ protected function prepareComponentData(array $componentsData) * Get serializer * * @return \Magento\Framework\Serialize\SerializerInterface - * @deprecated 100.2.0 + * @deprecated 101.0.0 */ private function getSerializer() { diff --git a/lib/internal/Magento/Framework/View/Element/UiComponent/Config/Provider/Template.php b/lib/internal/Magento/Framework/View/Element/UiComponent/Config/Provider/Template.php index 59da9bc8aa5b1..074e18738c3b8 100644 --- a/lib/internal/Magento/Framework/View/Element/UiComponent/Config/Provider/Template.php +++ b/lib/internal/Magento/Framework/View/Element/UiComponent/Config/Provider/Template.php @@ -117,7 +117,7 @@ public function getTemplate($template) * Get serializer * * @return \Magento\Framework\Serialize\SerializerInterface - * @deprecated 100.2.0 + * @deprecated 101.0.0 */ private function getSerializer() { diff --git a/lib/internal/Magento/Framework/View/Element/UiComponent/DataProvider/DataProviderInterface.php b/lib/internal/Magento/Framework/View/Element/UiComponent/DataProvider/DataProviderInterface.php index 9f3121f4e495d..d939a01648f6b 100644 --- a/lib/internal/Magento/Framework/View/Element/UiComponent/DataProvider/DataProviderInterface.php +++ b/lib/internal/Magento/Framework/View/Element/UiComponent/DataProvider/DataProviderInterface.php @@ -11,6 +11,7 @@ * Interface DataProviderInterface * * @api + * @since 100.0.2 */ interface DataProviderInterface { diff --git a/lib/internal/Magento/Framework/View/Element/UiComponent/DataProvider/FilterPool.php b/lib/internal/Magento/Framework/View/Element/UiComponent/DataProvider/FilterPool.php index 24ea542649875..392e2a50fa274 100644 --- a/lib/internal/Magento/Framework/View/Element/UiComponent/DataProvider/FilterPool.php +++ b/lib/internal/Magento/Framework/View/Element/UiComponent/DataProvider/FilterPool.php @@ -13,6 +13,7 @@ * Class FilterPool * * @api + * @since 100.0.2 */ class FilterPool { diff --git a/lib/internal/Magento/Framework/View/Element/UiComponent/DataProvider/SearchResult.php b/lib/internal/Magento/Framework/View/Element/UiComponent/DataProvider/SearchResult.php index e1aa6a0605dab..32334e89c5876 100644 --- a/lib/internal/Magento/Framework/View/Element/UiComponent/DataProvider/SearchResult.php +++ b/lib/internal/Magento/Framework/View/Element/UiComponent/DataProvider/SearchResult.php @@ -95,7 +95,7 @@ public function __construct( } /** - * @deprecated 100.2.0 + * @deprecated 101.0.0 * @return ResourceConnection */ private function getResourceConnection() diff --git a/lib/internal/Magento/Framework/View/Element/UiComponentFactory.php b/lib/internal/Magento/Framework/View/Element/UiComponentFactory.php index 626aebeb94269..b4c4a3294710d 100755 --- a/lib/internal/Magento/Framework/View/Element/UiComponentFactory.php +++ b/lib/internal/Magento/Framework/View/Element/UiComponentFactory.php @@ -24,6 +24,7 @@ * * @api * @SuppressWarnings(PHPMD.CouplingBetweenObjects) + * @since 100.0.2 */ class UiComponentFactory extends DataObject { @@ -49,7 +50,7 @@ class UiComponentFactory extends DataObject /** * UI component manager * - * @deprecated 100.2.0 + * @deprecated 101.0.0 * @var ManagerInterface */ protected $componentManager; diff --git a/lib/internal/Magento/Framework/View/Element/UiComponentInterface.php b/lib/internal/Magento/Framework/View/Element/UiComponentInterface.php index b5c3546084fcb..151be6345adec 100644 --- a/lib/internal/Magento/Framework/View/Element/UiComponentInterface.php +++ b/lib/internal/Magento/Framework/View/Element/UiComponentInterface.php @@ -11,6 +11,7 @@ * Interface UiComponentInterface * * @api + * @since 100.0.2 */ interface UiComponentInterface extends BlockInterface { diff --git a/lib/internal/Magento/Framework/View/File/CollectorInterface.php b/lib/internal/Magento/Framework/View/File/CollectorInterface.php index 31554d2a79238..dec8d6ea093b6 100644 --- a/lib/internal/Magento/Framework/View/File/CollectorInterface.php +++ b/lib/internal/Magento/Framework/View/File/CollectorInterface.php @@ -11,6 +11,7 @@ * Interface of locating view files in the file system * * @api + * @since 100.0.2 */ interface CollectorInterface { diff --git a/lib/internal/Magento/Framework/View/FileSystem.php b/lib/internal/Magento/Framework/View/FileSystem.php index db269345eab98..687b6adcb0f8e 100644 --- a/lib/internal/Magento/Framework/View/FileSystem.php +++ b/lib/internal/Magento/Framework/View/FileSystem.php @@ -9,6 +9,7 @@ * Model that finds file paths by their fileId * * @api + * @since 100.0.2 */ class FileSystem { diff --git a/lib/internal/Magento/Framework/View/Layout/BuilderInterface.php b/lib/internal/Magento/Framework/View/Layout/BuilderInterface.php index f579a539a12a9..1d28952aaa0f7 100644 --- a/lib/internal/Magento/Framework/View/Layout/BuilderInterface.php +++ b/lib/internal/Magento/Framework/View/Layout/BuilderInterface.php @@ -11,6 +11,7 @@ * Interface BuilderInterface * * @api + * @since 100.0.2 */ interface BuilderInterface { diff --git a/lib/internal/Magento/Framework/View/Layout/Data/Structure.php b/lib/internal/Magento/Framework/View/Layout/Data/Structure.php index d9aa739fb04f9..3ec5f8b50c7da 100644 --- a/lib/internal/Magento/Framework/View/Layout/Data/Structure.php +++ b/lib/internal/Magento/Framework/View/Layout/Data/Structure.php @@ -12,6 +12,7 @@ * An associative data structure, that features "nested set" parent-child relations * * @api + * @since 100.0.2 */ class Structure extends DataStructure { diff --git a/lib/internal/Magento/Framework/View/Layout/Element.php b/lib/internal/Magento/Framework/View/Layout/Element.php index 203af4bf1553c..f8ce682dcded2 100644 --- a/lib/internal/Magento/Framework/View/Layout/Element.php +++ b/lib/internal/Magento/Framework/View/Layout/Element.php @@ -9,6 +9,7 @@ * Class Element * * @api + * @since 100.0.2 */ class Element extends \Magento\Framework\Simplexml\Element { diff --git a/lib/internal/Magento/Framework/View/Layout/Generator/Context.php b/lib/internal/Magento/Framework/View/Layout/Generator/Context.php index 951724b062829..606372d366722 100644 --- a/lib/internal/Magento/Framework/View/Layout/Generator/Context.php +++ b/lib/internal/Magento/Framework/View/Layout/Generator/Context.php @@ -10,6 +10,7 @@ /** * @api + * @since 100.0.2 */ class Context { diff --git a/lib/internal/Magento/Framework/View/Layout/GeneratorPool.php b/lib/internal/Magento/Framework/View/Layout/GeneratorPool.php index a585eda37df68..333afcf3bf408 100644 --- a/lib/internal/Magento/Framework/View/Layout/GeneratorPool.php +++ b/lib/internal/Magento/Framework/View/Layout/GeneratorPool.php @@ -10,6 +10,7 @@ /** * Pool of generators for structural elements * @api + * @since 100.0.2 */ class GeneratorPool { @@ -238,7 +239,7 @@ protected function moveElementInStructure( * @param array $data * * @return bool - * @since 100.2.0 + * @since 101.0.0 */ protected function visibilityConditionsExistsIn(array $data) { diff --git a/lib/internal/Magento/Framework/View/Layout/Reader/Block.php b/lib/internal/Magento/Framework/View/Layout/Reader/Block.php index ff20eb339c318..52f7552cea03d 100755 --- a/lib/internal/Magento/Framework/View/Layout/Reader/Block.php +++ b/lib/internal/Magento/Framework/View/Layout/Reader/Block.php @@ -81,7 +81,7 @@ class Block implements Layout\ReaderInterface private $conditionReader; /** - * @deprecated 100.2.0 + * @deprecated 101.0.0 * @var string */ private $deprecatedAttributeAcl = 'acl'; diff --git a/lib/internal/Magento/Framework/View/Layout/Reader/Context.php b/lib/internal/Magento/Framework/View/Layout/Reader/Context.php index 806c779186dc0..f9ca09478d600 100644 --- a/lib/internal/Magento/Framework/View/Layout/Reader/Context.php +++ b/lib/internal/Magento/Framework/View/Layout/Reader/Context.php @@ -10,6 +10,7 @@ /** * @api + * @since 100.0.2 */ class Context { diff --git a/lib/internal/Magento/Framework/View/Layout/ScheduledStructure.php b/lib/internal/Magento/Framework/View/Layout/ScheduledStructure.php index 3193e10282fd4..aae2e9a68fe3c 100644 --- a/lib/internal/Magento/Framework/View/Layout/ScheduledStructure.php +++ b/lib/internal/Magento/Framework/View/Layout/ScheduledStructure.php @@ -9,6 +9,7 @@ * Layout structure model * * @api + * @since 100.0.2 */ class ScheduledStructure { @@ -489,7 +490,7 @@ public function flushScheduledStructure() * Reformat 'Layout scheduled structure' to array. * * @return array - * @since 100.2.0 + * @since 101.0.0 */ public function __toArray() { @@ -506,7 +507,7 @@ public function __toArray() * * @param array $data * @return void - * @since 100.2.0 + * @since 101.0.0 */ public function populateWithArray(array $data) { diff --git a/lib/internal/Magento/Framework/View/LayoutInterface.php b/lib/internal/Magento/Framework/View/LayoutInterface.php index a8ad5e28de2d6..3a63b5ccc9ea3 100644 --- a/lib/internal/Magento/Framework/View/LayoutInterface.php +++ b/lib/internal/Magento/Framework/View/LayoutInterface.php @@ -8,6 +8,7 @@ /** * Interface LayoutInterface * @api + * @since 100.0.2 */ interface LayoutInterface { diff --git a/lib/internal/Magento/Framework/View/Page/Config.php b/lib/internal/Magento/Framework/View/Page/Config.php index 44f4038860cda..ea71e49615e47 100644 --- a/lib/internal/Magento/Framework/View/Page/Config.php +++ b/lib/internal/Magento/Framework/View/Page/Config.php @@ -26,6 +26,7 @@ * @SuppressWarnings(PHPMD.TooManyFields) * * @api + * @since 100.0.2 */ class Config { @@ -384,6 +385,7 @@ public function getDescription() * Set meta title * * @param string $title + * @since 101.0.6 */ public function setMetaTitle($title) { @@ -394,6 +396,7 @@ public function setMetaTitle($title) * Retrieve meta title * * @return string + * @since 101.0.6 */ public function getMetaTitle() { diff --git a/lib/internal/Magento/Framework/View/Page/Config/Structure.php b/lib/internal/Magento/Framework/View/Page/Config/Structure.php index 1a181952ed990..78e3cf9f58c85 100644 --- a/lib/internal/Magento/Framework/View/Page/Config/Structure.php +++ b/lib/internal/Magento/Framework/View/Page/Config/Structure.php @@ -10,6 +10,7 @@ * Page config structure model * * @api + * @since 100.0.2 */ class Structure { @@ -216,7 +217,7 @@ public function getAssets() * Reformat 'Page config structure' to array. * * @return array - * @since 100.2.0 + * @since 101.0.0 */ public function __toArray() { @@ -233,7 +234,7 @@ public function __toArray() * * @param array $data * @return void - * @since 100.2.0 + * @since 101.0.0 */ public function populateWithArray(array $data) { diff --git a/lib/internal/Magento/Framework/View/Page/FaviconInterface.php b/lib/internal/Magento/Framework/View/Page/FaviconInterface.php index d7286029c466c..a28506e3f5906 100644 --- a/lib/internal/Magento/Framework/View/Page/FaviconInterface.php +++ b/lib/internal/Magento/Framework/View/Page/FaviconInterface.php @@ -9,6 +9,7 @@ * Favicon interface * * @api + * @since 100.0.2 */ interface FaviconInterface { diff --git a/lib/internal/Magento/Framework/View/Page/Title.php b/lib/internal/Magento/Framework/View/Page/Title.php index b0c8b155c878e..17bc4cea1cc92 100644 --- a/lib/internal/Magento/Framework/View/Page/Title.php +++ b/lib/internal/Magento/Framework/View/Page/Title.php @@ -12,6 +12,7 @@ * Page title * * @api + * @since 100.0.2 */ class Title { diff --git a/lib/internal/Magento/Framework/View/Render/RenderFactory.php b/lib/internal/Magento/Framework/View/Render/RenderFactory.php index 3f90bc2e8f2bb..d150ede9a5b78 100644 --- a/lib/internal/Magento/Framework/View/Render/RenderFactory.php +++ b/lib/internal/Magento/Framework/View/Render/RenderFactory.php @@ -12,6 +12,7 @@ * Class RenderFactory * * @api + * @since 100.0.2 */ class RenderFactory { diff --git a/lib/internal/Magento/Framework/View/RenderInterface.php b/lib/internal/Magento/Framework/View/RenderInterface.php index 041893f81232a..5f456dd1987eb 100644 --- a/lib/internal/Magento/Framework/View/RenderInterface.php +++ b/lib/internal/Magento/Framework/View/RenderInterface.php @@ -9,6 +9,7 @@ * Interface RenderInterface * * @api + * @since 100.0.2 */ interface RenderInterface { diff --git a/lib/internal/Magento/Framework/View/Result/Layout.php b/lib/internal/Magento/Framework/View/Result/Layout.php index 83e0a991cb959..2b08ddf69e372 100644 --- a/lib/internal/Magento/Framework/View/Result/Layout.php +++ b/lib/internal/Magento/Framework/View/Result/Layout.php @@ -19,6 +19,7 @@ * @SuppressWarnings(PHPMD.CouplingBetweenObjects) * * @api + * @since 100.0.2 */ class Layout extends AbstractResult { diff --git a/lib/internal/Magento/Framework/View/Result/LayoutFactory.php b/lib/internal/Magento/Framework/View/Result/LayoutFactory.php index 4104e19686244..4b857ad3cf66b 100644 --- a/lib/internal/Magento/Framework/View/Result/LayoutFactory.php +++ b/lib/internal/Magento/Framework/View/Result/LayoutFactory.php @@ -10,6 +10,7 @@ /** * @api + * @since 100.0.2 */ class LayoutFactory { diff --git a/lib/internal/Magento/Framework/View/Result/Page.php b/lib/internal/Magento/Framework/View/Result/Page.php index 39cca1a111906..14a83a8320330 100644 --- a/lib/internal/Magento/Framework/View/Result/Page.php +++ b/lib/internal/Magento/Framework/View/Result/Page.php @@ -25,6 +25,7 @@ * @SuppressWarnings(PHPMD.DepthOfInheritance) * * @api + * @since 100.0.2 */ class Page extends Layout { diff --git a/lib/internal/Magento/Framework/View/Result/PageFactory.php b/lib/internal/Magento/Framework/View/Result/PageFactory.php index ef234ca4d4429..4de4c097d16a2 100644 --- a/lib/internal/Magento/Framework/View/Result/PageFactory.php +++ b/lib/internal/Magento/Framework/View/Result/PageFactory.php @@ -14,6 +14,7 @@ * which is by convention is determined from the controller action class * * @api + * @since 100.0.2 */ class PageFactory { diff --git a/lib/internal/Magento/Framework/View/Template/Html/MinifierInterface.php b/lib/internal/Magento/Framework/View/Template/Html/MinifierInterface.php index edd8caeb914b3..98fe13ab3a12c 100644 --- a/lib/internal/Magento/Framework/View/Template/Html/MinifierInterface.php +++ b/lib/internal/Magento/Framework/View/Template/Html/MinifierInterface.php @@ -10,6 +10,7 @@ * HTML minifier * * @api + * @since 100.0.2 */ interface MinifierInterface { diff --git a/lib/internal/Magento/Framework/View/TemplateEngine/Xhtml/CompilerInterface.php b/lib/internal/Magento/Framework/View/TemplateEngine/Xhtml/CompilerInterface.php index 565bb7c92324c..8228013df40a4 100644 --- a/lib/internal/Magento/Framework/View/TemplateEngine/Xhtml/CompilerInterface.php +++ b/lib/internal/Magento/Framework/View/TemplateEngine/Xhtml/CompilerInterface.php @@ -11,6 +11,7 @@ * Interface CompilerInterface * * @api + * @since 100.0.2 */ interface CompilerInterface { diff --git a/lib/internal/Magento/Framework/View/TemplateEnginePool.php b/lib/internal/Magento/Framework/View/TemplateEnginePool.php index 1aec127a17bd1..0f8d2032af879 100644 --- a/lib/internal/Magento/Framework/View/TemplateEnginePool.php +++ b/lib/internal/Magento/Framework/View/TemplateEnginePool.php @@ -7,6 +7,7 @@ /** * @api + * @since 100.0.2 */ class TemplateEnginePool { diff --git a/lib/internal/Magento/Framework/View/Url/ConfigInterface.php b/lib/internal/Magento/Framework/View/Url/ConfigInterface.php index d1076abdb0ec5..4cc0d86e619f2 100644 --- a/lib/internal/Magento/Framework/View/Url/ConfigInterface.php +++ b/lib/internal/Magento/Framework/View/Url/ConfigInterface.php @@ -8,6 +8,7 @@ /** * Url Config Interface * @api + * @since 100.0.2 */ interface ConfigInterface { diff --git a/lib/internal/Magento/Framework/View/Url/CssResolver.php b/lib/internal/Magento/Framework/View/Url/CssResolver.php index 8c73e2ab9bcf9..60f03d063c4a8 100644 --- a/lib/internal/Magento/Framework/View/Url/CssResolver.php +++ b/lib/internal/Magento/Framework/View/Url/CssResolver.php @@ -11,6 +11,7 @@ * CSS URLs resolver class. * This utility class provides a set of methods to work with CSS files. * @api + * @since 100.0.2 */ class CssResolver { diff --git a/lib/internal/Magento/Framework/Webapi/Authorization.php b/lib/internal/Magento/Framework/Webapi/Authorization.php index 03ee07d48b323..a1907dc46ab11 100644 --- a/lib/internal/Magento/Framework/Webapi/Authorization.php +++ b/lib/internal/Magento/Framework/Webapi/Authorization.php @@ -23,7 +23,6 @@ class Authorization * Initialize dependencies. * * @param \Magento\Framework\AuthorizationInterface $authorization - * @since 100.1.0 */ public function __construct(\Magento\Framework\AuthorizationInterface $authorization) { diff --git a/lib/internal/Magento/Framework/Webapi/CustomAttributeTypeLocatorInterface.php b/lib/internal/Magento/Framework/Webapi/CustomAttributeTypeLocatorInterface.php index 25d78672eef87..ac183bc3b1871 100644 --- a/lib/internal/Magento/Framework/Webapi/CustomAttributeTypeLocatorInterface.php +++ b/lib/internal/Magento/Framework/Webapi/CustomAttributeTypeLocatorInterface.php @@ -24,7 +24,7 @@ public function getType($attributeCode, $entityType); * Get list of all Data Interface corresponding to complex custom attribute types * * @return string[] array of Data Interface class names - * @deprecated + * @deprecated 102.0.0 * @see \Magento\Framework\Webapi\CustomAttribute\ServiceTypeListInterface::getDataTypes() */ public function getAllServiceDataInterfaces(); diff --git a/lib/internal/Magento/Framework/Webapi/ErrorProcessor.php b/lib/internal/Magento/Framework/Webapi/ErrorProcessor.php index f9b6a32fc5673..3737d86d2b1f6 100644 --- a/lib/internal/Magento/Framework/Webapi/ErrorProcessor.php +++ b/lib/internal/Magento/Framework/Webapi/ErrorProcessor.php @@ -24,6 +24,7 @@ * * @SuppressWarnings(PHPMD.CouplingBetweenObjects) * @api + * @since 100.0.2 */ class ErrorProcessor { diff --git a/lib/internal/Magento/Framework/Webapi/Rest/Request/Deserializer/Json.php b/lib/internal/Magento/Framework/Webapi/Rest/Request/Deserializer/Json.php index c2e7c324d1282..2673df519b064 100644 --- a/lib/internal/Magento/Framework/Webapi/Rest/Request/Deserializer/Json.php +++ b/lib/internal/Magento/Framework/Webapi/Rest/Request/Deserializer/Json.php @@ -14,7 +14,7 @@ class Json implements \Magento\Framework\Webapi\Rest\Request\DeserializerInterfa { /** * @var \Magento\Framework\Json\Decoder - * @deprecated + * @deprecated 101.0.0 */ protected $decoder; diff --git a/lib/internal/Magento/Framework/Webapi/Rest/Request/ParamOverriderInterface.php b/lib/internal/Magento/Framework/Webapi/Rest/Request/ParamOverriderInterface.php index 828022353e4fa..bc171b84ba3d9 100644 --- a/lib/internal/Magento/Framework/Webapi/Rest/Request/ParamOverriderInterface.php +++ b/lib/internal/Magento/Framework/Webapi/Rest/Request/ParamOverriderInterface.php @@ -27,6 +27,7 @@ * adding to the parameter list for ParamsOverrider's dependency injection configuration. * * @api + * @since 100.0.2 */ interface ParamOverriderInterface { diff --git a/lib/internal/Magento/Framework/Webapi/Rest/Response/RendererInterface.php b/lib/internal/Magento/Framework/Webapi/Rest/Response/RendererInterface.php index 9d905ce599779..4edbe4e6a5377 100644 --- a/lib/internal/Magento/Framework/Webapi/Rest/Response/RendererInterface.php +++ b/lib/internal/Magento/Framework/Webapi/Rest/Response/RendererInterface.php @@ -11,6 +11,7 @@ * Renderer interface allows REST response data rendering in a specific format (e.g. Json or Xml) * * @api + * @since 100.0.2 */ interface RendererInterface { diff --git a/lib/internal/Magento/Framework/Webapi/ServiceInputProcessor.php b/lib/internal/Magento/Framework/Webapi/ServiceInputProcessor.php index c253a400bed93..f46105a456586 100644 --- a/lib/internal/Magento/Framework/Webapi/ServiceInputProcessor.php +++ b/lib/internal/Magento/Framework/Webapi/ServiceInputProcessor.php @@ -28,6 +28,7 @@ * * @SuppressWarnings(PHPMD.CouplingBetweenObjects) * @api + * @since 100.0.2 */ class ServiceInputProcessor implements ServicePayloadConverterInterface { diff --git a/lib/internal/Magento/Framework/Webapi/ServiceOutputProcessor.php b/lib/internal/Magento/Framework/Webapi/ServiceOutputProcessor.php index 224421d6561c8..684d07e3994a6 100644 --- a/lib/internal/Magento/Framework/Webapi/ServiceOutputProcessor.php +++ b/lib/internal/Magento/Framework/Webapi/ServiceOutputProcessor.php @@ -17,6 +17,7 @@ * Data object converter * * @api + * @since 100.0.2 */ class ServiceOutputProcessor implements ServicePayloadConverterInterface { diff --git a/lib/internal/Magento/Framework/Webapi/ServicePayloadConverterInterface.php b/lib/internal/Magento/Framework/Webapi/ServicePayloadConverterInterface.php index 30f93efdb9ef9..da4fe0ad08143 100644 --- a/lib/internal/Magento/Framework/Webapi/ServicePayloadConverterInterface.php +++ b/lib/internal/Magento/Framework/Webapi/ServicePayloadConverterInterface.php @@ -11,6 +11,7 @@ * Interface for data conversion based on data type. * * @api + * @since 100.0.2 */ interface ServicePayloadConverterInterface { diff --git a/lib/internal/Magento/Framework/composer.json b/lib/internal/Magento/Framework/composer.json index c42323a2ecc06..de67051a43422 100644 --- a/lib/internal/Magento/Framework/composer.json +++ b/lib/internal/Magento/Framework/composer.json @@ -58,5 +58,6 @@ "files": [ "registration.php" ] - } + }, + "version": "102.0.3-p1" }