平台增強功能
Adobe Commerce 2.4.6推出對PHP 8.2的支援。PHP 8.1仍完全受支援。
PHP 7.4支援已從此版本中移除。 您無法在PHP 7.4上執行Adobe Commerce 2.4.6。
Adobe Commerce 2.4.6現在支援:
-
Composer 2.2.x.已移除Composer 1.x。
-
Redis 7.0.x。雖然與Redis 6.2的相容性依然存在,我們建議將此版本部署為Redis 7.0.x,因為Redis 6.2預期將於2024年結束生命週期。
-
OpenSearch現在支援作為Adobe Commerce內部部署和雲端部署的預設搜尋引擎。 支援作為Magento Open Source的獨立搜尋引擎。 此版本支援OpenSearch v2.x,並已經過OpenSearch 2.5測試。雖然與OpenSearch 1.x仍保持相容性,我們建議將此版本與OpenSearch 2.x搭配使用。您可以在雲端和內部部署搜尋引擎必要條件上安裝並執行Adobe Commerce和OpenSearch 2.xMagento Open Source2.4.6。
-
Elasticsearch8.x。請參閱升級Elasticsearch。
-
MariaDB 10.6 (LTS版本)。 此版本仍與MariaDB 10.4相容,但建議您升級至MariaDB 10.6。
其他升級和取代
-
DHL結構描述已從v6.2移轉至v10.0。
-
過時的JavaScript程式庫已更新至最新版本,且已移除過時的相依性。 這些變更可回溯相容。
-
PHP 7.4相容性已從Commerce程式碼庫中移除。
-
Symfony相依性已升級至新的LTS版本。 相依性包括:
friendsofphp/php-cs-fixer
symfony/console
symfony/event-dispatcher
symfony/finder
symfony/process
web-token/jwt-framework
-
jquery-migrate
已從Commerce程式碼基底中移除。 GitHub-21406 -
已將
jQuery/fileUpload
資料庫升級至v10.32。 -
已從程式碼基底中移除已到期的Zend架構(ZF1)元件。 請參閱不向後相容的變更標示.
-
已更新Laminas相依性以支援PHP 8.2。
-
已移除
laminas/laminas-dependency-plugin
Composer外掛程式。 GitHub-36515 -
已將
Zend_Filter
取代為laminas/laminas-filter
。 -
將
web-token/jwt-framework
升級至v3.0.5。 (最新版本) -
已將
allure-framework/allure-phpunit
升級至v2.x。 -
已將
Chart-js
資料庫升級至v3.9.1
效能與擴充性增強功能
-
改善影響許多客戶區段的作業效能。 商戶可透過啟用新的組態設定,改善涉及100多個客戶區段的營運效能。 可視需要停用 Real-time Check if Customer is Matched by Segment 設定,以減少每個客戶區段對客戶的驗證,藉此縮短處理時間。 檢視客戶區段驗證。
-
新的系統組態設定,用於限制產品格線 中顯示的產品數目。 商戶可以使用新的 Limit Number of Products in Grid 組態設定來改善產品格線效能。 此限制依預設會設定為20000用,且僅影響UI元件使用的產品集合。 限制顯示的產品數目,可提升填入超過200,000項產品的網格的作業效能。 請參閱網格中產品數量限制
-
已改善匯入效能(每分鐘最多100,000筆記錄)。 商家可使用新的
POST /rest/<store_view_code>/V1/import/csv
REST API端點將資料匯入Adobe Commerce。 此端點提供與管理員匯入功能相同的功能,並支援使用CSV檔案來建立、更新及移除產品、產品定價和客戶實體。 檢視匯入資料。 -
透過負載平衡改善高輸送量訂單處理效能。 雲端基礎結構上的Adobe Commerce 2.4.6客戶如果同時有大量訂單(每分鐘1000個訂單),現在可以平衡不同節點上資料庫的負載,以改善訂單處理效能。 商家可以為MySQL資料庫和Redis執行個體啟用次要連線,以重新平衡此負載。 檢視高輸送量訂單處理
Adobe Commerce擴充功能中繼資料
此版本推出Adobe Commerce擴充功能中繼套件v1.1.0,自動將特定Adobe Commerce擴充功能與此核心版本整合。 執行composer update
時,會安裝此中繼封裝中包含的這些擴充功能版本,在升級至最新核心版本時,可簡化升級這些擴充功能的程式。 這些擴充功能仍會維持獨立的發行排程。
Adobe Commerce 2.4.6的Adobe Commerce擴充功能中繼資料包含下列兩個擴充功能:
- Bolt Quick Checkout
- Adobe Commerce的Adobe I/O活動
此擴充功能中繼資料的未來版本將包含其他擴充功能。
Adobe Commerce的Adobe I/O事件
Adobe Commerce的Adobe I/O事件可擷取Commerce事件,並將資料從Adobe Commerce傳輸至其他Adobe系統。 開發人員可以在Adobe Developer App Builder中建立雲端原生應用程式,訂閱詳細目錄更新、訂單狀態變更和價格更新等Commerce事件。 開發人員可以使用此功能交換資料,以協調其關鍵任務系統中的整個購買者歷程。
協助工具更新
此版本的重點在於在Venia (PWA)上建立更易感知、操作、可理解和強大的店面體驗。 這些增強功能包括:
- Sign in 按鈕的視覺文字標籤現在符合其可存取的名稱。 (最佳實務建議讓UI元素的存取許可權名稱以可見的標籤文字開頭。)
- 描述性可存取名稱已新增到整個店面的按鈕中。
- 已將口頭描述標籤新增至搜尋篩選中的 Has Video 核取方塊。
- 僅使用鍵盤的使用者現在可以存取店面的所有頁面功能。 過去,購物者無法僅使用按鍵來存取子導覽連結。
Adobe Commerce與Adobe IMS整合
下列Adobe IMS模組已與Adobe Commerce 2.4.6核心程式碼解耦,現在封裝為個別的中繼套件:
adobe-ims
adobe-ims-api
admin-adobe-ims
新的adobe-ims-metapackage
v2.2.0已與Adobe Commerce 2.4.6整合。此版本未變更任何功能。
B2B
GraphQL API現在會完整顯示「公司採購單」功能。 此發行版本引進了兩個GraphQL結構描述:
- 採購訂單GraphQL結構涵蓋B2B公司使用者購買Order Management功能,例如建立、編輯和刪除採購訂單。 請參閱採購單(B2B)。
- 採購單規則GraphQL結構描述可讓您建立、編輯和刪除核准規則,以及手動驗證採購單。 請參閱採購單核准規則(B2B)。
此版本包含多項錯誤修正。 請參閱B2B發行說明。
Braintree
- 義大利和西班牙的 Pay Later 按鈕和橫幅(訊息)已啟用Braintree。
- 已啟用PayPal儲存庫的PayLater傳訊。
- 新增詐騙防護和ACH網頁鉤點。 當Braintree中做出風險決策時,就會觸發詐騙防護Web勾點。 當ACH付款的狀態更新為
settled
或settlement decline
時,就會觸發ACH網頁連結。
- 已新增LPM (本機付款方法) Web勾點。
GraphQL
GraphQL效能增強功能包括:
已改善查詢已啟用類別許可權的類別時的回應時間。 查詢已啟用類別許可權且包含許多客戶群組或共用類別之類別中的產品時,回應時間已有所改善。 支援此效能改善的程式碼變更包括:
- GraphQL解析器操作已最佳化。
- 資料提供者不再針對每個正在處理的新產品重新設定執行階段快取資料,進而改善效能。
- 已在GraphQL解析程式中最佳化產品許可權處理。 產品許可權現在已改為根據產品套用至產品集合。
- 已在
addProductsToCart
突變中讀取共用目錄中的最佳化許可權。 - 產品許可權已透過產品內嵌片段最佳化。
類別樹狀結構演算的最佳化效能。 categoryList
查詢已最佳化,以支援具有大量類別的客戶。 使用此查詢來搜尋超過1500個類別(包含最多5個層級的巢狀子類別)的商家將會注意到效能改善。 透過移除不必要的方法呼叫、改善類別樹狀結構的快取,以及遞回載入類別資料,改善透過重構程式碼來載入類別子系的方式。 支援此效能改善的程式碼變更包括:
- 已改善類別模型的自訂屬性中繼資料擷取。
- 類別ID擷取已改善,且
getChildren
個呼叫已減少。 - 類別子系載入已改善。
減少大量購物車作業查詢回應時間。 當新增最多500個簡單且可設定的產品時,「新增產品」變動已經過最佳化,以提升查詢效能。 套裝產品不受影響。 最佳化的變動包括addProductsToCart
、addConfigurableProductsToCart
、addDownloadableProductsToCart
、addSimpleProductsToCart
、addVirtualProductsToCart
、addWishlistItemsToCart
和updateCartItems
。
客戶查詢現在支援排序功能。 customer
查詢的orders
輸出物件現在包含排序欄位。 您現在可以依訂單編號或建立日期,以遞增或遞減順序來排序訂單。
新的變動:
deleteCustomer
頁面產生器
Page Builder v.1.7.3與Adobe Commerce 2.4.6相容。
PWA Studio
PWA Studio v.13.0.x與Adobe Commerce 2.4.6相容。其中包含多項改善協助工具的增強功能。 如需有關錯誤修正的資訊,請參閱PWA Studio版本。 如需PWA Studio版本及其相容的Adobe Commerce核心版本的清單,請參閱版本相容性。
已知問題
問題: New Relic目前與PHP 8.2不相容。執行New Relic的部署可以在PHP 8.1上執行Adobe Commerce 2.4.6,但無法在PHP 8.2上執行。暫時替代措施:在PHP 8.1上執行Adobe Commerce 2.4.6,直到發行支援PHP 8.2的新版New Relic為止。此版本預計於2023年夏季推出。
已修正的問題
我們已修正Adobe Commerce 2.4.6核心程式碼中的數百個問題。 Adobe Commerce 2.4.6中包含的已修正問題子集說明如下。
安裝、升級、部署
- 在具有多個地區設定和網站的標準或精簡部署期間,靜態內容部署不再逾時或失敗。
- 壓縮策略在執行靜態內容部署(
bin/magento set:static-content:deploy -f --strategy compact
)時,不再導致外部網域的無效參照。
- 執行
bin/magento setup:di:compile -vvv
(或使用-v
或-vv
選項)現在會在失敗時傳回資訊訊息。 GitHub-35391
- 當您在已執行資料移轉工具的部署中執行
bin/magento setup:upgrade
命令時,Adobe Commerce不再擲回下列例外狀況:PHP Fatal error: Declaration of Migration\Logger\Logger::addRecord(int $level, string $message, array $context = []): bool must be compatible with Monolog\Logger::addRecord(int $level, string $message, array $context = [], ?Monolog\DateTimeImmutable $datetime = null): bool in /var/www/html/vendor/magento/data-migration-tool/src/Migration/Logger/Logger.php on line 34
。 GitHub-35604
bin/magento setup:db:status
命令在執行MySQL 8.0.29的環境中不再失敗。以前,命令輸出錯誤地指出宣告式結構描述已過時。 GitHub-35671
composer install
命令不再覆寫.gitignore
個檔案。 GitHub-32888
- 在Alpine Linux上升級後執行
bin/magento sampledata:remove
以移除範例資料不再失敗,發生此錯誤:Undefined constant "MagentoHackathon\Composer\Magento\Deploystrategy\GLOB_BRACE
。 GitHub-36062
bin/magento setup:upgrade
現在會在第一次執行composer install --no-dev
後成功執行。 GitHub-36351
- 例外狀況與例外狀況棧疊追蹤專案現在包含在
var/log/exception.log
中。 GitHub-36054
- 現在,當您使用命令列設定沒有密碼的Redis連線時,Adobe Commerce會擲回引數驗證錯誤。
協助工具
- 結帳工作流程中的 Proceed to Checkout、Review Order 和 Place Order 按鈕現在可如預期般搭配鍵盤輸入運作。
- 使用 TAB 或 SHIFT + TAB 瀏覽頁面控制項時,以視覺化方式顯示按鈕的焦點,現在可如預期般運作。
熒幕助讀程式
- 訂購記錄頁面的熒幕助讀程式現在會讀取正確的影像說明。
熒幕助讀程式現在會宣佈:
- 搜尋結果中找到的專案總數如預期般為
- 使用者使用鍵盤控制項 成功登入時登入的使用者名稱
- 產品搜尋結果頁面標頭現在會讀取
<title>
專案 的正確值 - 輸入欄位是否為必要欄位
- 正確摺疊式功能表元素的目前狀態(摺疊和展開)
- 當使用者按一下 Create an account 按鈕 後重新整理頁面內容時
套裝產品
- 透過API更新特定商店檢視的捆綁產品現在不會覆寫相同捆綁產品的其他商店檢視資料。 以前,套件產品選項標題會被其他商店檢視的第一個選項標題覆寫。
- 使用荷蘭地區設定時,現在可以從管理員 Catalog > Products 成功篩選套件產品。 先前,當您嘗試篩選
Type: Bundle Product
時,Adobe Commerce會顯示此錯誤:Something went wrong with processing the default view and we have restored the filter to its original state
。 GitHub-35704
- 當套件產品的特殊價格超過1000時,產品格線不再擲回例外狀況。 先前,當您依SKU搜尋產品或導覽至 Catalog > Products 時,Adobe Commerce擲回此錯誤:
Non Numeric value encountered
。 GitHub-36284)
- 包含組合與簡單產品之訂單的銷退折讓單與發票PDF中的欄位現在可正確轉譯。 以前,欄扭曲或不對齊。
- 在包含
BundleProduct
片段的GraphQL查詢中,items.options.product
物件包含預期的資料。 過去,物件在某些情況下可能為Null。
- 啟用 Quantity uses decimals 時,組合選項的小數數量現在可正確轉譯。 以前,只演算數量的整數部分,而不是分數元件。 例如,數量1.5已轉譯為1.0。GitHub-35964
- GraphQL產品查詢現在只會傳回所查詢存放區範圍內的套件組合產品選項。
- 針對傳送查詢的客戶啟用 Allow Category Browsing 組態設定時,回應中現在會傳回未指派給類別但屬於套件或分組產品之產品選項的產品。
快取
- 除非訂購的產品無庫存,否則訂單履行後不再排清整頁快取。 以前,每當建立出貨時,就會清除類別的快取。
- 現在當設定L2快取且已部分移除遠端資料時,就能成功快取資料。 先前,在只排清資料快取而沒有這些資料的雜湊之後,新的快取並不會在資料雜湊存在時儲存。
- 已修正
CatalogUrlResolverIdentity
和CmsUrlResolverIdentity
中阻止快取的錯誤。 這會影響多個請求上的路由查詢快取。
購物車與結帳
- 當購物車含有最小數量的簡單產品時,購物者現在可以新增額外專案到購物車中。
- 當商店貨幣和基本貨幣相同時,擷取購物車資料的REST API呼叫現在會傳回相同的
grand_total
和base_grand_total
值。 GitHub-34649
- Maximum Qty Allowed in Shopping Cart 的匯出值現在與管理員組態設定中設定的預設值相符。
- Adobe Commerce現在會正確計算具有出貨折扣的訂單退款總計。
- Google reCAPTCHA現在對店面訂單如預期般運作。 先前,當購物者首次嘗試下訂單前未先選取Google ReCAPTCHA時,Adobe Commerce會顯示這些錯誤:
ReCaptcha validation failed, please try again
和No such cart with id = ID
。
- 驗證碼影像重新整理現在會遵循管理員組態設定,且在設定停用時不會觸發。 過去,每當付款方式變更時,無論設定已啟用或停用,都會觸發重新整理。 GitHub-34855
- 當購物者變更購物車頁面上的產品數量而未更新購物車,然後嘗試導覽至下一頁時,Adobe Commerce現在會依預期顯示確認快顯視窗,以將購物者重新導向至下一頁。
- 現在,在管理員減少購物車數量後,購物者可以從購物車中減少產品數量。 之前,當購物者嘗試減少產品數量時,Adobe Commerce擲回下列錯誤:
The requested qty is not available
。 GitHub-35780
- 當多運送結帳期間,產品數量超過設定的上限時,Adobe Commerce不再在JavaScript主控台中擲回錯誤。 Adobe Commerce現在改為顯示資訊性錯誤訊息。 GitHub-36184
- 當購物者使用鍵盤上的向下箭頭鍵變更產品數量時,購物車頁面上的專案數量不再顯示為負數。 GitHub-36299
- 購物者在變更購物者所屬的客戶群組後,無法再將類別中的產品新增至購物車,而此類別現在已不允許使用。 當許可權組態設定變更時,Adobe Commerce現在會檢查特定類別的客戶群組許可權存取權。
- 在管理員訂單建立之前,客戶購物車不再清空,如果訂單取消或放棄,購物車內容現在會還原。 現在,只有在建立訂單後,才會從購物車移除專案。 先前,每當管理員使用者嘗試在管理員管理購物車頁面上建立訂單時,購物車都會被清空。
- 在您執行
bin/magento catalog:image:resize
之後,迷你購物車現在會顯示正確的產品影像。 以前,所有影像都會取代為預設的產品預留位置影像。 GitHub-35535
- 當送貨地址包含擴充功能屬性時,現在即可成功完成簽出。 之前,Adobe Commerce擲回此錯誤:
Object of class Magento\Quote\Api\Data\AddressExtension could not be converted to string
。 GitHub-34202
- 如果必要的產品選項沒有值,
addBundleProductsToCart
突變就不會再將產品加入報價中。 GitHub-25676
- 現在,當將產品新增到購物車且許可權不足時,
addProductsToCart
突變失敗時,Adobe Commerce會傳回資訊訊息。
- 使用快速訂購新增數量超過可用存貨的產品時,Adobe Commerce不會再在購物車頁面上擲回錯誤。
setGiftOptionsOnCart
突變現在需要客戶授權才能進行客戶購物車作業。