- {{trans "%name," name=$billing.getName()}}
+ {{trans "%name," name=$billing.name}}
{{trans
"Your order #%increment_id has been updated with a status of %order_status ."
increment_id=$order.increment_id
- order_status=$order.getFrontendStatusLabel()
+ order_status=$order_data.frontend_status_label
|raw}}
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" />
+
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 @@
+
+
+
+
+
+
+ - Magento\TestModuleSimpleTemplateDirective\Model\MyDirProcessor
+
+
+
+
+
+
+ - Magento\TestModuleSimpleTemplateDirective\Model\FooFilter
+
+
+
+
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 @@
+
+
+
+
+
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 @@
+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 = '
+
+ ';
+ $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 @@
+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 @@
+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 @@
+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 = '
+
+ ';
+
+ $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 world !" adjective="bad "}}',
+ [],
+ 'Hello <em>bad</em> <strong>world</strong>!',
+ ],
+ 'unescaped modifier' => [
+ '{{trans "Hello %adjective world !" adjective="bad "|raw}}',
+ [],
+ 'Hello bad world !',
+ ],
+ '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 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 @@
+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 @@
+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 ' . "\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 ' . "\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 @@
+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 @@
+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 @@
+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 @@
+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 @@
+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 @@
+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 \nOOF"
+ ],
+ [
+ 'foo.getBar().baz|foofilter:myparam|nl2br|doesntexist|nl2br',
+ ['foo' => new DataObject(['bar' => ['baz' => "foo\nbar"]])],
+ "MARAPYMRAB \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 '' . $type . ' ';
+ }
+ }
+ ]
+ );
+
+ $template = '{{var address.format(\'html\')}}';
+ $expected = 'html ';
+ 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 '' . $type . ' ';
+ }
+ },
+ ]
+ );
+
+ $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 ' . "\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 = <<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 @@
+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 @@
+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 @@
+_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 @@
+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 }}
+ $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 }}
+ $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 }}
+ $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 }}
+ *
+ * @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 }} 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('//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 @@
+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 @@
+
+
+
+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 @@
+
+
+
+{{var foo.good}}
+{{var foo.good|stillfine}}
+{{var foo.bad()}}
+{{var foo.bad()|alsobad}}
+{{var foo.getGood()}}
+{{var foo.foo.getGood()}}
+{{var foo.getGood().fine}}
+{{var foo.getGood().fine|alsofine}}
+{{var foo.bad($bad.param())}}
+{{var foo.bad.baz()}}
+{{var foo.undeclared.baz}}
+{{trans "foo %bar" bar=$foo.good.trans}}
+{{trans "foo %bar" bar=$foo.bad.trans()}}
+{{trans "foo %bar" bar="something"}}
+{{trans "foo %bar" bar="something" bad="$bad.bad()" something=$undeclared.var.error}}
+{{something "
+ foo %bar blah
+ " bar="something"
+}}
+{{something "
+ foo %bar blah
+ " bar="something" bad=$bad.multiline()
+}}
+
+{{if foo.goodif}}
+{{var foo.goodif2}}
+{{/if}}
+
+{{if foo.goodif}}
+{{var foo.goodif2}}
+{{else}}
+{{var foo.goodif3}}
+{{/if}}
+
+{{if foo.badif().bad}}
+{{var foo.badif2()}}
+{{/if}}
+
+{{if foo.badif3()}}
+{{var foo.badif4()}}
+{{else}}
+{{var foo.badif5()}}
+{{/if}}
+
+{{depend foo.gooddepend}}
+{{var foo.gooddepend2}}
+{{/depend}}
+
+{{depend foo.badDepend().bad}}
+{{var foo.baddepend2()}}
+{{/depend}}
+
+{{for item in foo.goodFor}}
+{{var foo.goodFor}}
+{{var foo.goodFor|stillfine}}
+{{var foo.badFor()}}
+{{var foo.badFor()|alsobad}}
+{{/for}}
+
+{{for item in foo.getGoodFor()}}
+loopy
+{{/for}}
+
+{{for item in foo.badForLoop()}}
+this loop has a bad variable
+{{/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
* @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
*
* @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
* @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
+ * @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
*/
-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 = '_getUiId() .
' />' .
@@ -127,7 +128,8 @@ protected function _getDeleteCheckbox()
*/
protected function _getHiddenInput()
{
- return ' ';
+ return ' ';
}
/**
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
+ * @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(' 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(' 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
+ * @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
+ * @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 @@
+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 @@
+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 @@
+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 @@
+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 @@
+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 @@
+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 @@
+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 @@
+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[a-z]+)(?:[\s\t]*)'
+ . '(?:\s*(?P[\'"])(?P(?:(?!\k\'quoteType\').)*?)(?.*?)'
+ . '(?P(?:\|[a-z0-9:_-]+)+)?'
+ . '}}'
+ . '(?:(?P.*?){{\/(?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 @@
+"}}
+ *
+ * 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 @@
+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(?:\|[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 @@
+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.*? )(in)(?P.*?)}}(?P.*?){{\/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:
+ *
+ *
+ * $previousMode = $filter->setStrictMode(true);
+ * $filter->filter($value);
+ * $filter->setStrictMode($previousMode);
+ *
+ *
+ * @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 @@
+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"
+ . '' . "\n\t\t"
+ . '{{foo bar}} {{/dir}}',
+ [
+ 'directiveName' => 'dir',
+ 'quoteType' => '"',
+ 'value' => 'blah',
+ 'parameters' => ' some nonsense !=@#$%^&*()_+abc.,;\'',
+ 'content' => "\n\t" . '' . "\n\t\t" . '{{foo bar}} ',
+ '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 = <<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)
{{for in order.all_visible_items}}
- {{var loop.index}} name: {{var thing.name}}, lastname: {{var thing.lastname}}, age: {{var thing.age}}
+ name: , lastname: , age:
{{/for}}
@@ -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 @@
+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 @@
+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 @@
+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 @@
+ ['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
* @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"
}