[僅限PaaS]{class="badge informative" title="僅適用於雲端專案(Adobe管理的PaaS基礎結構)和內部部署專案的Adobe Commerce 。"}
Magento Open Source 2.4.4發行說明
Magento Open Source 2.4.4推出對PHP 8.1的支援。已更新所有專案程式庫和相依性,以與PHP 8.1相容。核心撰寫器相依性和協力廠商程式庫也已升級至與PHP 8.1相容的最新版本。此版本也支援OpenSearch 1.2。
此版本包含近250項品質修正和增強功能。
套用AC-3022.patch
以繼續提供DHL作為運送承運商
DHL已匯入schema 6.2版,並將在不久的未來淘汰schema 6.0版。 支援DHL整合的Adobe Commerce 2.4.4及舊版僅支援6.0版。部署這些版本的商戶應儘早套用AC-3022.patch
,以繼續提供DHL作為運送承運商。 請參閱套用修補程式,以繼續提供DHL作為運送業者知識庫文章,以取得有關下載和安裝修補程式的資訊。
其他發行資訊
雖然這些功能的程式碼已與Magento Open Source核心程式碼的每季發行捆綁在一起,但其中數個專案也獨立發行。 這些專案的錯誤修正記錄在每個專案檔案中提供的個別專案特定發行資訊中。
composer.json
檔案中受信任的外掛程式。 目前,會自動安裝composer.json
檔案中包含但未標示為受信任的外掛程式。 不過,自2022年7月起,Composer將不會載入外掛程式,除非明確允許它們。 請參閱Adobe Commerce 2.4.4知識庫文章中的Composer外掛程式問題,瞭解如何修改composer.json
檔案以明確允許外掛程式載入的說明。此版本中包含的Hotfix
Magento Open Source 2.4.4包含針對Adobe Commerce和Magento Open Source 2.4.3、2.4.3-p1及2.3.7-p2提供的下列Hotfix解決的所有問題:
-
MDVA-43395_EE_2.4.3-p1_COMPOSER_v1.patch
和MDVA-43443_EE_2.4.3-p1_COMPOSER_v1.patch
所處理的漏洞已在此版本中解決。 -
AC-384_Fix_Incompatible_PHP_Method__2.4.3_ce.patch
。 此修補程式可解決升級期間發生的嚴重PHP錯誤。 請參閱Adobe Commerce升級2.4.3、2.3.7-p1 PHP嚴重錯誤Hotfix知識庫文章。
Magento Open Source 2.4.4重要功能
請檢視此版本中的下列重點專案。
安全性增強功能
此版本包含一項安全性修正和平台安全性改善。 此安全性修正已反向移植至Magento Open Source 2.4.3-p2和Magento Open Source 2.3.7-p3。
目前尚未發生與這些問題相關的已確認攻擊。 但是,某些漏洞可能會被用來存取客戶資訊或接管管理員工作階段。 這些問題大多需要攻擊者先取得Admin的存取權。 因此,我們提醒您採取一切必要步驟來保護您的管理員,包括但不限於這些工作:
- IP允許清單
- 雙因素驗證
- 使用VPN
- 使用唯一位置而非
/admin
- 良好的密碼衛生
如需這些已修正問題的最新討論,請參閱Adobe安全性公告。
其他安全性增強功能
此版本的安全性改善專案可改善對最新安全性最佳實務的合規性,包括:
-
在2.3.4中,已棄用電子郵件變數,這是安全性風險降低的一部分,以支援更嚴格的變數語法。 此舊版行為已完全移除,作為該安全性風險緩解措施的延續。
因此,在舊版Magento Open Source中有效的電子郵件或電子報範本在升級至Adobe Commerce 2.4.4或Magento Open Source 2.4.4後可能無法正常運作。受影響的範本包括自訂模組或第三方擴充功能的管理員覆寫、主題、子主題和範本。 即使使用Upgrade相容性工具修正已棄用的使用方式,您的部署仍可能受到影響。 請參閱移轉自訂電子郵件範本,以取得移轉受影響範本的潛在影響和准則相關資訊。
-
整合權杖無法再用於API持有人權杖驗證。 以前,整合權杖可用作權杖型驗證的獨立金鑰。 不過,由於永不過期的存取權杖的安全性影響,此行為已預設停用。 先前的行為可透過命令列或Admin啟用。 請參閱權杖型驗證。
-
工作階段ID不再儲存在資料庫中。
-
OAuth存取權杖和密碼重設權杖現在儲存於資料庫時經過加密。
-
已加強驗證,以防止上傳非英數字元的副檔名。
-
新增reCAPTCHA對優惠券代碼的支援。
-
Magento Open Source處於生產模式時,Swagger現在預設為停用。
-
Magento Open Source店面現已預設啟用HTTPS。 預設會啟用 在店面上使用安全URL 和 在管理員設定中使用安全URL,而且所有內建的Cookie現在都已設定為安全。
-
所有Magento Open Source安裝現在都需要相依性混淆外掛程式。 之前,只有Composer型安裝需要此外掛程式。 現在允許信任的版本。 商家可以略過此外掛程式中設定的限制,這些限制會禁止某些組合的Composer安裝。 對於受信任的版本,可略過這些限制,Magento Open Source現在會在繼續安裝之前顯示警告。
-
開發人員現在可以根據每個端點,設定Magento Open Source RESTful端點接受的陣列大小限制。 檢視API安全性。
-
新增機制來限制使用者可在系統範圍內透過Web API要求的大小和資源數量,以及覆寫個別模組的預設值。 如此可解決
MC-43048__set_rate_limits__2.4.3.patch
所解決的問題。 檢視API安全性。
平台增強功能
Magento Open Source 2.4.4現在支援PHP 8.1。已更新所有專案程式庫和相依性,以與PHP 8.1相容。其他平台增強功能包括:
-
Magento Open Source 2.4.4支援Elasticsearch 7.16和OpenSearch 1.2。部署於內部部署託管的應用程式Open Source商家可以使用任一解決方案。 不過,OpenSearch現在是雲端託管之Magento Open Source 2.4.4部署的預設搜尋引擎。 所有使用雲端部署的客戶若升級至2.4.4版,都必須使用OpenSearch。 請參閱在Cloud 2.4.4上切換至Adobe Commerce的OpenSearch
-
JQuery
程式庫已升級至3.6版。jquery-ui
程式庫已升級至1.13.0版。已將其他多個JavaScript程式庫更新至最新版本。 -
現在支援TinyMCE 5.8.1。 TinyMCE 4已從程式碼基底中移除。
-
RequireJS
程式庫已升級至最新版本(v2.3.6)。 GitHub-33672 -
PHPUnit已升級至最新版本(9.5.x)。 已更新測試和測試架構,以與新版本相容。
-
大部分Laminas相依性已升級至與PHP 8.1相容的最新版本。已從程式碼基底移除三個Laminas相依性,以減少相依性的數量。
jQuery UI升級
jQuery UI已升級至最新版本(v1.13.0)。 下列v1.10.0 jQuery元件已移除:
GraphQL
此版本包含這些GraphQL增強功能:
-
效能改善:
-
GraphQL購物車操作的效能已改善。
collectQuoteTotals()
方法現在只在GraphQL要求期間呼叫一次,以減少回應時間。 -
變更GraphQL請求的快取方式,已改善店面效能。 Fastly和Varnish現在會快取隨
auth
權杖傳送的GraphQL要求。
-
-
新店面相關管理組態設定。
storeConfig
查詢現在會傳回「零小計結帳」與「支票/匯票」付款方式的組態設定。 -
已更新核心GraphQL資料庫。 可讓核心GraphQL運作的
webonyx
程式庫已升級至^14.9版。 -
已修正GraphQL中多網站和多語言存放區的翻譯問題。 GraphQL解析器現在會依預期根據存放區範圍傳回翻譯字串。
-
GraphQL現在為New Relic提供描述性交易名稱,有助於除錯。 GitHub-30915
如需這些增強功能的詳細資訊,請參閱GraphQL開發人員指南。
廠商套件擴充功能
除了Braintree之外,所有廠商隨附的擴充功能都已從Magento Open Source 2.4.4程式碼基底中移除。 商戶應移轉至可在Commerce Marketplace上取得的正式副檔名。
PayPal付款增強功能
-
現在支援Venmo付款選項。
-
「先買後付」已新增為購物者的選項,依據購物者地點而非商家地點而定。
-
商戶現在可以在他們選擇的國家/地區測試購物者體驗時,設定購物者國家/地區。 之前,測試僅限於針對商家所在國家/地區的測試。 此變更僅在沙箱模式中有效。
-
結帳頁面上的訊息現在會顯示準確的訊息,說明使用「稍後付款」時,購物者預計要支付多少及增量金額。
協助工具更新
此版本增強了對標準無障礙指引的合規性。 其中包括改良的工具提示、可存取的熒幕元素命名和標籤,以及重新設計的圖示和按鈕。 這些修正中有80%以上有助於改善視力缺佳或視力缺佳使用者的購物體驗。
頁面產生器
商戶現在可以將替代文字(alt_text
)新增至影像(影像、橫幅、幻燈片),以提升內容可存取性。 GitHub-746
已修正的問題
我們正在修正Magento Open Source 2.4.4核心程式碼中的數百個問題。 這些已修正問題的子集說明如下。
安裝、升級、部署
- Magento Open Source現在會如預期在組建記錄檔中記錄靜態內容部署錯誤。
- 資料修正程式無法再忽略表格的唯一限制,並將重複值插入MySQL資料庫表格。 以前,修補程式可能會插入重複的值,這會損壞資料庫。
- 商戶現在可以成功從具有Klarna的Magento Open Source 2.4.2部署升級至Magento Open Source 2.4.3。GitHub-33760
- 現在可以從命令列成功變更Sitemap產生器設定。 先前,當您嘗試在管理員以外變更Sitemap設定時,applicationOpen Source會顯示此錯誤:
Import failed: Notice: Trying to access array offset on value of type null in app/code/Magento/Cron/Model/Config/Backend/Sitemap.php on line 78
。 GitHub-31428
- 當您更新
bin/magento app:config:import
中的time
值時,config.php
命令現在會無錯誤地執行。 之前,以手動編輯(即不使用管理員)變更產品警報設定會導致錯誤。
協助工具
- 已解決在購物車和結帳頁面上導覽的協助工具錯誤。 GitHub-34483
- 熒幕助讀程式現在可以讀取產品頁面上的所有相關表單元素。
- 整個店面的影像刪除和移動圖示按鈕的對比已得到改善,以改善弱視使用者的可讀性。
- 用來在整個產品介面中執行搜尋的放大鏡圖示,已被指派可存取的名稱和替代文字。
- 現在可以使用Tab鍵存取RTF編輯器工具列。
- 此專案在 目錄 > 產品 詳細資料頁面上有重量 選取輸入,現在有可見的標籤和可存取的名稱。
- 控制項的存取許可權名稱現在包含其可見標籤的文字,以顯示每頁下拉式清單的專案數。
- 當資料表摺疊時,目錄 > 產品 詳細資訊頁面上的資料表控制項現在具有可見的標籤和可存取的名稱。
- 「產品」表格中的「編輯連結」現在會有獨特、有意義的連結文字。
- 展開工具提示的觸發器現在會提供文字名稱。
- 店面各處的按鈕現在都有唯一、描述性的可存取名稱。 先前,分割按鈕與文字按鈕和相鄰的向下箭頭圖示按鈕具有相同的可存取名稱。
- 整個店面的影像刪除和移動圖示按鈕的對比已得到改善,以改善弱視使用者的可讀性。
- 當商家編輯「搜尋引擎最佳化」摺疊式功能表的輸入專案時,鉛筆圖示就會顯示,已在圖示中新增替代文字。
- 用來在整個產品介面中執行搜尋的放大鏡圖示,已被指派可存取的名稱和替代文字。
- 產品頁面 新檢視 文字輸入欄位現在具有可存取的名稱。
- 此專案在 目錄 > 產品 詳細資料頁面上有重量 選取輸入,現在有可見的標籤和可存取的名稱。
後端
- 管理員現在可以在已設定自訂管理員路徑且已啟用機密金鑰的部署中登入管理員。 之前,applicationOpen Source會顯示此錯誤:
Invalid security or form key. Please refresh the page
。
- 多存放區階層變更時,Magento Open Source不再重新導向至所有存放區檢視範圍。 先前,儲存階層後,購物者會重新導向至不正確的商店URL,而系統會在多商店部署中選取「所有商店檢視」範圍。
套裝產品
- 購物者現在可以新增捆綁產品(含固定產品稅和兩個選項)至購物車。 之前,applicationOpen Source未新增產品並顯示此錯誤:
We can't add this item to your shopping cart right now
。
data-validate
和min
屬性形式的表單驗證已新增到購物車數量欄位,以防止套件組合產品的負值。
- 現在,當子產品在存放區檢視層級上停用時,
products
查詢會正確篩選套件組合產品。 以前,查詢會傳回在商店檢視層級停用的子產品。
cron
現在會在indexer_update_all_views
執行期間如預期般清除產品類別快取。 先前,在類別中大量更新許多產品後,applicationOpen Source在類別頁面上顯示不正確的產品計數。
- 當套件組合產品重新上架時,Magento Open Source現在會依預期更新類別產品快取。
- 現在,使用不同貨幣的多商店部署中,針對套件產品購買進行的電子郵件確認會如預期般進行貨幣轉換。 GitHub-33426
- 現在,對於在產品格中帶有%首碼的套件組合產品,進階定價特殊價格折扣可正確顯示。 以前,產品格線中以$前置詞格式顯示的%折扣不正確,而非%。
- 現在,當相關產品變更其狀態時,管理員中的套件組合產品狀態會自動更新。
- 套件組合產品的GraphQL解析器現在會檢查是否已停用子套件組合產品。 以前,不會進行這項檢查,而且類似
categoryList
的查詢會傳回無法銷售的子產品。
cart
個查詢回應現在會針對具有動態價格的套件組合產品傳回精確折扣。 以前,查詢回應包括個別套用至每個套件產品的折扣。
快取
- 已最佳化重新索引期間執行的快取清除演演算法。 重新索引期間快取類別時,現在套件產品會如預期般顯示。 先前,在重新索引期間快取產品類別後,套件產品不會顯示數小時。
- 在一般使用情況下,頁面快取不再快速成長。 GitHub-9458
- 下訂單不會再導致從Varnish快取中移除與訂購產品相關的所有快取標籤。 GitHub-30128
- 當您從最熱門的類別更新產品,或執行索引以更新產品屬性或庫存狀態時,不會再清除全網站頁面快取。 之前,清漆快取會將最上層的選單類別ID新增至所有頁面快取標籤。 GitHub-33465
購物車與結帳
- 最低廣告價格 這是什麼?購物車頁面上的 連結現在可供點按,並如預期開啟資訊快顯視窗。 之前,按一下此連結沒有任何效果。
- 在啟用永久購物車的部署中,購物者現在可以在工作階段逾時後下訂單,而不會發生錯誤。 之前,applicationOpen Source會在工作階段逾時後顯示付款錯誤。
- 將高排序順序值指派給客戶地址屬性不會再導致結帳頁面上的效能降低。
- 如果更新數量無效,Magento Open Source現在會將購物車產品數量回覆為先前的值。
- 按一下「最近檢視」區段中的「新增至購物車」按鈕,現在會如預期重新導向至產品詳細資料頁面。 之前,購物者會重新導向至產品清單頁面。
- 訪客購物者現在可以使用包含數種自訂客戶地址屬性的客戶地址成功結帳。 以前,在簽出期間顯示自訂屬性的值時,其值格式不正確。 GitHub-30290
- 現在起,啟用表格費率時,Magento Open Source可正確將免運費臨界值套用至訂單。 GitHub-21832
- 您現在可以使用
POST /V1/guest-carts/:cartId/items
將具有不同選項的簡單產品加入購物車。 之前,這個呼叫會變更您新增的第一個簡單產品的數量,而非新增第二個具有指定選項的簡單產品。 GitHub-32302
- 當部署設定為
Poland
國家/地區和PLN
貨幣時,結帳頁面的「訂單摘要」區段現在會顯示正確的貨幣和金額。 以前,購物車和結帳頁面顯示的金額為 PLN 0。
- 在變更迷你購物車中的產品數量後,當購物者按一下 更新購物車 時,Magento Open Source不再擲回錯誤。 之前,applicationOpen Source會顯示此錯誤:
The quote item isn't found. Verify the item and try again
。
- 針對特定商店中可設定產品的GraphQL
products
查詢現在只會傳回指定商店上的產品價格範圍。 之前,請求會傳回非指定商店中簡單產品的價格範圍。
- 當購物者新增的帳單地址缺少街道欄位時,Magento Open Source不再擲回此錯誤:
Uncaught TypeError: Unable to process binding "text: function(){return currentBillingAddress().street.join(', ') }"
。 GitHub-33826
- 在已移除迷你購物車的商店中結帳時,Magento Open Source不再擲回主控台錯誤。 GitHub-34513
- 當帳單地址缺少街道欄位值或街道欄位值不是陣列時,在付款階段結帳不再失敗。 之前,簽出失敗,錯誤為:
Uncaught TypeError: Unable to process binding "text: function(){return currentBillingAddress().street.join(', ') }"
。 GitHub-33826
- 當兩個購物車規則套用至符合這些條件的訂單時,Magento Open Source現在會正確計算折扣:一個購物車規則套用優惠券代碼和 整張購物車的固定價格 條件,而第二個購物車價格規則沒有優惠券和 產品價格折扣百分比 條件。 先前,當先前的購物車規則已對某些產品套用折扣時,相關演演算法無法在購物車產品之間適當地按比例分割折扣。
- 現在,在優惠券報表網格中可正確計算銷售總計。 以前,銷售總額不包含運費金額。
- 當購物者切換送貨方式時,現在會正確計算整張購物車折扣。
- 管理員建立順序頁面上 狀態 欄位的下拉式清單現在由所選國家/地區的預先定義值填入。 之前,此欄位是輸入文字欄位,而非下拉式功能表。
- 在您使用
addConfigurableProductsToCart
突變在變更商店檢視後直接將可設定產品加入購物車後,Magento Open Source不再擲回錯誤。
- 當您使用
addConfigurableProductsToCart
突變將可設定產品的已停用子項新增至購物車時,Magento Open Source不再擲回錯誤。 之前,applicationOpen Source擲回完整性限制違規錯誤。
- 如果抵用券的套用順序失敗,抵用券使用值將不再變更。 以前,在購物車中套用優惠券後,一次性自動產生的優惠券會標籤為無效,但未下訂單。
- 已將驗證新增至結帳工作流程,以比較客戶的街道地址與預設值。 如果驗證程式識別變更,則會將
customer_address_id
設為null
以將其視為新的客戶地址。 先前,如果客戶在結帳時儲存地址而未驗證,且同一客戶嘗試在將驗證套用至結帳欄位後使用相同地址下訂單,則應用程式Open Source不接受編輯的地址並擲回例外狀況。
購物車價格規則
- 在啟用
auto
選項的情況下儲存相關購物車價格規則之前,現在禁止產生抵用券。 如果您嘗試在未啟用auto
選項的情況下儲存此規則,應用程式Open Source會顯示此訊息:Rule is not saved with auto generate option enabled. Please save the rule and try again
。
- 新增確認購物車價格規則折扣正確套用的測試。
- 使用具有 之SKU條件的購物車價格規則如果在購物車中找到/找不到專案,且所有條件/任何條件true,則現在可如預期使用可設定產品。
- 現在已為固定價格的套用產品正確套用購物車價格規則。 先前,至少有一個子項產品在規則條件中指定了相同的屬性集時,購物車價格規則不適用於這些產品。
- 現在,當Magento Open Source設定為整個購物車 購物車價格規則的 固定金額折扣時,價格為0的產品就可以成功新增到購物車中。 之前,applicationOpen Source會顯示此錯誤:
report.ERROR: Warning: Division by zero in /home/mer33515/public_html/ee24develop/app/code/Magento/SalesRule/Helper/CartFixedDiscount.php on line 85
。
- 修正啟用具有固定金額折扣的購物車規則時,
cart
查詢傳回錯誤折扣金額的條件。
目錄
- 當產品具有
datetime
屬性時,Magento Open Source不再在產品格線上執行大量屬性更新動作時擲回例外狀況。
- GraphQL查詢現在會根據子產品的可見度篩選設定,傳回可設定產品之子產品的結果。
- 當可設定的產品屬性變更時,Magento Open Source不再修改相關的產品價格。 之前,可設定產品的最低廣告價格(MAP)會覆寫商店前方相關產品的價格。
- 當產品具有
datetime
屬性時,Magento Open Source不再在產品格線上執行大量屬性更新動作時擲回例外狀況。
- 管理員產品格線的下拉式清單/多選屬性值以及篩選器現在會如預期般從管理員設定中衍生。 以前,屬性值衍生自預設商店設定。
- GraphQL類別查詢會如預期傳回階段類別變更的相關資訊。
- 在部署中,產品清單現在可在「管理員」中準確呈現,產品會同時指派至父類別及其子類別,但位於每個類別的不同位置。 之前,產品清單演算失敗,錯誤為:
Item (Magento\Catalog\Model\Product\Interceptor) with the same ID "<ID>" already exists
。 [GitHub-33145](https://github.com/magento/magento2/issues/33145
- 現在可以將具有許多選項(超過150個)的多選屬性指派給新產品。 以前,屬性選項儲存在
catalog_product_entity_varchar
表格中,當您在Admin中重新開啟產品時,並非所有選項都存在。 GitHub-33486
- 新增驗證功能,適用於路由器無法具現化從URL收集的動作類別的情況。 應用程式開啟Source現在會顯示標準錯誤訊息。 之前,applicationOpen Source會顯示此錯誤:
PHP Error: Cannot instantiate abstract class Magento\Catalog\Controller\Product\Compare
。
- 將許多產品(約10,000)指派到類別不會再導致瀏覽器當機。
- 無論是從管理員中儲存還是匯入,影像屬性現在都會一致地儲存在資料庫中。 以前,影像ALT文字值儲存方式不一致。 如果影像存在且標籤設定為null,則資料庫中不會重設標籤值。
- 目錄Widget SQL查詢已最佳化。 以前,大型MySQL查詢會減緩頁面載入速度,並導致MySQL中斷。
- 價格篩選器現在可以正確用於沒有庫存的可設定產品。 以往,沒有庫存的可設定產品無法顯示在其正確的價格範圍內。
- 更新子產品不再移除在部分索引過程中從其父可設定產品繼承的目錄規則折扣。 先前,當我們將可設定產品指派給類別,但沒有指派其關聯的簡單產品,然後使用該類別建立目錄規則時,應用程式Open Source在部分索引過程中移除了指派給簡單產品的目錄規則。
- 新增產品選項時,分組和可設定產品的網格檢視清單現在僅包含簡單和虛擬產品。 之前,應用程式包含帶有選項的簡單產品。
目錄規則
- 每日更新目錄規則不會再導致效能降低。 先前,部分目錄產品價格索引不會移除舊價格或日期。
- 在部分重新索引期間,Magento Open Source不再移除可設定產品的目錄價格規則。 以前,在可設定的產品重新編制索引時,只會重新編制子產品的索引。
- 具有 類別的目錄價格規則不是category_id 條件,現在會套用至不屬於任何類別的產品。
可設定的產品
- 可設定的產品選項標簽名稱現在會根據管理員訂單建立期間選取的商店檢視。 之前,applicationOpen Source使用預設商店檢視的標簽名稱。
- 當啟用顯示無庫存產品的全域標幟時,產品清單現在會正確包含無庫存產品的子產品。 先前,如果啟用此旗標時有數個子產品選項缺貨,則產品清單不會包含子產品。
- 您現在可以使用
addConfigurableProductsToCart
突變,在非預設商店檢視中將可設定的產品加入購物車。 以前,當網站ID和商店ID不同時,您無法將可設定的產品新增到購物車。 GitHub-30948
- GraphQL
products
查詢不再傳回有關可設定產品之已停用子產品的資料。
- 為可設定產品建立新設定不再覆寫現有設定中的變更。 先前,產生新變數後,現有變數的狀態會以預設狀態
enabled
覆寫。
- 當您嘗試將可設定產品的已停用子項新增至購物車時,Magento Open Source不再擲回內部錯誤。
客戶
- Magento Open Source現在會在建立訂單時,考量管理員地區設定的網站範圍。 以前,訂單詳細資料(例如客戶地址屬性)只有在多網站部署中,才能在一個網站上正常運作。 GitHub-23254
電子郵件
- 當客戶嘗試使用無效的電子郵件帳戶登入時,簽出登入快顯視窗中的電子郵件欄位驗證錯誤現在符合客戶登入頁面上的電子郵件驗證錯誤。
- 當從管理員新增出貨評論且 通知客戶 核取方塊啟動時,Magento Open Source不再在出貨詳細資料電子郵件中包含錯誤訊息。 以前,送貨確認電子郵件包含此訊息:
We're sorry, an error has occurred while generating this content
。
- 電子郵件範本中的地區和國家/地區ID值現在可正確轉換。 先前,當您從管理員電子郵件範本按一下 預覽連結 時,無法正確顯示國家/地區和地區名稱。
- 管理員針對非預設商店檢視傳送的銷售更新電子郵件現在包含正確的訂單狀態標籤。 以前,這些電子郵件總是從預設商店顯示狀態。 GitHub-29263
- Magento Open Source現在會依預期在電子郵件中包含
Content-Disposition: inline
標頭。 GitHub-29258
- 使用Microsoft Outlook和MS Exchange Server的部署中,訂單和出貨通知電子郵件現在可如預期運作。 以前,電子郵件內文是空的,但包含標籤為ATT*的附件。 GitHub-25076
- 現在,訂購電子郵件會包含使用購物者地區設定的本地化資料,如預期所示。 以前,使用管理員地區設定來排序電子郵件。
- 按一下任何電子郵件範本的預覽,現在會依預期在個別視窗中開啟範本預覽。 之前,applicationOpen Source會從「電子郵件範本」格線並在快顯視窗中同時開啟範本預覽。
- 從非預設網站傳送的非同步訂購電子郵件,現在包含適當網站的標誌URL。 以前,這些電子郵件一律包含預設或主要網站的標誌。 (具有
storeCode
值的預設索引鍵已指派給傳遞至UrlInterface
getUrl
函式的第二個陣列引數。 此值可區分不同商店/網站的URL,並針對傳送給客戶的電子郵件內容產生正確的baseUrl
。)
框架
- 現在,將數字轉換為字串並比較字串,即可進行數字與非數字字串之間的非嚴格比較。 數字與數值字串之間的比較仍如往常般運作。 這表示
0 == "not-a-number"
現在被視為false。 GitHub-33780
- 協助程式
Magento\Payment\Helper\Data
不再在建構函式中建立新版面。 先前,當此協助程式用於自訂命令而未指定區碼時,Magento Open Source會擲回錯誤。 GitHub-33908
- 已更新
allure-framework/allure-php-api
撰寫器相依性。
- 現在,當bootstrap檔案中發生例外狀況時,Magento Open Source會傳回500回應代碼。 之前,applicationOpen Source傳回200 OK狀態代碼。 GitHub-22196
- 貨幣符號現在會如預期般載入店面產品詳細資訊頁面上。 以前,重新載入JavaScript頁面後,這個符號有時會消失。
- 更新
symfony/console
不再導致執行bin/magento setup:di:compile
時失敗。 GitHub-33595
- 新的必要選項已新增到隨Magento Open Source散發以支援PHP 8.x的
.htaccess
和nginx.conf
檔案。 過時的選項也已移除。 GitHub-34358
- 商戶現在可以上傳多個產品的影片。 現在,只有當上傳的檔案名稱包含副檔名時,檔案產生程式才會將副檔名附加至檔案名稱。 先前,當商家嘗試為兩個不同的產品上傳然後儲存相同的視訊時,應用程式Open Source擲回此錯誤:
Notice: Undefined index: extension in /app/7ha7zds7wvqys_stg/vendor/magento/framework/File/Uploader.php on line 699
。 發生此狀況是因為Magento Open Source嘗試將副檔名附加至檔案名稱,不論上傳的檔案名稱是否有副檔名。
- 已修正
sprintf(__())
和sprintf(Magento\Framework\Phrase())
建構的問題,以在整個程式碼基底中與PHP 8.x相容。 之前,applicationOpen Source擲回這種型別的錯誤:Expected parameter of type 'string', 'Magento\Framework\Phrase' provided
。 GitHub-34085
- 改善進階搜尋查詢引數的驗證。 GitHub-33589
- 執行
bin/magento support:backup:code
現在會如預期建立備份。 之前,applicationOpen Source已建立備份,但擲回錯誤。
- 已成功執行的
cron
個處理程式現在已指派狀態success
。 之前,相同的cron
處理序可能會執行兩次,因為成功的cron
處理序已被指派為pending
狀態。
Magento_Logging
模組現在支援IPv6。
一般修正
- Magento Open Source現在會在複製產品時,根據欄位定義的範圍複製所有產品欄位。 先前,名稱 和 描述 欄位已重設為
global
範圍。
- 當產品價格為0時,Magento Open Source不再將差異舍入套用至折扣。 之前,applicationOpen Source計算的是負折扣金額。
- 現在可以成功儲存指派了空白開始日期和到期結束日期且具有 設定為「新」屬性的產品。 先前,當您使用下列設定儲存產品時,applicationOpen Source擲回此錯誤:
Make sure the To Date is later than or the same as the From Date
。
- 管理員現在可以重試已超過最大處理時間執行的操作。 預設最大值為12小時。
- 由於消費者的未確認訊息,在大量動作處理期間不再發生中斷管道錯誤。 預先擷取計數屬性現在會限制消費者的這些訊息,並避免錯誤。 先前執行
bin/magento queue:consumers:start async.operations.all
會產生此錯誤:Broken pipe or closed connection
。
- 第二次嘗試登入失敗後,購物者現在會如預期重新導向回登入頁面。 之前,在第二次嘗試登入失敗後,購物者會被重新導向至404頁面。 GitHub-32885
- 密碼重設權杖的有效性已延長,以避免在提交密碼變更頁面期間發生競爭條件。 GitHub-29647
- 指派給新整合的許可權現在已生效。 GitHub-33347
- 修正了影響「聯絡我們」表單例外記錄中遺留訊息的回歸問題。 GitHub-34483
- 解決JavaScript載入客戶資料時的多個問題。 GitHub-30498
- 在擴充功能中使用
QuoteIdToMaskedQuoteId
不再大幅增加回應時間。 GitHub-33676
BundleDiscountPrice
中的類別magento2/app/code/Magento/Bundle/Pricing/Price/ConfiguredPrice.php
現在已宣告為預期。 之前,applicationOpen Source擲回此錯誤:Class Magento\Bundle\Pricing\Price\BundleDiscountPrice not found
。 GitHub-33334
- AWS S3介面卡寫入的逸出CSV欄位值現在與其他檔案系統介面卡寫入的資料相符。
- 現在支援S3相容儲存裝置。 GitHub-32114
- 從一部裝置登出後,購物者不會再從其他裝置自動登出。
GraphQL
generateCustomerToken
與revokeCustomerToken
變動現在可提供使用者狀態的正確快取ID。 以前,這些變動使用無效的x-magento-cache-id
,這會降低效能。
setBillingAddressToCart
突變現在正確使用same_as_shipping
引數來設定帳單地址,以符合預期的送貨地址。 之前,applicationOpen Source會顯示此錯誤:The shipping method is missing. Select the shipping method and try again
。 GitHub-30924
- GraphQL購物車作業現在僅在查詢請求時計算購物車總計。 以前,購物車作業一律會計算總計,這是耗用大量資源的作業。
addProductsToCart
突變現在只會將指派給標題中定義之存放區的產品加入購物車。
- 使用分層導覽篩選器的
products
個查詢現在會傳回正確的子類別清單。 GitHub-33387
- 傳回
ConfigurableCartItem
物件的查詢與變動包含設定變體的相關資訊,與預期相符。
products
查詢現在會傳回組態產品選項值和變數屬性值。 以前,這些值在查詢回應中為空白。
- 現在,當子產品在存放區檢視層級上停用時,
products
查詢會正確篩選套件組合產品。 以前,查詢會傳回在商店檢視層級停用的子產品。
- 當
setShippingAddressesOnCart
顯示電話 管理員組態設定設為選擇性時, 突變現在支援在購物車上設定具有空白電話號碼值的送貨地址。 之前,applicationOpen Source擲回此錯誤:Field CartAddressInput.telephone of required type String! was not provided
。
- 已修正
addSimpleProductsToCart
突變允許您新增簡單產品至購物車但未指派給目標網站的問題。
- 已針對使用搜尋引數來縮小搜尋結果的GraphQL
products
查詢最佳化MySQL查詢。
- 如果產品未包含在要求的範圍中,
addConfigurableProductToCart
突變不再支援將產品加入購物車。
products
查詢現在只會傳回指派給請求儲存檢閱的可設定變體。 先前,系統會傳回請求之可設定產品的所有變體。
addSimpleProductsToCart
個要求現在可以順利平行執行。 先前,對相同SKU的多個請求會為相同的購物車ID建立重複的行專案,而不是如預期增加產品數量。
addProductsToCompareList
突變現在可用於比較可設定產品的變體。
- 當從後端更新層級產品的價格時,新價格會在客戶的購物車上正確更新。 先前,雖然購物車摘要區段中的小計已正確更新,但列小計並未更新。
addProductsToCart
突變現在會新增所有選取的選項至購物車(當使用新增具有多個選取選項的組合產品時)。 以前,突變只會加入最後的選取範圍。 GitHub-33123
- 當選擇性電話欄位的值設為空字串時,GraphQL查詢現在會如預期傳回帳單地址。 以前,查詢會傳回null位址值。 GitHub-30218
- 當多個產品具有相同的關聯性或價格值時,
products
查詢回應現在會根據指定的排序順序列出產品。
- 並行的
addSimpleProductsToCart
與addProductsToCart
請求不再產生重複的報價專案。
products
個查詢層級導覽篩選器現在會傳回正確的子類別清單。 當請求中提供includeDirectChildrenOnly
旗標時,現在僅包含直接子類別。 先前,當產品指派給數個類別時,所有類別都會納入彙總區段的回應中。
- 新增GraphQL搜尋查詢的搜尋建議功能。
OrderAddress.telephone
欄位現在在customer
查詢或傳回或修改客戶訂單地址的其他查詢與變動中為選用欄位。
- 現在,透過API變更群組ID時,可在店面和管理員中,為指定群組中的客戶正確更新價格。 以往,透過API變更群組ID時,無法正確更新這些價格。
影像
- 含有透明背景的浮水印影像在其覆蓋的透明產品影像上不再有白色背景。 先前,當浮水印影像和產品影像都有透明背景時,浮水印會顯示為白色背景。
- 啟用AWS S3時,現在會如預期上傳並顯示商業發票與出貨收據的圖志。
- 在部署中,與新增至CMS頁面的影像相關聯的媒體標籤,其管理員設定至與存放區URL不同的網域,現在會如預期包含存放區URL。 以前,媒體標籤包含靜態管理員URL,而不是預期的商店URL。 GitHub-32930
- 當您同時在店面載入影像時清除影像快取時,Magento Open Source不再擲回錯誤。
匯入/匯出
- 當檔案名稱相似但只有一兩個字元不同時,
bin/magento remote-storage:sync
不再失敗。 先前,第一個影像已正確儲存,但第二個名稱類似的影像觸發同步失敗,而且此錯誤:Notice: Undefined index: media/catalog/product/5/_ in /src/vendor/magento/module-remote-storage/Driver/Adapter/Cache/Generic.php on line 197
。 GitHub-34337
- Magento Open Source現在會在排程的匯出後,將匯出檔案名稱中的時間戳記轉換為使用者的時區。 以前,這些值不會轉換,因此Magento Open Source會顯示UTC時間戳記。
- 當相同的CSV檔案多次匯入時,Magento Open Source不會再在遠端儲存空間中建立重複的影像。
- 匯入不再失敗,並顯示此訊息:
Import failed: Area code not set: Area code must be set before starting a session
。 GitHub-16171
- 您現在可以在執行
bin/magento app:config:dump
並手動編輯config.php
後成功匯入。 GitHub-31428
- 非預設的多重值分隔符號現在可用於自訂的多重選取屬性。 之前,在匯入期間驗證失敗。 GitHub-23156
- 現在,從CSV匯入期間,類別中的產品位置會正確指派。
索引
- 重新編制索引後,Magento Open Source現在會在店面如預期顯示產品。 先前,當前500項重新編列索引的產品有庫存,而後500項產品無庫存,店面不會顯示任何其他產品。
- 已解決合併的
indexer.xml
檔案中的一致性問題。classType
中允許的值現在在未合併和合併的indexer.xml
檔案中是相同的。 GitHub-29609
- 已在類別索引器中實施同步化機制,以防止完整和部分索引器並行執行。 先前,當這些索引器同時執行時,店麵類別頁面可能會暫時忽略產品,或者類別頁面可能會暫時清空產品。
基礎架構
- 不支援的
str_contains
方法已取代為支援的函式。 這是Magento Open Source 2.4.3的已知問題。GitHub-33680
-
已重構程式碼基底,以更正關鍵字
match
的使用,該關鍵字是PHP 8.x中的保留關鍵字。GitHub-33626 -
HTML標籤現在已正確巢狀和關閉,以符合JQuery 3.5.x中對包括自訂元素在內的非空白元素的標準。
- 修正
abs()
和round()
函式與PHP7.x和PHP8.x的相容性。 GitHub-34322
- 更新
symfony/console
時,執行bin/magento setup:di:compile
時不再失敗。 GitHub-33595
- 已更正
colinmollenhour/cache-backend-redis
Composer相依性的限制。 GitHub-34177
- 已重構程式碼基底,以移除對
phpunit/phpunit
的已棄用方法的呼叫。 GitHub-33916
- 當具有唯讀
pubs/media
的管理員嘗試存取包含影像之產品的產品詳細資料頁面時,Magento Open Source現在會顯示資訊性錯誤。 之前,applicationOpen Source擲回PHP錯誤。 GitHub-32819
- 所有成員層級
@api
註解已在整個程式碼基底中移至其類別。
gift-card Cms
Widget資料已從Magento/WidgetSampleData
(Magento Open Source)移至Magento/GiftCardSampleData
(Adobe Commerce)。 這解決了在PHP8.1上安裝包含範例資料的(Magento Open Source)的問題。
- 視需要使用
@api
標籤整個Adobe Stock整合程式碼基底的介面。 GitHub-32875
- 使用模擬的準備陳述式時,結果集中的整數和浮點數現在會使用原生PHP型別而不是字串傳回。 GitHub-34625
- 已停用從false值自動建立陣列,以確保與PHP 8.1相容。
- 協助程式
Magento\Payment\Helper\Data
不再在建構函式中建立新版面。 先前,當此協助程式用於自訂命令而未指定區碼時,應用程式Open Source會擲回錯誤。 GitHub-33908
- 您現在可以由
data
將di.xml
引數傳遞至區塊執行個體建構函式。
- 已最佳化
Generator.php
的可讀性。 GitHub-33809
- 改善
JwsManager
類別中的JWK檢查,以處理直接在標頭中設定演演算法的情況。 之前,此檢查會忽略此有效案例。 GitHub-32636
JavaScript相依性更新
jquery-validate
協力廠商程式庫GitHub-33853
Less.js
(v3.13.1) GitHub-32845
程式庫移除與淘汰
-
下列程式庫已移除,因為Magento Open Source 2.4.x支援的所有瀏覽器已內建對此功能的支援:
es6-collections.js
MutationObserver.js
Modernizr
FormData.js
-
已移除未使用的
jquery.hoverIntent
JavaScript資料庫。 GitHub-33732 -
lib/internal/Magento/Framework/Filter/Money.php
已棄用。 它包含money_format()
函式,該函式已在PHP 8.x中移除。GitHub-33870 -
已移除已棄用、不支援的
grunt-autoprefixer
套件。 GitHub-34037
程式庫升級
-
下列程式庫已升級至較新的版本:
script.aculo.us
Chart.js
moment.js
moment-timezone-with-data.js
matchMedia.js
underscore.js
PrototypeJS
RequireJS
LessCSS
發票
- 已針對自動遞增的商業發票ID (當前置詞為字串時)移除轉型至
int
。 因此,商業發票現在會針對以字串為前置詞的數字顯示0。 GitHub-34451
記錄
- Magento Open Source不再為在 系統 > 大量動作 中執行大量動作的失敗API呼叫建立記錄專案。 之前,失敗的API呼叫的永久專案會新增到大量動作記錄中。
- 不再允許從false值自動建立陣列。 GitHub-34499,GitHub-34589
Adobe Commerce編碼標準
- 已將
phpunit/ phpunit
更新至magento-coding-standard
存放庫的最新版本。 GitHub-33622
- 將Adobe Commerce編碼標準存放庫中的
webonyx/graphql-php
相依性更新為^14.9版。 GitHub-32863
- 新增嗅探
Magento2.PHP.ArrayAutovivification
至Adobe Commerce編碼標準,以識別從false值自動建立陣列。 GitHub-34509
- 新增sniff
Magento2.Functions.DeprecatedFunction
至Adobe Commerce編碼標準。 GitHub-34547
- 新增已棄用的函式,以便在Adobe Commerce編碼標準中探查
Magento2.Functions.DiscouragedFunction
。 GitHub-34548
Magento2.Annotation.MethodAnnotationStructure
探查不再因誤判而失敗。 GitHub-34679
媒體集
- 在啟用AWS S3的部署中,
bin/magento media-gallery:sync
命令不再失敗。
- 現在當功能表專案超過11個,且已啟用 啟用舊媒體集 組態設定時,會顯示新增的媒體集內容字幕功能表標題。 GitHub-33889
- 編輯含有許多影像的產品時,「媒體集」索引標籤的載入時間已改善。 GitHub-33434
MFTF
-
CURLOPT_POSTFIELDS
不再接受物件做為陣列。 若要將物件解譯為陣列,請執行明確(array
)轉換。 此作法也適用於接受陣列的其他選項。 GitHub-33781 -
curl_init()
現在會傳回CurlHandle
物件,而非資源。curl_close()
函式不再有效。 反之,如果不再參考CurlHandle
執行個體,則會自動銷毀。 GitHub-33781
- 修正可下載產品之MFTF測試中的錯誤。 GitHub-34270
- 已從
CliCacheFlushActionGroup
、CatalogSearch
、GroupedProduct
、Newsletter
、Paypal
和Quote
模組移除Review
。 GitHub-33531
- 現在,將數字轉換為字串並比較字串,即可進行數字與非數字字串之間的非嚴格比較。 數字與數值字串之間的比較仍如往常般運作。 這表示0==「非數字」現在視為false。 GitHub-33780
parse_url()
現在會區分不存在和空白的查詢和片段。 GitHub-33782
- 更新程式碼基底,以避免使用
ReflectionType::isBuiltin()
方法時發生嚴重錯誤。 GitHub-34194
新動作群組
AdminCheckOrderStatusInGridActionGroup
GitHub-33747
StorefrontSelectFirstShippingMethodActionGroup
GitHub-33773
AdminClickUpdateChangesOnCreateOrderPageActionGroup
GitHub-33689
動作群組
下列測試中的重複動作已由動作群組取代:
AdminAddInStockProductToTheCartTest
GitHub-34512
AdminAddBundleItemsTest
GitHub-34312
AdminConfigurableProductAddConfigurationTest
GitHub-34511
AdminConfigurableProductBulkUpdateTest
GitHub-34435
AdminConfigurableProductDisableAnOptionTest
GitHub-34511
AdminConfigurableProductOutOfStockAndDeleteCombinationTest
GitHub-34316
AdminConfigurableProductOutOfStockTestDeleteChildrenTest
GitHub-34316
AdminConfigurableProductRemoveAnOptionTest
GitHub-34511
AdminConfigurableProductRemoveConfigurationTest
GitHub-34511
AdminCreateAndEditSimpleProductSettingsTest
GitHub-34435
AdminCreateAndEditVirtualProductSettingsTest
GitHub-34435
AdminCreateInactiveFlatCategoryTest
GitHub-34490
AdminCreateInactiveInMenuFlatCategoryTest
GitHub-34510
AdminCreateDuplicateCategoryTest
GitHub-34414
AdminCreateDuplicateProductTest
GitHub-34414
AdminDeleteSimpleProductTest
GitHub-33783
AdminEditRelatedBundleProductTest
GitHub-34313
AdminMassDeleteBundleProductsTest
GitHub-34313
AdminNavigateMultipleUpSellProductsTest
GitHub-34314
AdminSimpleProductSetEditContentTest
GitHub-34435
AdminSimpleProductTypeSwitchingToConfigurableProductTest
GitHub-33788
AdminConfigurableProductTypeSwitchingToVirtualProductTest
GitHub-33788
AdminCreateConfigurableProductWithDisabledChildrenProductsTest
GitHub-33775
AdminUpdateFlatCategoryAndAddProductsTest
GitHub-34490
AdminUpdateTopCategoryUrlWithNoRedirectTest
GitHub-33774
AdminUpdateTopCategoryUrlWithRedirectTest
GitHub-33774
CatalogProductListWidgetOperatorsTest
GitHub-34579
CreateProductAttributeEntityWithReservedKeysTest
GitHub-34422
EnableDisableBundleProductStatusTest
GitHub-34313
StorefrontCheckRefundGrandTotalActionGroup
GitHub-34315
StorefrontInactiveCatalogRuleTest
GitHub-33556
StorefrontConfigurableProductCantAddToCartTest
GitHub-33786
StorefrontConfigurableProductOptionsTest
GitHub-33785
StorefrontConfigurableProductCanAddToCartTest
GitHub-33784
StorefrontConfigurableProductGridViewTest
GitHub-34311
StorefrontConfigurableProductListViewTest
GitHub-34311
StorefrontProductNameWithHTMLEntitiesTest
GitHub-33806
StorefrontProductNameWithDoubleQuoteTest
GitHub-32991
新測試
AdminCreateOrderWithCheckedAppendCommentCheckboxTest
GitHub-32381
CheckoutWithEnabledCaptchaTest
GitHub-32991
StorefrontAddProductWithBackordersAllowedOnProductLevelToCartTest
GitHub-33635
StorefrontGiftMessageForOrderOnCheckoutCartPageTest
GitHub-32821
StorefrontCaptchaCheckoutWithEnabledCaptchaTest
GitHub-32821
StorefrontCheckoutWithEnabledMinimumOrderAmountOptionTest
GitHub-33460
重構測試
CaptchaWithDisabledGuestCheckoutTest
GitHub-30828
電子報
- 具有適當許可權的使用者現在可以依預期管理客戶電子報訂閱。 以前,只有具有完整許可權的管理員才能在管理客戶帳戶頁面上管理客戶電子報訂閱。
訂購
- 購物者現在可以成功重新訂購包含產品的現有訂單,並包含店面和管理員中型別檔案和型別下拉式清單的自訂選項組合。 之前,applicationOpen Source擲回錯誤,不會處理重新排序。
- 管理員訂單詳細資訊頁面現在會如預期般載入。 先前,當載入含特定稅捐的訂單的訂單詳細資料頁面時,applicationOpen Source擲回下列錯誤:
Call to a member function getId() on array
。
- 具有包括訂單和送貨許可權的受限制許可權的管理員,現在可以如預期檢視訂單頁面。 之前,當具有這些許可權的管理員嘗試檢視訂單時,applicationOpen Source會擲回錯誤。 GitHub-14633
- 當設定最大允許數量限制時,購物者現在可以下單包括子項可設定產品。
付款方法
- 購物者現在可以使用Braintree,在啟用3DS的部署中使用計費地址下訂單,而無需設定地區。 先前,當購物者按一下 下訂單 時,結帳會凍結,無法完成購買。 GitHub-34204
- 現在支援Venmo付款選項。
- PayPal現在可以透過BN程式碼追蹤。
- 從Magento Open Source 2.4.2-p1升級時,
bin/magento setup:upgrade
現在會如預期般執行。 之前,applicationOpen Source擲回此錯誤:Unable to apply data patch Magento\Paypal\Setup\Patch\Data\UpdateBmltoPayLater for module Magento_Paypal
。 GitHub-33678
- 現在,在管理員訂購期間,可使用正確的商店ID來擷取已儲存的信用卡。 現在,儲存的信用卡會根據網站範圍組態設定於下訂單時顯示。 先前,當管理員嘗試從管理員建立客戶訂單,並選取預存信用卡方法時,預存卡沒有可用選項。
- 已解決禮品卡金額的PayPal信用卡顯示異常。 先前,啟用PayPal信用卡並設定多個禮品卡金額時,如果購物者變更了禮品卡價值的金額,店面不會更新分期付款的金額。 這是Magento Open Source 2.4.3中的已知問題。
PayPal
- 使用PayPal Express付款方式結帳時,Magento Open Source不再顯示錯誤。 之前,雖然結帳程式已完成,但應用程式Open Source會顯示此錯誤:
Something went wrong
。
- PayPal Express現在可從購物車正常運作。 先前,當您按一下 PayPal 按鈕以從購物車開始快速結帳時,應用程式Open Source擲回此錯誤:
To check out, please sign in with your email address
。 GitHub-33445
- PayPal Payflow Pro現在會在部署中執行延遲擷取,並將具有 付款動作 的PayPal Payflow Pro閘道設為 授權,並提供正確的父交易ID。 Sale 交易會傳送至Payflow,並包含簽出時建立的儲存庫權杖的父交易ID。 先前已建立 延遲擷取 交易並傳送至PayPal Payflow。 GitHub-33445
- 透過PayPal付款進階付款完成付款後,購物者現在會如預期重新導向至成功頁面。 以前,即使成功處理付款且未記錄任何錯誤,購物者也不會重新導向至此頁面。
效能
- 模組清單載入執行時間已改善。
- 熱門搜尋字詞快取的效能已改善。 先前,
search_query
表格越大,完成搜尋查詢所需的時間就越久。 GitHub-27559
- 依預設,Magento Open Source會在產品儲存期間同步調整影像大小。 商戶現在可以透過對
di.xml
檔案進行微幅編輯,將影像大小調整為背景非同步程式。
- 在多存放區部署中,已改善類別產品索引器的效能。 GitHub-33984
glob()
系統呼叫的新記憶體內部快取會減少glob()
呼叫數目,進而改善效能。 GitHub-34025
- 已改善非同步順序格線重新索引程式的效能。
- 產品匯出期間的記憶體耗用量已最佳化。
定價
- 現在當產品價格接近或等於零,並且啟用共用目錄時,價格排序會如預期運作。 以前,在價格重新索引時,零級價格會被忽略。
產品警報
- 新的
product_alert
取用者可建立佇列訊息、執行取用者,並縮短執行時間,藉此改善客戶警示的傳送。 先前,當傳送超過100,000個產品警示時,applicationOpen Source會擲回記憶體不足例外狀況。 應用程式「開啟Source」也花了20多個小時才能傳送所有警報。
- 如果「類別」頁面上的價格篩選器不含第二個值,Magento Open Source就不會再擲回錯誤。 之前,applicationOpen Source在記錄檔中擲回例外狀況。
產品影片
- 新增視訊時,當您輸入不完整的URL時,Magento Open Source現在會啟用 儲存 按鈕並自動完成欄位(管理員 目錄 > 產品 > 新增視訊)。 之前,儲存 按鈕已停用,而且未填入欄位。
評論
- 產品清單檢視現在會顯示產品的正確星級評等。 GitHub-30196
- 當購物者按一下店面產品頁面上的 檢閱 時,檢閱現在會如預期顯示。
- 現在,店面產品清單頁面上的格線和清單檢視中的產品星級是一致的。 之前,相同的產品在「格線」和「清單」檢視模式中可能有不同的評等。
銷售
- 升級至MariaDB 10.2.34後,針對具有大型資料集的表格,改善非同步模式下的銷售網格更新效能。
- Magento Open Source現在會依預期從店面 帳戶 > 我的訂單 > 檢視訂單 頁面移除HTML標籤。 之前,applicationOpen Source在店面客戶訂單評論區段中顯示HTML標籤。
- 已新增自動測試涵蓋範圍,以驗證
sales_shipment_grid.order_id
的索引是否存在。
POST V1/orders
個呼叫現在會更新擴充功能屬性,而不會發生錯誤。 之前,您會發生SQL語法錯誤。
搜尋 search-heading
- 價格範圍的分層導覽選項,現在可以如預期搭配自訂價格屬性運作。 應用程式開啟Source在篩選自訂價格屬性時,會使用價格導覽步驟的設定。 之前,applicationOpen Source使用手動步驟設定。
- 店面現在會在階層導覽中顯示目前類別的所有子類別,無論目錄中可用的類別數量為何。
- Elasticsearch目錄搜尋現在不區分變音符號。 以前,搜尋沒有重音符號的辭彙時,會產生與搜尋相同辭彙有重音符號時不同的結果。
- 搜尋權重現在可以在包含特殊字元的SKU屬性上正確設定。
category_name
已新增至系統保留的產品屬性代碼。 如果使用者嘗試建立屬性代碼為category_name
的產品屬性,應用程式「開啟Source」現在會顯示錯誤。 之前,產品未列在預期的類別中,且會記錄Elasticsearch錯誤。
- 熱門搜尋辭彙現在會在每個GraphQL搜尋查詢後更新。
- Magento Open Source現在將正確的價格欄位新增至Elasticsearch價格指數對應。 之前,不正確的價格欄位是使用商店ID而非網站ID新增至索引。
送貨
- 出貨電子郵件現在僅包含目前出貨的追蹤編號。 先前,當訂單包含數個出貨時,每個出貨的電子郵件會包含與訂單相關之所有出貨的追蹤編號。
- Magento Open Source現在會在購物者於多送貨模式從購物車中刪除產品,然後切換至單一送貨地址時,成功更新迷你購物車。 之前,產品價格未如預期更新。
- 使用S3儲存配接卡時,現在匯入表格速率可如預期運作。 之前,applicationOpen Source會顯示此錯誤:
File "https://[bucket].s3.eu-central-1.amazonaws.com/[prefix]/tmp/phpLjGmHf" not found
。 GitHub-33072
- 您現在可以按預期停用 商店 > 組態 > 銷售 > 銷售電子郵件 中的出貨更新電子郵件。 GitHub-33165
- Magento Open Source現在會在管理員和店面發票頁面總計上顯示免運費(0)。 先前,當訂單的出貨量為零時,應用程式「開啟Source」不會在商業發票頁面的出貨總計中顯示出貨金額。
- 對線上貨運業者的費率要求已從數個要求減少至一個。 現在可以正確計算每個專案/套件的套件保險與處理價格。 之前,applicationOpen Source針對FedEx送貨方法顯示不正確的送貨費率。
- 為從波多黎各出貨建立運送標籤時,Magento Open Source現在會顯示UPS費率。 之前,applicationOpen Source不會顯示這些UPS費用。
- 從輸入方塊移除後,出貨街道地址現在會如預期完全清除。 以前,刪除地址後,文字方塊會保留一或多個字元。
儲存
- 現在,在不同的URL上包含多個存放區的部署中,「以客戶身分登入」功能可如預期運作。 以往,applicationOpen Source不會載入正確的存放區,即使存取正確的存放區網域亦然。
稅金
- 現在,當客戶在選取送貨至多個地址後刪除專案,Magento Open Source會正確計算迷你購物車小計。
- 當購物車僅包含虛擬產品時,Magento Open Source現在會在所有結帳頁面上顯示相同的稅率。
- 可設定產品之層級價格現在會在店面中顯示精確的包含與排除稅捐值。 過去,包含的稅捐與排除的稅捐會顯示相同的值。 GitHub-33673
測試
- WebAPI測試現在與PHP 8.1相容。GitHub-34653
- 整合測試現在與PHP 8.1相容。GitHub-34567,GitHub-34569
-
商戶現在可以測試購物者所在國家/地區的購物者體驗,而不是商戶的位置。
-
功能測試已經針對PHP 8.x相容性而穩定。 GitHub-34327,GitHub-34188
- 修正WebAPI測試中的功能問題。 GitHub-34196
- 修正導致靜態測試誤判的錯誤。 GitHub-34056
- 已更新
call_user_func_array
的測試涵蓋範圍。 GitHub-34301
- 使用AWS Elasticsearch執行時,
Magento\GraphQl\CatalogGraphQl\ProductSearchTest
測試不再擲回此錯誤:Magento\GraphQl\CatalogGraphQl\ProductSearchTest::testSearchSuggestions Failed asserting that an array is not empty. /var/www/html/dev/tests/api-functional/testsuite/Magento/GraphQl/CatalogGraphQl/ProductSearchTest.php:94 /var/www/html/dev/tests/api-functional/framework/Magento/TestFramework/TestCase/GraphQlAbstract.php:257
。
-
已透過重新命名所有模擬變數以包含
Mock
尾碼並移除已棄用Object Manager類別的參照來修正許多非關鍵性單元測試警告。 GitHub-33695 -
Magento\Framework\MessageQueue\TopologyTest
測試現在相容於RabbitMQ服務的AWS MQ。 之前,此測試失敗,訊息為:Invalid exchange configuration: magento-topic-based-exchange1 Failed asserting that two arrays are equal
。
- 單元測試現在與PHP 8.1相容。GitHub-34441
單元測試
下列單元測試已重構為使用PHPUnit
而非AspectMock
:
AllureHelperTest
GitHub-33294
ObjectHandlerUtil
GitHub-33584
MockModuleResolverBuilder
GitHub-33583
MagentoTestCase
GitHub-33582
ModuleResolverTest
GitHub-33308
ParallelGroupSorterTest
GitHub-33306
SuiteGeneratorTest
GitHub-33299
OperationDataArrayResolverTest
GitHub-33296
主題
- 當Magento Open Source的基本URL中已設定子路徑時,通知訊息現在會正確顯示。
- 將
aria-label
元素新增至店面頁面範本,以指出購物者按一下連結時將會導覽至的頁面。 過去,不同頁面的連結會使用相同的連結文字。 GitHub-33075
- 載入具有預先存在的自訂主題之存放區的首頁時,Magento Open Source不再顯示錯誤訊息。 之前,applicationOpen Source會顯示此訊息:
The store will not work correctly in the case when cookies are disabled
。
翻譯與地區設定
UserExpiration
驗證器不會再失敗,因為de_DE
和uk_UA
地區設定。 先前,當管理員嘗試從管理員建立新使用者,並將地區設定設為de_DE
或uk_UA
時,applicationOpen Source會擲回錯誤。 GitHub-32497
- 在建立或編輯地址表單時,瑞士地區名稱現在會一致地以英文顯示。 GitHub-32602
- 更新根西島的
zip_codes.xml
模式,以支援沙克島的GY10郵遞區號。 GitHub-33144
- 已將白俄羅斯地區新增至
directory_country_region
表格。 GitHub-33924
- 顯示執行菲律賓(菲律賓)地區設定的店面異常已解決。 GitHub-33996
- 現在,當您在設定為葡萄牙文(葡萄牙)地區設定的商店中建立新帳戶時,可以成功輸入客戶出生日期。 之前,當您嘗試建立帳戶時,Magento Open Source會擲回錯誤。 GitHub-34130
- 產品詳細資料頁面現在會以阿拉伯文(沙烏地阿拉伯)地區設定成功顯示。 以前,這種地區設定會破壞產品詳細資料頁面。
UI
- 修正使用
maps.googleapis.com
的MFTF測試錯誤。
- Magento Open Source現在會修剪「聯絡我們」表單電子郵件輸入欄位中的不斷行空格字元。 以前,提交表單時沒有從電子郵件輸入中移除不間斷的空格字元(如果提供),這會導致記錄檔案中出現錯誤。 產生的連絡人電子郵件訊息中,也遺漏了 回覆 欄位。
- Magento Open Source現在會根據相關產品、追加銷售產品和交叉銷售產品在管理員中的位置,顯示這些產品。
- 在強制回應中使用
.action-close
時,Multiselect
按鈕現在會如預期般運作。 之前,action-close
按鈕無法運作,因為它繼承了強制回應視窗.action-close
按鈕的CSS。 GitHub-27240
- 產品檢視中的主要價格欄位現在顯示選件豐富的程式碼片段。 之前,在產品檢視中的相關產品區塊中,此欄位缺少此程式碼片段,導致Google搜尋結果顯示不正確的價格。 GitHub-34063
- 執行iOS之裝置上的強制回應視窗高度問題已解決。 GitHub-34467
- 現在,「動作」下拉式功能表在整個店面中都已正確定位。 GitHub-31379
- 已解決在購物車和結帳頁面上導覽的協助工具錯誤。 GitHub-34483
- 熒幕助讀程式現在可以讀取產品頁面上的所有相關表單元素。
- Storefront目錄產品Widget排序順序(目錄 > 類別 > 產品)現在符合Admin中設定的順序。 GitHub-27126
- 「建立帳戶」頁面上的區域選取器現在會如預期般運作。 GitHub-30099
- Admin客戶格線現在會依預期顯示所有客戶資料,包括新新增的
date
個自訂屬性。 先前,當date
屬性集設定為欄時,applicationOpen Source擲回錯誤且無法正確顯示管理員客戶格線。
- 目錄 > 產品 詳細資訊頁面上的輸入標籤已變更,以正確反映輸入的目的。 不需要使用者輸入的欄位不再顯示帶有星號的標籤。
- 現在可以使用Tab鍵存取RTF編輯器工具列。
- 控制項的存取許可權名稱現在包含其可見標籤的文字,以顯示每頁下拉式清單的專案數。
- 當資料表摺疊時,目錄 > 產品 詳細資訊頁面上的資料表控制項現在具有可見的標籤和可存取的名稱。
- 店面各處的按鈕現在都有唯一、描述性的可存取名稱。 先前,分割按鈕與文字按鈕和相鄰的向下箭頭圖示按鈕具有相同的可存取名稱。
- 新增 Today 檢視選項至「管理訂單」與「金額」儀表板圖表,以提供全天銷售與訂單的摘要。 GitHub-34008
- 多重選取 關閉 按鈕的活動(點按)狀態現在會一致地運作。 GitHub-34338
- 停用Cookie限制模式時,升級後Magento Open Source不再顯示此訊息:
The store will not work correctly in the case when cookies are disabled
。 GitHub-33811
- 全熒幕產品影像現在可以在行動裝置上具有垂直縮圖導覽方向的主題上正確顯示。 先前,全熒幕模式中行動裝置上擁有垂直縮圖導覽方向的主題上,產品影像無法正確縮放或隱藏。
- 啟用 與後端儲存裝置同步Widget產品 組態設定時,產品詳細資料頁面中的錯誤訊息不再快速消失。
- 負值的驗證已新增至[建立新退貨]表單上的 要退貨的數量 欄位。
- 在啟用 位址搜尋 組態設定的部署中,當購物者按一下[檢閱與付款]頁面上的 變更位址 時,Magento Open Source不再顯示重複位址。
- 在[管理類別]頁面上的存放區檢視範圍中工作時,新增產品 按鈕現在已如預期為具有受限制許可權的管理員啟用。
- 檢視中斷點現在在Magento Open Source中保持一致。
- Magento Open Source現在會在「管理客戶」頁面上正確顯示自訂客戶日期屬性以及自訂地區。
- 使用頁面產生器新增的影像,在瀏覽器視窗寬度為768px時不再在店面重複。 以往,使用此瀏覽器視窗寬度時,應用程式「開啟Source 」會顯示行動版和案頭版的影像,從而在店面複製影像。
URL重新寫入
- 執行
bin/magento setup:upgrade
時,在建立新存放區檢視期間,不再為所有存放區檢視重新產生URL重寫。 GitHub-32954
Web API框架
- 啟用持續性購物車時,針對自行授權客戶資源的Web API請求不再擲回授權錯誤。
- 您現在可以在PHP 7.3上使用
\Magento\Framework\Api\AbstractSimpleObjectBuilder
的子類別來建立物件。之前,當Magento Open Source在Redhat上以PHP 7.3裝載時,preg_match
擲回此警告訊息:Warning: preg_match(): Compilation failed: unrecognized character follows...
。
PUT /V1/guest-carts/:cartId/collect-totals
要求擷取的總數現在由正確的shippingMethod
更新。 GitHub-18508
- 將新的還原序列化程式新增至REST API時,不再移除其他還原序列化程式。 之前,REST API接受新的內容型別,但CORE為API定義的內容型別不再運作並傳回400錯誤。 GitHub-26433
- 您現在可以移除
webapi.xml
檔案中定義之引數的覆寫。 GitHub-33843
- Magento Open Source現在會在多次連續失敗的登入嘗試後,如預期般產生GraphQL或REST API要求的
customertoken
。 之前,applicationOpen Source不會檢查lock_expires_at
中的oauth_token_request_log
值是否大於目前的日期和時間,且一律會傳回嘗試失敗次數,因此客戶無法登入。 GitHub-34067
- 新增遮罩的引號ID至
QuoteRepository::getList
不再造成無限回圈。 先前,依靠REST API更新訂單的付款處理程式觸發此行為。 GitHub-33675
/rest/all/V1/categories/<above_created_category_id>
PUT呼叫現在會遵守available_sort_by
所指定的值。 以前,可用的產品清單排序方式下拉式清單已選取類別頁面上所有可能的選項,並且 使用全部 核取方塊已選取。 GitHub-32596
- 建立客戶Token的REST API要求效能已改善。
- 已修正 將存放區代碼新增至URL 設為 是 且REST呼叫不包含存放區代碼時發生的錯誤。 雖然裝載有效,但呼叫傳回下列錯誤:
Fatal error: Allowed memory size of **​**​**​**​**​ bytes exhausted (tried to allocate ​**​** bytes) in vendor/magento/module-store/Model/StoreRepository.php on line 75
。
- 現在可使用REST API同時建立相同訂單的部分商業發票。
希望清單
- 停用 在側邊欄中顯示 希望清單選項時,Magento Open Source不再在類別側邊欄中呈現希望清單。 之前,applicationOpen Source會忽略此選項。
WYSIWYG
- PageBuilder現在可以使用WYSIWYG編輯器正確轉譯自訂Widget。
已知問題
問題:商家在從Adobe Commerce 2.4.4升級至Adobe Commerce 2.4.4-p1時,可能會發現套件版本降級通知。 可以忽略這些訊息。 套件版本中的差異是因為產生套件期間發生異常所導致。 沒有任何產品功能受到影響。 請參閱從2.4.4升級為2.4.4-p1知識庫文章後降級的套件,瞭解受影響的案例和因應措施。
問題:當在管理 商店 > 設定 > 一般 > 國家/地區選項 > 允許國家/地區 中未選取任何選項時,購物者無法新增產品至購物車。 應用程式「開啟Source」改為顯示下列主控台錯誤: Failed to load resource: the server responded with a status of 400 (Bad Request)
。
問題: 尋找合作夥伴和擴充功能 > Magento Marketplace 上的Dotdigital說明已過時。 以下是更新的說明:
Dotdigital是客戶參與平台,可協助數位行銷人員和開發人員在客戶歷程中提供溝通。 我們利用客戶資料的力量,促進參與度、轉換率,以及品牌在成長和擴展時的忠誠度。 客戶喜歡我們易用的平台,此平台可跨系統連線第一方資料、呈現強大的深入見解並自動化預測性跨管道訊息。
Dotdigital擁有350多名員工,為全球各行各業的中端市場及企業公司提供服務。 我們渴望激發負責任的行銷活動,並致力於可持續性、隱私權和安全性。 Dotdigital自豪地成為世界第一個碳中性行銷自動化平台,通過ISO 14001、ISO 27701和ISO 27001認證。
如需購買和下載資訊,請參閱Dotdigital — Marketing Automation。
社群貢獻
我們感謝更廣泛的Magento Open Source社群,並感謝他們為此版本所作出的貢獻。
社群工程團隊Magento貢獻者會依月份、季度和年度維護最佳貢獻個人和合作夥伴的清單。 從該貢獻者頁面,您可以前往GitHub上的合併個人資料連結。
合作夥伴貢獻
下表重點說明合作夥伴所做的貢獻。 下表列出提出提取請求的合作夥伴、外部提取請求編號,以及與之相關聯的GitHub問題編號(若有)。
個人貢獻者
下表列出我們社群成員的貢獻。 此表格列出提供提取請求的社群成員、外部提取請求編號,以及與之相關聯的GitHub問題編號(若有)。
系統需求
我們的技術棧疊是以PHP和MySQL為基礎所建置。 如需詳細資訊,請參閱系統需求。
安裝和升級指示
您可以使用Composer安裝Magento Open Source 2.4.4。
移轉工具套件
資料移轉工具可協助將現有Magento 1.x存放區資料傳輸至Magento 2.x。此命令列介麵包含驗證、進度追蹤、記錄和測試功能。 如需安裝指示,請參閱安裝資料移轉工具。 請考慮探索或參與資料移轉存放庫。
程式碼移轉工具組可協助將現有的Magento 1.x存放區擴充功能和自訂功能傳輸至Magento 2.x。命令列介麵包含轉換Magento 1.x模組和版面的指令碼。