[僅限PaaS]{class="badge informative" title="僅適用於雲端專案(Adobe管理的PaaS基礎結構)和內部部署專案的Adobe Commerce 。"}
Magento Open Source 2.4.2發行說明
Magento Open Source 2.4.2引進了效能和安全性的增強功能,以及重要的平台改善。 安全性增強功能包括擴充所有Cookie的SameSite
屬性支援。 現已支援Elasticsearch 7.9.x和Redis 6.x。
此版本包含280多項核心程式碼的新修正及35項安全性增強功能。 其中包括由我們的社群成員解決近290個GitHub問題。 這些社群貢獻的內容包括核心程式碼的少量清理,以及GraphQL中的重大增強功能。
此版本已修正2.4.1中確認的所有已知問題。
套用AC-3022.patch
以繼續提供DHL作為運送承運商
DHL已匯入schema 6.2版,並將在不久的未來淘汰schema 6.0版。 支援DHL整合的Adobe Commerce 2.4.4及舊版僅支援6.0版。部署這些版本的商戶應儘早套用AC-3022.patch
,以繼續提供DHL作為運送承運商。 請參閱套用修補程式,以繼續提供DHL作為運送業者知識庫文章,以取得有關下載和安裝修補程式的資訊。
有可用的安全性修補程式
商戶現在可以安裝時效性強的安全性修正,而不需套用完整每季發行版本提供的數百個功能修正和增強功能(例如2.4.1-p1)。 修補程式2.4.0.12 (Composer套件2.4.1-p1)是安全性修補程式,針對先前季度發行版本2.4.1中發現的弱點提供修正。此安全性修補程式包含套用至2.4.1版的所有修補程式。 (Hot Fix 提供已發行版本的修正,該版本可解決特定問題或錯誤。)
如需安全性修補程式的一般資訊,請參閱引入新的安全性修補程式版本。 如需有關下載和套用安全性修補程式(包括修補程式2.4.1-p1)的說明,請參閱快速入門內部部署。 安全性修補程式僅包含安全性錯誤修正,不包含完整修補程式中包含的其他安全性增強功能。
其他發行資訊
雖然這些功能的程式碼已隨季度發行套件提供,但其中幾個專案(例如Progressive Web Applications (PWA) Studio)也獨立發行。 這些專案的錯誤修正記錄在每個專案檔案中提供的個別專案特定發行資訊中。
反白顯示
請檢視此版本中的下列重點專案。
大幅增強安全性
此版本包含超過35項安全性修正和平台安全性改善。 所有安全性修正已反向移植至2.4.1-p1和2.3.6-p1。
超過35項安全性增強功能,有助於關閉遠端程式碼執行(RCE)和跨網站指令碼(XSS)漏洞
目前尚未發生與這些問題相關的已確認攻擊。 但是,某些漏洞可能會被用來存取客戶資訊或接管管理員工作階段。 這些問題大多需要攻擊者先取得Admin的存取權。 因此,我們提醒您採取一切必要步驟來保護您的管理員,包括但不限於:IP允許清單、雙因素驗證、使用VPN、使用唯一位置而非/admin
以及良好的密碼衛生。 如需這些已修正問題的討論,請參閱Adobe安全性公告。
其他安全性增強功能
此版本的安全性改善包括:
-
所有核心Cookie現在都支援
SameSite
屬性。 -
當使用者嘗試儲存產品和類別說明欄位中的值時,應用程式現在會顯示可識別潛在惡意內容的訊息。
-
跨元件的檔案系統作業已標準化並強化,以防止惡意上傳。
-
已修正核心內容安全性原則(CSP)違規。
基礎架構改良
此版本包含核心品質的增強功能,可改善「架構」的品質以及下列功能區域:客戶帳戶、目錄、CMS、OMS、匯入/匯出、促銷活動和鎖定目標,以及購物車和結帳。
平台增強功能
-
現在支援Elasticsearch 7.9.x。 雖然我們建議您執行Elasticsearch 7.9.x,但2.4.x版仍與Elasticsearch 7.4.x相容。
-
2.4.2已使用Varnish 6.4進行測試。 2.4.x版仍與Varnish 6.x相容。
-
現在支援 Redis 6.x。 2.4.x版與Redis 5.x仍可相容。
-
2.4.2現在與 Composer 2.x 相容。 我們建議商戶移轉至Composer 2.x。雖然您可以使用Composer 1.x安裝此版本,但Composer 1.x即將終止服務。 如需Composer 2.x功能的概述,請參閱現已推出Composer 2.0!
此版本已棄用設定安裝以使用分割資料庫的功能。 目前使用分割資料庫的商家,應開始計畫回覆或移轉至單一資料庫,或使用替代方法。 請參閱Magento Open Source DevBlog文章中的取代分割資料庫功能,以取得此問題的概觀。 如需移轉指示,請參閱從分割的資料庫還原至單一資料庫。
效能增強功能
此版本包含程式碼增強功能,可針對具有大型目錄的部署提升API效能以及管理員回應時間。 多重擴充性增強功能可讓2.4.2以原生方式支援複雜目錄,擴充幅度最高達先前版本的20倍。
Adobe Stock整合
此版本包含Adobe Stock整合v2.1.1。
GraphQL
此版本新增GraphQL涵蓋下列功能:
-
新增對比較清單的支援。 購物者可以建立與刪除比較清單,以及新增與移除專案至比較清單。 此外,以訪客身分建立比較清單的購物者可以客戶身分登入,並保留他們的比較清單。
-
新增
generateCustomerTokenAsAdmin
突變並更新Customer
物件以支援遠端購買協助。 -
新增跨商店的本地化支援,以支援變更語言、購物車及貨幣等工作。
-
新增對GraphQL中聯合的支援。 GitHub-29425
-
GraphQL結構已增強,以最佳化具有許多變體的可設定產品的產品資料擷取。
-
整數型別物件識別碼已過時,改用型別識別碼的
uid
屬性。 -
已將
staging
屬性新增至ProductInterface
和CategoryInterface
,以判斷產品是否已暫存,並檢視其相關的行銷活動資訊。
如需這些增強功能的詳細資訊,請參閱GraphQL開發人員指南。
PWA Studio
此版本的PWA Studio包括:
-
國際化和本地化。 Venia現在支援多種語言和貨幣。
-
改善擴充功能框架,可透過擴充功能支援程式碼變更。
-
「我的帳戶」相關功能的初始元件,例如「願望清單」、「已儲存付款」、「通訊錄」及「訂單歷史記錄」。
-
各種效能最佳化和錯誤修正。
如需有關增強功能和錯誤修正的資訊,請參閱PWA Studio發行版本。 如需PWA Studio版本及其相容版本的清單,請參閱相容性。
媒體集
媒體集的新角色資源。 此版本讓商家能夠限制管理員僅存取媒體集,並控制誰可以執行這些動作:
-
將媒體資產插入內容
-
上傳資產
-
編輯資產詳細資訊
-
從媒體集刪除資產
-
管理檔案夾結構。
內容 中的 網頁最佳化影像。 商戶現在可以在內容中使用網頁最佳化的影像轉譯,而非高解析度的影像。 原始影像在「媒體集」中保持未修改狀態,且影像插入內容時會動態產生影像轉譯。
功能測試架構(MFTF)
MFTF 3.2.1現已推出。 此發行版本在測試和測試套裝產生過程中都引入錯誤容許度。 在功能測試架構變更記錄檔中說明其他增強功能和錯誤修正。
廠商開發的擴充功能
請參閱下列文章,瞭解此版本功能和變更的更新:
AWS S3支援增強功能
Amazon Simple Storage Service (AWS S3)支援已增強,包含對以下專案的支援:
-
物件儲存與未來擴充性
已修正的問題
我們已修正2.4.2核心程式碼中的數百個問題。
安裝、升級、部署
- 此版本已棄用設定安裝以使用分割資料庫的功能。 請參閱Magento Open Source DevBlog文章中的取代分割資料庫功能。
- 商戶現在可以成功地將執行MySQL 8.x的Open Source部署升級為Commerce部署。 之前,在升級期間新增
AUTO_INCREMENT
的所有資料表的row_id
值回覆為初始值時,應用程式擲回例外狀況。
- 如果執行
bin/magento/setup:db:generate-patch
時發生錯誤,應用程式現在會顯示錯誤訊息,以識別用來建立修補程式的路徑。 GitHub-27523
- 執行
block_html
後,full_page
、layout
和bin/magento/setup:upgrade
快取現在如預期般停用。 GitHub-28186
- 已更新
bootstrap.php
中所需的最低PHP版本。 GitHub-30004
- 您現在可以在安裝範例資料後執行
bin/magento/setup:upgrade
。 先前,當您嘗試執行bin/magento/setup:upgrade
時,應用程式會顯示此錯誤:unable to apply data patch magento\catalogrulesampledata\setup\patch\data\installcatalogrulesampledata for module magento_catalogrulesampledata
。 應用程式也在系統記錄檔中顯示這個錯誤:main.ERROR: Sample Data error: Unable to unserialize value. Error: Syntax error
。 GitHub-30685
- 您現在可以從命令列如預期地設定YouTube API金鑰。 先前,應用程式在您嘗試執行
bin/magento config:sensitive:set catalog/product_video/youtube_api_key
時傳回此錯誤:There are no sensitive configurations to fill
。
- 應用程式現在會遵循
maxMessages
中定義的queue_consumer.xml
值。 以前,應用程式僅使用部署設定值。 GitHub-29522
- 使用
bin/magento setup:config:import
建立存放區時,新存放區的URL產生現在可如預期運作。 之前,生產環境中不會產生URL重寫。 GitHub-30025
- 安裝Magento Open Source後,當您嘗試使用
backend-frontname
容器變更ssh
時,應用程式不再擲回錯誤。 GitHub-26762
- 當您執行
bin/magento setup:install
以連線到現有的資料庫時,應用程式不再顯示此問題:Overwrite the existing configuration for db-ssl-verify?[Y/n]
。 GitHub-29612
Adobe Stock整合
- 新增讀取
exif_image.png
或exif-image.jpeg
中繼資料的支援。 GitHub-1449
- 按一下「媒體集」的「預設檢視」書籤時顯示的內容不再經過篩選。 以前,預設檢視包含從
url-filter
套用程式套用的篩選器。 GitHub-1813,GitHub-1789,GitHub-1780
- 邏輯已從WYSIWYG OnInsert控制器(
Magento\Cms\Controller\Adminhtml\Wysiwyg\Images\OnInsert::execute()
)中移除,並新增至Model\Wysiwyg\Images\PrepareImage::execute()
模型。 GitHub-1504
- 區域模擬已從
media-content:sync
命令(\Magento\MediaContentSynchronization\Console\Command\Synchronize::execute
)中移除。 GitHub-1784
Analytics
- 進階報告現在對相同網域中的多個環境按預期運作。 先前,進階報告產生的CSV檔案會失敗,因為雙引號會以CSV標準RFC4180要求的反斜線逸出,而不是以其他雙引號逸出。
- 現在,使用預設或非預設連線埠連線到
analytics_collect_data
中的MySQL時,env.php
作業會順利執行。 以前,analytics_collect_data
在您使用非預設連線埠時擲回錯誤。
analytics_collect_data
產生的CSV檔案現在已正確逸出。 以前,這些檔案產生時沒有正確的逸出,這會阻止產生詳細目錄報表。
Braintree
-
購物者現在可以使用Apple Pay成功訂購虛擬產品。 之前,應用程式擲回此錯誤:
There are no shipping methods available for you right now. Please try again or use an alternative payment method
。 -
預設的PayPal Express結帳付款方式現在可與Braintree信用卡付款方式如期運作。 先前,啟用Braintree信用卡付款方式時,應用程式沒有顯示 PayPal 按鈕。
套裝產品
- 應用程式不再為報價中的固定價格套裝產品子料號設定價格。
- 當套件組合產品包含無庫存產品時,價格排序現在會如預期運作。 先前,依降序排序的價格不會依降序顯示產品。
- 當存在許多選項時,應用程式現在會自動為套件組合產品選項套用預設數量1。 以前,商家必須手動指定預設數量給每個選項。
- 訂單發票建立頁面現在會如預期顯示套件組合產品的子產品。 GitHub-27350
- 當您以自訂價格重新訂購屬於套裝產品的簡單產品時,應用程式現在會指定正確的產品價格。 先前,在套裝產品上設定自訂價格,導致在重新訂購時附加的簡單產品價格不正確。 GitHub-30343
- 呼叫POST
/V1/order/{orderId}/ship
以送出包含組合產品的訂單,現在會將訂單標示為如預期完成。 以前,應用程式會顯示此錯誤訊息:You can't create a shipment without products
。 GitHub-9762
購物車與結帳
- 當自訂地址屬性出現在結帳工作流程的送貨步驟上時,送貨方法估算器現在會如預期運作。 之前,應用程式會顯示此錯誤訊息:
{"message":"Error occurred during \"custom_attributes\" processing. A custom attribute is specified with a missing attribute code. Verify the code and try again."}
GitHub-27505
- 當購物者移除其購物車中的唯一專案時,應用程式現在會如預期在迷你購物車中顯示
You have no items in your shopping cart
訊息。 先前,當購物者移除單一專案且應用程式顯示此訊息時,checkout/cart/removeFailed
的購物車資料未更新:1 product requires your attention
。
- 應用模組不再針對不適用的出貨方式顯示訂單的出貨成本。 以前,對於結帳工作流程中不適用的送貨方法,應用程式顯示0價格。
- 當取消選取結帳工作流程上的 我的帳單和運送地址相同 核取方塊時,現在會選取客戶的預設帳單地址。
- 當購物者在不同網域中從一家商店切換至另一家商店時,購物車內容不再遺失。
- 購物者現在可使用多種送貨方式,透過多個地址結帳成功完成訂單。 以前,應用程式顯示這個錯誤:
There has been an error processing your request
。 GitHub-30197
- 當購物者從購物車變更商店檢視時,應用程式現在會在結帳工作流程的送貨頁面上顯示正確的預設國家/地區。
- 當訪客購物者登入後,在登出後重設密碼後清除客戶工作階段時,應用程式現在會排除目前的工作階段。 以前,當購物者重設密碼時,應用程式會清空購物車。
- 當購物者變更購物車中的商店檢視時,應用程式現在會顯示商店檢視的正確預設國家/地區。 先前,當購物車中的商店檢視變更時,預設國家/地區不正確。
- 已移除對購物車上
/rest/V1/guest-carts/cart_id/totals-information
端點的重複呼叫,這會改善購物車效能。 先前,當購物者新增產品至購物車,然後檢視購物車時,應用程式會多次呼叫collectAddressTotals
方法。
- 當停用國家 的 允許選擇州別(若它是選擇性的)設定時,應用程式不再顯示簽出工作流程中某個國家的 區域 欄位。 GitHub-30747
- 從管理員重新訂購訂單時,應用程式不再重複店面結帳工作流程中的送貨地址。
- 已修正
AdminMediaGalleryInsertLargeImageFileSizeTest
的設計問題。
quote
表格中來賓的所有新記錄現在會在customer_is_guest field
中指派值1。 之前,對於每個將產品加入購物車的新來賓,記錄在quote.customer_is_guest
欄位中已指派0。
- 結帳工作流程「檢閱與付款」區段上的 提交 按鈕已移至
<form id="purchaseorder-form"...></form>
內部,這使得隱性表單提交成為可能,而不會變更任何JavaScript。 GitHub-27925
- 停用 如果國家/地區選擇狀態 設定為選用,則應用程式不會再在簽出工作流程上顯示 區域 欄位。 GitHub-30747
- 當購物者使用多個地址結帳時按一下 更新購物車 時,應用程式現在會正確更新購物車的專案小計。 GitHub-30408
- 當目前未安裝的付款方法有
config.xml
個節點時,應用程式不再擲回例外狀況。 之前,應用程式在結帳時擲回例外狀況。 GitHub-29555
- 應用程式現在會在迷你購物車中正確轉譯包含特殊字元的產品名稱。 GitHub-29075
- 應用模組現在會針對表格費率設定正確的折扣套件。 之前,應用程式在計算表格費率時,並未套用設定購物車折扣的購物車規則。 GitHub-30169
購物車價格規則
- 現在會在計算訂單小計時如預期套用購物車價格規則,而不納入稅捐。 新的
Subtotal (Incl. Tax)
選項已新增為購物車價格規則條件。
- 使用GraphQL套用含抵用券的價格規則,現在於使用 整個購物車 的固定金額折扣動作時,可如預期運作。
目錄
- 應用程式現在會依預期在店面顯示所有重新啟用的產品。 先前,當產品停用然後重新啟用時,應用程式不會顯示產品,直到清除Varnish頁面快取或重新索引存放區,因為重新啟用產品後,頁面快取不會失效。
- 部分重新索引大型目錄現在可如預期運作。 先前,在使用
catalogsearch_fulltext
部分索引器重新索引期間,產品會隨機從店麵類別頁面消失。
- 購物者現在可以重新訂購具有預期可自訂選項之產品的已開立商業發票訂單。 以前,當購物者嘗試重新排序時,應用程式擲回此錯誤:
{"0":"The product's required option(s) weren't entered. Make sure the options are entered and try again
。
- 您現在可以在[類別設計]頁面上成功將 配置 設定設為 無配置更新。 先前,當您指派 無配置更新 值時,應用程式已恢復為 類別 — FullWidth。
- 已解決店面的產品排序順序問題。 先前,當應用程式將產品價格編列索引時,它偶爾會在
min_price
資料表中將可設定產品的max_price
和catalog_product_index_price
設定為0,這會影響店面的價格排序順序。
- 應用程式現在已成功更新標籤為
Product Type
的屬性。 之前,因為product_type
屬性已保留在程式碼中,所以當您嘗試更新Product Type
屬性時,應用程式會顯示此訊息:An attribute with the same code (product_type) already exists.
- 當您儲存產品時,應用程式不會再變更已上傳視訊在產品詳細資料頁面之影像和視訊區段中的位置。 以前,新影像位置會指定索引值(清單中的位置),如果現有影像位置與其索引值不一致,則新影像會錯誤放置在清單中。
- 當 加入購物車 按鈕可供點按時,加入購物車 功能現在會如預期運作。 先前,如果您在等待產品頁面載入時按此按鈕多次,應用程式會擲回此錯誤:
Invalid Form Key. Please refresh the page
。
- 當商家在類別中新增或移除已停用的產品時,應用程式不再刷新類別快取。 之前,應用程式會針對相關類別排清快取,無論產品狀態為何。 儲存類別時也會取消指派類別,導致清除類別快取。
- 所有商店檢視 範圍內的目錄產品篩選現在可以正常運作。 先前,篩選功能只顯示啟用或停用的產品時,格線中會顯示狀態為
Enabled
或Disabled
的產品。
- 部分重新索引不再導致遺漏產品和空白類別。
- 重新排序現在可在 使用JavaScript行事曆 啟用(商店 > 組態 > 目錄 > 日期與時間自訂選項)時如預期般運作。 先前,啟用此設定時,當您嘗試從管理員重新排序先前下單的訂單時,應用程式會顯示此錯誤:
Please specify date required option(s)
。
- 應用程式現在會在建立層級價格期間,在多網站部署中顯示正確的貨幣。
- 產品影像自訂屬性現已正確逸出。
data-src
屬性如預期具有與src
屬性相同的值。 之前,URL特殊符號會逸出。
- 透過REST API更新類別時,不再停用[啟用類別]、[包含在功能表中]和[URL金鑰]屬性上的 使用預設值 設定。
- 儲存類別現在只會排清與此類別相關的區塊快取。 之前,應用程式會排清所有類別區塊的快取。
- 具有百分比價格的自訂選項價格,現在會在多商店部署中,依預期轉換為作用中商店的基本貨幣。 以往,具有百分比價格的自訂選項的價格轉換不正確。 GitHub-26432
- 應用程式現在已成功重新建立影像,當商家使用POST
rest/all/V1/products
傳送媒體集資料時,這些影像會如預期在「管理員」中顯示。 以前,如果影像在rest/all/V1/products
中被刪除,但媒體中仍然有記錄包含這些影像的記錄,當商家透過POSTpub/media
傳送媒體集資料時,應用程式會重新建立這些影像,但會刪除這些影像。 因此,商家在「管理員」中只看到預留位置,因為影像是在更新過程中建立和刪除的。
- 現在當您從網站取消指派專案時,會如預期刪除記錄。 先前,執行POST
rest/all/V1/products
時會複製影像。
/V1/categories/{categoryId}/products
呼叫現在會如預期傳回屬於父類別的所有產品清單。 先前,如果產品屬於父類別的多個子類別,應用程式會擲回此型別的錯誤:Internal Error. Details are available in the application log file. Report ID: webapi-5f8579e37db54
。 GitHub-30461
/V1/products/attributes/:attributeCode/options
REST端點現在支援更新現有的屬性選項。
- 具有百分比價格的自訂選項價格,現在會在多商店部署中,依預期轉換為作用中商店的基本貨幣。 以往,具有百分比價格的自訂選項的價格轉換不正確。 GitHub-26432
- 商家現在可以在產品建立期間成功儲存新屬性。 以前,當商家嘗試儲存屬性時,應用程式不會儲存屬性,並將商家重新導向至商店檢視首頁。 GitHub-30362
- 銷售 > 訂單 和 目錄 > 產品 頁面上的產品格線現在會列出所有相關的商店,而不只是最近建立的商店。 GitHub-29267
- 產品存放庫現在會使用
store_id
來儲存現有產品的屬性值。 以前,產品存放庫類別會覆寫產品存放庫ID,並一律指派預設存放庫ID。 GitHub-29933
目錄規則
- 目錄價格規則現在與產品詳細資料頁面上的自訂選項搭配使用,可如預期運作。 之前,該頁面上的產品價格未反映適用的目錄價格規則。 GitHub-22856
- 產品和目錄快取現在會依排程過期。 以前,快取每天過期,因為
сron
每天執行一次catalogrule_apply_all
工作(重新編制所有目錄規則和相依索引器的索引),並清除所有產品和類別的快取。
Cleanup
拼寫錯誤和文法清理
- 已修訂「訂單失敗」頁面的標題以提高準確性。 此頁面的標題先前為: 我們已收到您的訂單!。 GitHub-29416
- 已移除
app/code/Magento/Contact/view/frontend/templates/form.phtml
中不必要的空格。 GitHub-29779
- 修正
bin/magento/setup:config:set
子命令說明訊息中的錯字。 GitHub-28802
- 已更正
framework/Registry.php
檔案之PHPDoc中的文法。 GitHub-29661
- 已從
app/code/Magento/Catalog/Helper/Product/View.php
移除多餘的空格。 GitHub-30601
- 已修正
app/code/Magento/Ui/view/base/web/js/form/element/ui-select.js
中函式名稱的錯字。 GitHub-29987
- 修正迷你購物車和結帳訂單摘要中「專案」的多元化問題。 GitHub-29920
- 已移除標籤圖層導覽篩選器內嵌元素中的空白字元。 GitHub-30448
- 已在
rl
中將url
更正為\Magento\Framework\Filter\Template\Tokenizer\Parameter
。 GitHub-29185
程式碼清理
- 已從
<br>
系統 > 匯入 頁面的[檢查資料]訊息區域移除多餘的HTML 標籤。
ChangeQuoteControl
已重構。 GitHub-29673
AccessChangeQuoteControl
及其單元測試已重構。 GitHub-29672
- 修正
app/code/Magento/Captcha/CustomerData/Captcha.php
中傳回型別宣告的程式碼樣式。 GitHub-29712
- 修正「新增屬性」頁面上按鈕清單的位置。
- 已為
viewModel
類別的前端\Magento\Framework\View\Element\Template
參考範例新增正確的區塊類別。 GitHub-30450
- 已移除「銷售規則」表單中多餘的欄位集。 GitHub-29599
- 已從
hierarchy/edit.phtml
範本移除不必要的程式碼。
- 已更正
app/code/Magento/CatalogImportExport/Model/Export/Product.php
中的PHPdoc註解。 GitHub-30833
- 已更正
PublisherInterface
訊息的docblock註解。 GitHub-30190
- 已修正
getStatusByState
方法中的引數。 GitHub-30173
- 已更正
app/code/Magento/Quote/Model/Cart/Totals/ItemConverter.php
中的方法描述。 GitHub-30125
- 在多個檔案的同一行移除多餘的變數指派。 GitHub-30133
- 在
@param string $attribute
中將@param AbstractAttribute|string[]|string $attribute
變更為EntityAbstract.php
。 GitHub-30191
- 無效的標籤(例如
@package
和@subpackage
)已從整個程式碼基底的Docblock中移除。 GitHub-30061
- 已移除
AdvancedPricing
類別建構中未使用的引數。 GitHub-29531
可設定的產品
- 依價格篩選沒有庫存的可設定產品現在會顯示正確價格範圍內的結果。
- 當虛擬產品的狀態從啟用變更為停用時(反之亦然),虛擬產品不再變更型別。 先前,應用程式會在產品狀態變更時,將產品型別從虛擬變更為簡單。
- 更新購物車時,
getValue()
方法不再觸發嚴重錯誤。
- 可在多個網站上取得的可設定產品不再顯示未指派給特定網站的簡單子產品。 GitHub-28291
- Storefront產品頁面現在會如預期顯示層級價格(不含稅)。 GitHub-12225
- 可設定產品的MSRP價格現在可正確轉換為選擇的貨幣。 以前,應用程式以錯誤的貨幣顯示價格,並擲回此錯誤:
Call to a member function setAppliedTaxes() on null
。 GitHub-26526,GitHub-29603
- 商戶現在可以儲存特定商店文字色票屬性選項標籤,其值為0 (零)。 之前,0值會由管理員標籤選項值取代。 GitHub-30073
cron
- 系統訊息清單現在會在
cron
執行後正確反映產品更新,且應用程式已依排程更新產品。
- 基於
schedule_id
和status
的索引已新增到cron_schedule
資料表。 GitHub-29601
自訂客戶屬性
- 建立後,應用程式現在會在[帳戶資訊]頁面上顯示
file
型別的客戶屬性。 先前,當您嘗試儲存此型別的新屬性時,應用程式會顯示下列錯誤:The "newAttribute" attribute value is empty. Set the attribute and try again
和Validation is failed
。
- 應用程式現在可以正確顯示多行自訂客戶屬性值。 以前並非所有資料都會顯示。
- 現在,當購物者在建立帳戶時輸入無效的出生日期時,應用程式會提醒他們。 之前,驗證器會忽略地區設定設定,而購物者會重新導向至建立新客戶帳戶頁面,且出現無效的日期錯誤。
- 自訂地址屬性現在已如預期包含在結帳工作流程的付款步驟中。
- 自訂地址多重選取屬性現在會在來賓結帳期間以及管理員和我的帳戶訂單詳細資訊頁面上正確顯示。
- 當
Input Type
設為Text
且Input Validation
設為Numeric Only
時,您現在可以刪除自訂客戶屬性中的前導零。
- 應用程式現在已成功匯出包含自訂性別屬性值的客戶資料。
客戶
- 店面客戶帳戶頁面出生日期欄位的行事曆介面工具集現在會使用指定的店面地區設定。
- 從Admin為現有客戶重新訂購結帳時,應用程式不再儲存客戶地址的重複專案。
- 現在從「管理員」刪除多個客戶的所有地址,會從客戶地址清單刪除所有地址,並移除預設帳單和送貨地址。 以前,應用程式會從客戶地址清單中刪除該地址,但並未移除預設帳單和送貨地址。
- 在管理員執行大量刪除地址後,「管理員客戶地址」索引標籤現在可以正確顯示地址計數。 以前,應用程式會在計數中包含已刪除的地址。
- 已更正客戶註冊頁面上 出生日期 欄位的DateTime格式。 先前,位數天的前導零會遺失。
- 出生日期 欄位的日期格式驗證現在可在購物者按一下 建立帳戶 按鈕之前運作。 以前,購物者輸入的值格式無效,當他們按一下 建立帳戶 按鈕時,購物者將被重新導向到具有無效日期錯誤的「建立新客戶帳戶」頁面。
- 當管理員嘗試儲存包含屬性無效資料的新客戶帳戶時,應用程式不再擲回嚴重錯誤。
- 當客戶嘗試在先前已安裝Magento Shipping且目前已部署預設Luma主題的部署中存取其購物車時,應用程式不再擲回400錯誤。 以前,應用程式在將請求傳送到伺服器之前,不會篩選掉先前安裝/啟用的Admin不支援的模組所建立的區段名稱,這會導致錯誤。
- 當啟用 要求電子郵件確認 設定且已覆寫
Magento\Customer\Controller\Account\CreatePost
時,當購物者建立來賓帳戶時,應用程式現在會如預期顯示訊息。 以前,應用程式不允許這種型別的自訂使用者註冊程式,在這些條件下,使用者的電子郵件確認狀態會被視為完成,新使用者會自動登入,並且不會顯示錯誤訊息。
- 應用程式現在會在購物者於已啟用 啟用自動指派至客戶群組 的商店中,以非預設客戶群組下訂單時,將購物者指派至正確的客戶群組。 GitHub-26976
- 當索引設定為 依排程更新 時,在多站台部署中刪除非預設網站時,現在可如預期使用管理員客戶網格。 之前,應用程式未顯示網格,並擲回此錯誤:
[2020-12-09 11:31:54] report.CRITICAL: The website with id 2 that was requested wasn't found. Verify the website and try again. \{"exception":"[object] (Magento\\Framework\\Exception\\NoSuchEntityException(code: 0): The website with id 2 that was requested wasn't found. Verify the website and try again. at /var/www/html/magento24ee/vendor/magento/module-store/Model/WebsiteRepository.php:110)"}
dotdigital
-
從dotdigital Engagement Cloud擷取程式清單時,已改善錯誤處理。
-
訪客同步處理期間在存放區名稱欄中同步處理的值,現在會如預期般成為存放區檢視名稱。 之前,此欄會包含網站名稱。
-
在儲存訂單後循環處理訂單狀態自動化之前新增陣列檢查。
-
已解決Composer升級的問題,這些問題是dotdigital模組對
magento/module-authorization
的相依性的結果。
可下載
- 當所屬訂單已部份退款後,應用程式不會再在「我的下載產品」標籤中列出可下載的產品。 GitHub-28388
EAV
- 如果API呼叫建立產品時,裝載中未提供值,則使用
\Magento\Eav\Model\Entity\Attribute\Backend\ArrayBackend
的自訂屬性現在會使用預設值。
電子郵件
- 未在
\Magento\Config\Model\Config\Source\Email\Template::toOptionArray
之前呼叫setPath()
時,toOptionArray()
不再擲回錯誤。 GitHub-29315
- 載入電子郵件範本時,應用程式現在會在您按一下 傳回Html版本 時,將純文字正確轉換為HTML。
- 傳送給客戶的電子郵件若包含部份發票,現在會包含精確的專案小計。 先前,此電子郵件中的小計是訂購數量的總計,而不是已開立商業發票數量的總計。
- 應用程式現在會傳送電子郵件提醒給具有有效電子郵件地址的所有相關客戶。 之前,應用程式在遇到一個無效地址後停止向客戶傳送提醒電子郵件。
- 從目錄移除產品後,以非同步模式傳送銷售電子郵件現在可如預期運作。 先前已封鎖非同步電子郵件傳送,且應用程式顯示此錯誤:
main.ERROR: Cron Job sales_send_order_invoice_emails has an error: Call to a member function getData() on null. Statistics: {"sum":0,"count":1,"realmem":0,"emalloc":0,"realmem_start":73400320,"emalloc_start":37177640} [] []main.CRITICAL: Error when running a cron job {"exception":"[object] (RuntimeException(code: 0): Error when running a cron job at /var/www/html/vendor/magento/module-cron/Observer/ProcessCronQueueObserver.php:327, Error(code: 0): Call to a member function getData() on null at /var/www/html/vendor/magento/module-catalog/Helper/Image.php:502)"} []
。 GitHub-26878
- 當
sales_email/order_comment/enabled
停用且sales_email/order_comment/copy_method
設定為bcc
時,應用程式不再復制訂單確認電子郵件上的客戶。 GitHub-29915
框架
- 現在當在客戶上搜尋時,可正確套用自訂的篩選器群組。 先前,
afterSearch
函式沒有如預期般進行OR篩選。 GitHub-24576
- 商店首頁上的影像現在已成功轉譯。 先前,頁面來源HTML已損毀,因為影像base64程式碼中的三個連續斜線會誤解為評論。
- 現在,在使用阿拉伯語地區設定(
ar_SA - Saudi Arabia
)的存放區中篩選[管理訂單]清單上的訂單時,DatePicker可正確運作。
- 現在,商家在部署中儲存購物車價格規則後,DatePicker會顯示正確的日期。 GitHub-30382
- 應用程式現在可正確代表阿拉伯千分位分組和阿拉伯小數分隔符號。 先前已修剪阿拉伯文符號。 GitHub-26676
- 應用程式現在會如預期從資料庫
session
資料表中刪除過期的資料庫工作階段。
一般修正
- 您現在可以設定與
php.ini
中定義之處理常式不同的原生工作階段處理常式。 以前,SessionManager
未將memcache設定為save_handler
,而是使用檔案的session_handler
。 應用程式擲回此錯誤:main.CRITICAL: Warning: SessionHandler::read(): open(127.0.0.1:11211/sess_0imeeaqmnvemdg4e3h57tat0ik, O_RDWR) failed: No such file or directory (2) in../vendor/magento/framework/Session/SaveHandler/Native.php on line 22 {"exception":"[object] (Exception(code: 0): Warning: SessionHandler::read(): open(127.0.0.1:11211/sess_0imeeaqmnvemdg4e3h57tat0ik, O_RDWR) failed: No such file or directory (2) in ../vendor/magento/framework/Session/SaveHandler/Native.php on line 22 at ../vendor/magento/framework/App/ErrorHandler.php:61)"}
。 GitHub-24717
-
已對
LoginAsCustomer
模組進行下列改良:-
已將
around
外掛程式取代為after
-
已移除多餘的程式碼
-
以
(bool)->getValue()
取代isSetFlag
。 GitHub-29689
-
- 以萬用字元(*)重新載入所有客戶資料區段不會再導致
customer/section/load
的請求擲回400錯誤。 GitHub-28154
- 應用程式現在會傳遞在生產模式下將配置轉譯為
var/report
時發生的例外狀況。 GitHub-29606
- 商家現在可以根據預期取消指派類別中的產品。 之前,應用程式擲回與此錯誤類似的錯誤:
Could not save product "4" with position 0 to category 3
。
- 當不存在客戶請求重設密碼時,應用程式現在會擲回例外狀況。 GitHub-26288
- 現在,當管理員嘗試在上傳具有此屬性值的檔案時儲存包含無效客戶屬性的客戶帳戶時,應用程式會顯示資訊性錯誤訊息。 之前,應用程式擲回嚴重錯誤。 GitHub-30295
- 應用程式現在會依預期將HTML列印檢視的 標誌 組態設定套用至店面發票PDF。 GitHub-24730
- 在用於存取私人常數之程式碼基底中,
static::
已取代為self::
。 GitHub-30781
- 當商家在建立產品期間按兩下 建立新屬性 按鈕時,應用程式現在會如預期開啟「新屬性」頁面。 之前,應用程式顯示空白頁面並擲回錯誤。 GitHub-30361
- 優惠券移除後,應用程式不再顯示
The coupon code has been accepted
訊息。 GitHub-30255
- 管理員現在可以將Widget指派給特定類別。 GitHub-30009
- 屬性選取器
input[type=datetime]
已取代為較不具體的輸入型別選取器。 GitHub-30064
- 應用程式現在會依預期顯示與自訂類別屬性相關聯的商店特定值。 GitHub-13440
- 當商店地址與運送目的地屬於不同的歐盟國家/地區時,應用程式現在會顯示提示,詢問當您按一下訂單建立頁面上的 驗證VAT編號 按鈕時,是否應該變更客戶群組。 GitHub-29652
- 已重構
\Magento\Catalog\Model\ImageUploader
類別以使用新的moveFileFromTmp
方法。 GitHub-29598
- 當商家嘗試建立具有
product_type
和type_id
程式碼的產品屬性以提供更清楚的描述時,應用程式現在會顯示更清楚的錯誤訊息。 GitHub-28479
- 已更正「管理員 商店 > 設定 > 服務 > OAuth」頁面上 客戶權杖存留期(小時) 及 管理員權杖存留期(小時) 欄位的驗證邏輯。 GitHub-29502
- 應用程式現在可正確剖析Widget內容欄位中包含
}}
的文字。 GitHub-12087
- 您現在可以從產品類別頁面中移除篩選器。 先前,當您嘗試刪除篩選器時,應用程式不允許您移除篩選器並顯示此錯誤:
Something went wrong
。 GitHub-8538
- 當選擇性模組
Magento\Framework\MessageQueue\ConfigInterface
停用時,Magento_MessageQueue
現在可以具現化。 之前,應用程式擲回此錯誤:PHP Fatal error: Uncaught Error: Cannot instantiate interface Magento\Framework\MessageQueue\ConfigInterface in /var/www/magento2/magento2/lib/internal/Magento/Framework/ObjectManager/Factory/AbstractFactory.php:121
。 GitHub-26080
- 已改善判斷應用程式何時可從永久儲存裝置擷取電子郵件值的邏輯。 先前,當未註冊的使用者在第一次完成電子郵件欄位後返回簽出頁面時,應用程式會在簽出頁面上顯示填入的密碼欄位。 GitHub-26903
- 已新增遺失的
aclResource
屬性至Admin標頭AdminNotification
工具列區塊。 以前,即使管理員使用者沒有檢視它的角色資源許可權,也可以看到管理員通知工具列專案。 GitHub-29067
framework/database/select
where
函式現在可以正確處理type
。 GitHub-29590
- 在整個程式碼基底中,改善了在回圈中使用
array_merge
的效率低,這改善了多個位置(包括靜態內容部署程式中)的效能。 GitHub-30183
- 預設的管理員工作階段存留期已從加密模組移至安全性模組。 GitHub-30859
- 應用程式現在會檢查類別中的私用常數,並在有任何
static::
呼叫時顯示警告。 之前,應用程式擲回此錯誤:Undefined class constant
。
- 新增錯誤頁面和維護模式中符號連結
root
的支援。 先前,如果root
或magento/pub
已符號連結至不同的目錄,則錯誤處理器(Magento\Framework\Error\Processor
)不會產生正確的檢視檔案URL。 GitHub-30296
- 已將遺失的
order_data
陣列新增至EmailSender
類別。 這使得這些類別符合Magento的建議,使用純量變數而不是電子郵件範本中的物件。 GitHub-29604
GraphQL
- GraphQL URL解析器現在可以正確處理查詢引數。 之前,它在處理包含SEO好記的引數的URL時會傳回NULL。
- GraphQL URL解析器現在可以正確處理CMS頁面階層。 之前,它會傳回NULL。 GitHub-30474
- 產品
categories.breadcrumbs
資料的查詢不再傳回父類別已停用的類別的階層連結資料。 GitHub-30468
- 現在當URL重寫停用時,會正確傳回類別影像的路徑。
- 現在,在GraphQL密碼重設作業期間發生錯誤時,應用程式會傳回資訊更豐富的訊息。 GitHub-30179
- 產品位置現在會依照預期在快取查詢結果時,在GraphQL查詢結果中更新。
- 當
products
時,category_id
查詢現在會傳回預期的結果 使用in
關鍵字指定篩選器。 GitHub-30349
- 在
editorconfig
中新增規則,以支援將JSON和YAML檔案縮排為兩個空格。 GitHub-30066,GitHub-30063
FlushCacheByTags
類別已更新為使用外掛程式,而非外掛程式。 GitHub-29558
- 已從
checkout_index_index.xml
、sortOrder
、messages
、authentication
及progressBar
元件中移除estimation
,以增強sidebar checkout
檔案中的程式碼。 GitHub-30550
calc
中的內容現已逸出,導致CSS輸出檔案中有正確的calc
值。 以前,應用程式傳回不正確的calc
值。 GitHub-30542
- URL重寫產生器現在會在儲存全域範圍的類別URL重寫時,將類別物件
url_key
、url_path
和store_id
設定為預設的存放區值。 之前,它使用上次處理的存放區ID的值儲存url_key
、url_path
和store_id
。 GitHub-29585###群組產品
- 產品查詢現在會傳回分組產品的所有預期資料。 以前,
product_links
是空陣列。
- 現在,當所有子簡單產品無庫存時,分組的產品會在產品編輯頁面上列為無庫存。
- 現在,當分組產品的子簡單產品的狀態變更為無庫存,其狀態會在產品編輯頁面上正確更新。 先前,已分組產品之父項的庫存料號在其子項變更庫存狀態後並未更新。
\Magento\Widget\Controller\Adminhtml\Widget\Instance\Validate
現在會將片語結果值辨識為錯誤訊息,並在Widget驗證期間將其輸出給使用者。 GitHub-27397
Magento\Catalog\Model\Category\DataProvider::getFieldsMap()
中類別屬性的硬式編碼清單已由快取產生的屬性清單取代。 GitHub-13440
- 已移除
req.http.host/client.ip
的備援雜湊,雜湊是由Varnish內建VCL處理。 GitHub-29988
- 已將失敗回呼新增至
Magento_Ui
檔案上傳程式。 GitHub-29557
- 已更正
acl.xml
已啟用,但Magento_LoginAsCustomerAssistance
或Magento_LoginAsCustomerAdminUi
已停用時所發生的Magento_LoginAsCustomerLog
不一致。 先前,當具有這些認證的管理員嘗試登入管理員時,應用程式顯示空白頁面,並在發生下列情況時擲回此錯誤:Exception #0 (LogicException): Could not create an acl object: Invalid Document Element 'resource': The attribute 'title' is required but missing. Line: 13
。 GitHub-30680
- 外掛程式建立期間產生
Undefined class constant
時,應用程式不再擲回Interceptor
錯誤。 GitHub-28981,GitHub-29879
- 應用程式現在可以正確處理非同步大量操作的傳訊和記錄。 先前,雖然產品已更新,
magento_operation
和queue_message_status
資料表未正確更新,且系統訊息不正確。 GitHub-29718
- 當商店啟用 需要電子郵件確認 時,購物者按一下[重設密碼]電子郵件中的 設定新密碼,系統現在會按預期將購物者重新導向至[設定新密碼]頁面。 以前,購物者會被重新導向回登入頁面上的 忘記密碼 按鈕。 GitHub-27954
- 以預設值儲存列系統組態時,更正陣列至字串轉換錯誤。 GitHub-30314
- 您現在可以設定訊息佇列的引數。 GitHub-30216
- 基礎檔案收集器現在遵循
AppState->emulateAreaCode()
。 GitHub-39656
- 新
BlockByIdentifier
類別支援根據CMS區塊識別碼擷取配置區塊。 因此,從快取中移除CMS區塊時,應用程式也會清除配置區塊快取。 GitHub-28309
- 修正佇列中數值引數轉換的問題。 先前,當您在
type
中宣告含數值queue_topology.xml
引數的佇列時,引數值會轉換為字串。 GitHub-29615
GraphQL
urlResolver
查詢現在可以正確處理查詢引數。
- 將自訂CMS節點和頁面指定為輸入時,
urlResolver
查詢不再傳回NULL。 GitHub-30474
category
查詢不再傳回已停用的父類別的子類別。 GitHub-30468
- 停用URL重寫時,
category
查詢現在會傳回類別影像的正確路徑。
resetPassword
突變現在會在發生錯誤時傳回資訊性更強的訊息。 GitHub-30179
- 產品位置變更時,
products
查詢的快取結果會如預期失效。 GitHub-30467
- 當使用
products
關鍵字指定category_id
篩選器時,in
查詢現在會傳回預期的結果。 GitHub-30349
categories
和categoryList
查詢現在會根據類別許可權組態和父類別識別碼來考量類別可用性。 GitHub-29880,GitHub-30624
updateProductsInWishList
突變現在已正確驗證願望清單專案。 GitHub-30467
-
已棄用
ProductInterface
和CategoryInterface
中的幾個屬性,以防止在店面上使用它們。 GitHub-30625 -
現在,當類別許可權設定為隱藏價格時,產品查詢結果會隱藏價格。 GitHub-29926
- 您現在可以使用
addProductsToWishList
突變將具有使用者定義數量的組合產品新增至願望清單。
- 新增至購物車操作的GraphQL回應時間已改善。
products
查詢現在會如預期傳回層級價格值。 GitHub-29168
- 已從
getMappedNums
中的回圈移除多餘的lib/internal/Magento/Framework/GraphQl/Query/EnumLookup.php
。 GitHub-30031
- 當查詢的產品具有停用的相關產品時,
products
查詢不再傳回錯誤。 GitHub-28892
cart
查詢現在會傳回已轉換為正確貨幣(預設顯示貨幣)的價格。 以前,查詢會傳回以基本貨幣表示的料號價格值,而貨幣代碼會傳回為預設顯示貨幣。
- GraphQL現在會遵循目錄許可權。 應用程式會根據購物者的客戶群組,限制針對
products
查詢傳回哪些專案。
- 已將
customizable_option
屬性新增至實作CartItemInterface
的多個資料型別。
- 已新增
storeConfig
查詢的屬性,以傳回商店、商店群組和網站資訊。
- 已復原
SelectedCustomizableOption.type
屬性。 此外,customizable_options
的各種實作中的CartItemInterface
屬性現在為非Null。
products
查詢的搜尋功能不再傳回已啟用類別許可權的專案。
products
查詢針對擁有多種貨幣的存放區檢視傳回正確的貨幣。
products
查詢篩選的標籤現在會傳迴轉譯的值(如果適用於非預設存放區檢視)。
- 固定購物車中禮品卡上的商店貨幣金額。
- 新增
ConfigurableProductOptionsSelection
資料型別,其中包含與產品可選取之可設定選項對應的中繼資料。 在products
查詢中使用此物件,以儘量減少當購物者選取可設定的產品選項時顯示的媒體收藏館專案數量。
影像
- 商店首頁上的影像現在已成功轉譯。 先前,頁面來源HTML已損毀,因為影像base64程式碼中的三個連續斜線會誤解為評論。
- 已從CMS模組中移除
fileinfo
擴充功能的相依性。 先前,當您嘗試使用影像上傳程式上傳影像時,應用程式擲回錯誤,此影像上傳程式會在您新增內容時按一下 插入影像 按鈕而啟動。 GitHub-24332,GitHub-16531,GitHub-29852
- 新增讀取
exif_image.png
或exif-image.jpeg
中繼資料的支援。 GitHub-1449
- CMYK影像顏色現在可正確演算。 當Imagick介面現在偵測到開啟的影像有CMYK色域時,該色域會轉換為SRGB。 以前,這些影像會以反轉的顏色呈現。 GitHub-22375
- 不再為
image_with_border.phtml
設定布林值。 已從max-width
移除多餘的height
和.product-image-photo
設定。 (這些值已透過重設樣式在影像上全域設定。) GitHub-30186
匯入/匯出
- 當您使用CSV檔案(
region_id
和NULL
)匯入客戶地址(某些欄位值已從其中刪除)時,客戶地址entity type = "customer address"
不再獲派import behavior = "add/update"
值。
- 您現在可以在匯入期間隱藏店面上的產品影像。
- 當匯入的產品在CSV檔案中將
qty
設定為0但is_in_stock set
設定為1時,該產品未列在類別頁面上,且產品詳細資料頁面將其識別為無庫存。 以前,具有這些值的產品在匯入後會顯示在店面上。
- CSV匯入不再忽略其他屬性的
dropdown
和textarea
值。 以前,這些屬性值在匯入期間不會更新。
- 產品匯出CSV檔案現在會如預期顯示在匯出CSV檔案的「管理員」清單中。 之前,應用程式在您執行此命令時擲回錯誤:
bin/magento queue:consumers:start exportProcessor --single-thread --max-messages=10000
。
- 匯入包含孟加拉文(孟加拉文)字母字元的CSV資料時,應用程式不再擲回錯誤。
- 現在,當管理員在匯入檔案期間按一下 檢查資料,且檔案在匯出後於Chrome中工作時已變更,應用程式會顯示資訊性錯誤訊息。 以前,應用程式顯示控制檯錯誤,但未告知使用者如何繼續。
- 若您多次匯入相同的產品CSV資料,應用程式就不會再重複產品影像。 GitHub-21885
- 已移除
vendor/magento/framework/File/Uploader.php
中影像檔案名稱的90個字元限制。 以前,目錄和檔案名稱的長度不能超過255個字元。 應用程式已匯入其檔案名稱超過此限制的影像產品,但未匯入影像檔案。 GitHub-29377
- 優惠券代碼現在可以成功匯出為CSV或XML。 先前,當您嘗試匯出優惠券時,應用程式在您按一下 匯出CSV 或 匯出XML 時顯示404錯誤。 GitHub-29277
- 現在匯入包含影像的CSV檔案後,會移除重複的產品影像。 GitHub-14398,GitHub-21885
索引
- 我們已改善部分索引器的效能。 應用程式現在會清除針對每個1000-ID批次反複專案變更的快取ID。 快取內容不再累積ID。 先前,快取內容累積快取ID用於每個1000-ID批次疊代,並清除每個疊代上的相同ID集。
- 已修正部分重新索引系統與完整重新索引系統之間的不一致。 現在,兩個索引系統都使用相同的程式碼,這可以正常運作。 先前,兩個索引系統對共用索引器使用不同的邏輯,這可能會導致每次執行部分重新索引系統後索引器失效。 GitHub-29478,GitHub-29297
-
我們已解決導致空白類別頁面或類別頁面上的產品計數減少的手動索引器的問題。 發生下列情況時,發生不完整的類別頁面或產品計數問題:
-
catalogsearch_fulltext
和catalog_product_price
部分索引子已在大型目錄上執行,直到這些索引子完成執行為止。 -
部分索引器是在
catalog_category_product
或catalog_product_category
索引上執行,同時在這些索引之一上執行完整重新索引。 這兩個索引程式可能會發生衝突,導致類別頁面中遺失產品。 -
bin/magento indexer:reindex inventory
已在大型目錄上執行。 在catalogsearch_fulltext
部分索引器完成執行之前,類別頁面中遺漏產品。
-
- 已將索引器新增至
Magento_Bulk
MySQL資料表,以改善大量作業的效能。
- 資料庫表格中的註解現在會在重新索引(
bin/magento indexer:reindex
)後正確反映表格狀態。 以前,重新索引後的表格註解包含的值與全新安裝後註解包含的值相同。
- 在實作MariaDB v.10.3.18的部署中,
SELECT entity_id IN
陳述式已改善,這已改善目錄類別索引的效能。 GitHub-25199
- Magento Open Source已藉由消除每個索引器例項多次清除標籤的作業來改善快取效能。 GitHub-29890
基礎架構
- 您現在可以使用
app/etc/env.php
將訊息代理程式從MYSQL變更為AMQP。
- 已在相關JavaScript資料庫中更正產品數量小數值的餘數計算問題。 應用程式先前錯誤地計算出超過兩位數的小數位數,隨後顯示不正確的訊息。
- 已棄用
\Magento\Authorization\Model\Rules::update
方法。 GitHub-29128
- 從UTC轉換日期物件時,應用程式不再擲回嚴重錯誤。 之前,在某些情況下,
convertConfigTimeToUtc
方法擲回例外狀況。 GitHub-29525
- 已在
DataObject
中將\Magento\MediaGalleryCatalogUi\Ui\Component\Listing\Columns\Thumbnail::prepareDataSource
取代為產品模型。GitHub-1711
RequireJS
解析程式不再無法偵測封鎖的資源。 以前,解析程式無法正確偵測頁面上的所有資源是否已正確載入或處理,且頁面仍持續載入。 GitHub-28116
- 屬性存放庫代碼驗證現在遵循
Magento\Eav\Model\Entity\Attribute::ATTRIBUTE_CODE_MAX_LENGTH
,而不是硬式編碼值。 GitHub-29017
- HTML縮制不再移除PHTML檔案中HTML字串的三斜線(https://experienceleague.adobe.com///?lang=zh-Hant)。 之前,在縮制期間,三重斜線會解譯為註解,而在部署時,會在產生的PHTML檔案中完全移除該行的其餘部分。
- 商戶現在可以在表格欄層級(而非表格層級)設定索引子訂閱。 已新增引數至
\Magento\Framework\Mview\View\Subscription
,以允許針對特定檢視或資料表組合忽略資料行。 GitHub-30243
- 在產品頁面JavaScript完全初始化之前按一下 新增到購物車 按鈕,不再導致重複的
form_key
值。 以前,產品可以透過觸發例外狀況的快取form_key
值新增到購物車。 當 加入購物車 在JavaScript完全初始化之前被點按,則表單資料中傳送的form_key
值與使用者工作階段不相符,而且產品未加入購物車。 GitHub-13746
- 目前的cURL使用者端現在會遵循不區分大小寫的標頭名稱。 以往,
Set-Cookie
比較是區分大小寫的,這可能會造成某些HTTP伺服器發生問題。 GitHub-29524
- 更新
api-functional
和測試案例XML檔案中的XSD URN格式。 GitHub-30552
- 已將事件字首與事件物件加入至目錄產品選項值集合,以改善
\Magento\Catalog\Model\ResourceModel\Product\Option\Value\Collection
之集合載入的自訂。 GitHub-29621
array_merge
的所有相符專案都已重構為使用編碼標準中建議的格式。 GitHub-30005
- 型別
head.additional
的\Magento\Framework\View\Element\Text\ListText
區塊已新增至adminhtml
default
配置(由magento2/module-base
)。 GitHub-29165
- 將遺漏的URL方法新增至版面配置範本模組Widget。 GitHub-30036
\Magento\Framework\Filesystem\Io\File::read()
方法現在與\Magento\Framework\Filesystem\Io\IoInterface::read()
相容。 GitHub-27866
卡拉納
- 移除對PayPal模組的相依性。 GitHub-29421
記錄
Magento_Logging
模組現在已正確登入新值以及之前的值。 先前,「變更前的值」欄中的值會顯示N/A的值,無論這是第一次變更還是下一次變更,也無論何時傳回預設值。 GitHub-26943
媒體集
- 管理員 商店 > 設定 > 進階 > 系統 頁面已更新,以顯示正確的產品名稱(媒體收藏館)。 包括對使用者介面的次要重新設計。 GitHub-1738
- Media Gallery影像說明的「使用位置」區段中的連結現在會顯示已如預期由選取的影像篩選的格線。 以前,顯示的網格標題不正確,清單專案不正確。 GitHub-1694
- 您現在可以在「媒體集」中成功編輯多個影像。 之前,將標籤新增至一個影像後,無法再新增標籤至第二個影像。 GitHub-1755
- 當您從「媒體集」中的影像移除標籤後,「標籤」下拉式功能表現在會如預期般呈現空白狀態。 GitHub-1703
- 現在支援批次處理Media Gallery同步佇列訊息。 GitHub-1724
- 在 增強型媒體集 停用時,當您嘗試開啟媒體集時,應用程式現在會依預期顯示404頁面。 GitHub-1760
- 如果發生例外狀況,
MediaGalleryMetadata
現在會略過區段讀取器,而是依預期剖析並顯示影像中繼資料。 先前,影像中繼資料是空的,因為exif_read_data
區段讀取器發生例外狀況。 GitHub-1782
- 資料夾名稱長度不再阻止影像上傳至「媒體集」。 媒體集現在將路徑欄設定為型別
text
。 GitHub-1778
- 現在當從「媒體集」插入轉譯時,影像上傳程式會顯示正確的影像大小。 GitHub-1806
- 路徑驗證已新增到
Mediagallery
上傳程式外掛程式。 先前,驗證失敗,而且在 啟用舊媒體集 停用時,應用程式未匯入產品。 GitHub-30649
-
已新增
Magento_Cms::media_gallery
個ACL子資源並強制用於新的媒體集,以支援下列分散式作業設定的許可權:- 上傳資產
- 將資產插入內容
- 刪除資產
- 建立資料夾
- 刪除資料夾。 GitHub-1487
- 不再裁切長Media Gallery文字字串和資料夾名稱。 以前,應用程式顯示裁切的文字和影像,並顯示此訊息:
We couldn't find any records
。 GitHub-1763,GitHub-1758
- 編輯新頁面的內容時,若未選取任何影像,應用程式就不會再顯示 新增選取專案 按鈕。 GitHub-1769
- 篩選器現在已如預期套用至 內容 > 媒體集 類別格線。 GitHub-1763
- Gallery現在會依預期使用多個中斷點選項組態。 先前,中斷點選項設定無法正常運作,因為
mediaCheck
在頁面載入時觸發了退出媒體查詢函式。 GitHub-29933
MFTF
- 以
CheckStaticBlocksTest
中的動作群組取代重複式動作。 GitHub-30561
AdminUpdateCategoryAndMakeInactiveTest
和VerifyChildCategoriesShouldNotIncludeInMenuTest
已重構以符合MFTF最佳實務。 GitHub-30058
- 已移除重複的
AdminOpenCMSBlocksGridActionGroup
。 GitHub-30896
- 已將
AdminOpentCmsBlockActionGroup
取代為AdminOpenCmsBlockActionGroup。 GitHub-29839
- 已棄用
GoToAttributeGridPageActionGroup
。 GitHub-30103
- 已將動作群組新增至
Analytics
模組。 GitHub-29500
- 更新
CheckCheckoutSuccessPageAsRegisterCustomerTest
和CheckCheckoutSuccessPageAsGuestTest
以在測試執行後取消建立的訂單。 GitHub-28324
- 已移除
AdminNavigateToPageGridActionGroup
,因為備援。 GitHub-29838
- 已實作
ActionGroup
以瀏覽至結帳頁面。 GitHub-29843
- 已實作
AdminOpenCreateNewCMSPageActionGroup
以導覽以建立新的CMS頁面。 GitHub-29824
- 已修正媒體集CMS頁面的MFTF測試中的略過問題。 GitHub-30164
新測試
- 新增在管理員中啟用電子郵件給朋友的測試。 GitHub-29145
- 新增管理員從網格中刪除CMS區塊的測試。 GitHub-30372
- 新增將購物車規則套用至單一套件專案的測試。 GitHub-28921
- 新增測試,以檢查刪除實體後是否顯示「媒體集」影像的 Used In 資訊。 GitHub-1774
新動作群組
-
AssertStorefrontCustomerLogoutSuccessPageActionGroup
。 GitHub-29841 -
AdminOpenConfigurationStoresPageActionGroup
。 GitHub-29848 -
ReloadPageActionGroup
。 GitHub-30683 -
StorefrontClickRefundTabCustomerOrderViewActionGroup
。 GitHub-30032 -
AdminOpenAdminThreeDSecurePageActionGroup
。 GitHub-29845 -
AdminCustomerClickFirstRowEditLinkActionGroup
。 GitHub-29501 -
StorefrontClickAddToCartButtonActionGroup
。 GitHub-29823 -
AdminDeleteTaxRateActionGroup
。 GitHub-29940 -
AdminOpenWebConfigurationPageActionGroup
。 GitHub-29846 -
AdminOpenGeneralConfigurationPageActionGroup
。 GitHub-29847 -
AdminOrderClickSubmitOrderActionGroup
。 GitHub-29649 -
AdminOpenCatalogProductPageActionGroup
。 GitHub-29941 -
AdminClickInvoiceButtonIntoOrderActionGroup
。 GitHub-25399 -
AdminGridBulkActionGroup
。 GitHub-28324 -
AdminGridColumnShowActionGroup
。 GitHub-28324 -
AdminOpenIndexManagementPageActionGroup
。 GitHub-29825 -
AdminOpenCatalogSearchTermIndexPageActionGroup
。 GitHub-29844 -
AdminClickAddProductToggleAndSelectProductTypeActionGroup
。 GitHub-30917 -
StorefrontCheckoutClickSaveAddressButtonActionGroup
。 GitHub-30916 -
AdminOpenCurrencyRatesPageActionGroup
。 GitHub-30783 -
AdminClickGetShippingMethodsAndRatesActionGroup
。 GitHub-30782 -
AdminSelectFixedShippingMethodActionGroup
。 GitHub-30782 -
StorefrontClickProceedToCheckoutActionGroup
。 GitHub-30926 -
StorefrontOpenMyAccountPageActionGroup
。 GitHub-29842
電子報
- 當客戶訂閱已排入佇列的Newsletter時,管理員使用者現在可以依預期編輯客戶帳戶。 GitHub-30645
- 如果購物者未確認其電子報訂閱,應用程式現在會重新傳送電子報訂閱確認。 GitHub-28422
- 當客戶訂閱已排入佇列的Newsletter時,您現在可以依預期編輯客戶帳戶。 GitHub-30645
付款方法
- 現在,所有網站的付款方法會如多商店部署所預期在Admin中載入。
- 當購物者的名稱包含重音字母時,應用程式現在會成功完成Payflow Pro付款。 先前付款未完成,應用程式記錄此錯誤:
report.CRITICAL: String to be escaped was not valid UTF-8 or could not be converted
。
PayPal
- 現在,從使用信用卡的付款方式切換為非信用卡付款方式後,商家可以成功向管理員下訂單。 先前,當商家按一下 提交訂單 按鈕時,載入程式會開始但從未完成,而且未下訂單。
- 使用PayPal Express下訂單時,應用程式不會再建立重複訂單。 先前,當購物者嘗試透過PayPal Express支付訂單,但PayPal傳回錯誤時,應用程式仍會建立訂單。 這會導致商家網站上出現重複訂單。 GitHub-13952
- PayPal結算報告現在可在 報告 > 銷售 > PayPal結算 正常取得。 之前,應用程式未在PayPal結算報表格線中列出這些報表,且會顯示下列訊息:
We couldn't find any records
。
- 結帳時按一下 PayPal 按鈕不再觸發備援
web-api
呼叫。 之前會觸發兩個請求,使得產品費用加倍。
- 當啟用 自動指派至客戶群組 時,訪客購物者現在可以下達PayPal訂單。 付款會在PayPal閘道處理,訂單會在Magento中建立,而購物者會看到訂單感謝頁面。 之前,訂單已在PayPal閘道成功處理,但訂單並非在Magento Open Source中建立。 購物者被重新導向至訂單檢閱頁面,應用程式顯示這個錯誤:
Failed address validation: %1" error
。 GitHub-25399
效能
module-catalog-import-export/Model/Import/Product/Option.php
中的效能問題已解決。 匯出或匯入超過100,000筆記錄所需的時間已縮短。 檢視大量產品選項的匯入/匯出所花的時間比預期長知識庫文章。
Magento_Csp/Model/BlockCache
已重新建構,以減少記憶體耗用量和產生不需要的大型快取字串。 以前,包含動態列入白名單的指令碼和樣式的頁面經常會因效能問題而發生問題。 GitHub-29964
- 針對使用消費者超過100,000種產品的目錄,我們已改善其排程匯出的效能。
- 當您新增或儲存已停用的產品至類別時,應用程式不再排清類別快取。 以前,應用程式不顧產品狀態仍會排清相關類別的快取,這會影響伺服器效能。
- 更新購物車中產品數量的頁面載入時間已改善。 以前,應用程式會針對購物車中的每個產品執行多個個別的查詢,這會增加頁面載入時間。
- 已將索引器新增至
Magento_Bulk
MySQL資料表,以改善大量作業的效能。
- 應用程式現在會快取可設定產品的子項ID。 藉由減少資料庫要求的數目,已改善頁面載入效能。 GitHub-30585
- 已改善管理員控制面板的載入作業。 以前,應用程式在頁面完成載入之前,以清單形式顯示索引標簽名稱。
- 透過為版面配置快取新增到期限制,改善了Redis快取管理。 以前,Redis在大型部署中會快速達到配置的最大記憶體,而應用程式會在寫入作業時擲回錯誤。
- 移除
app/code/Magento/Catalog/Model/CategoryLink.php
中的多餘資料庫查詢,已改善簽出效能。 GitHub-29453
Magento\Framework\DB\Adapter\Pdo\Mysql->isTableExists
已重構以改善效能。 減少對SHOW TABLE STATUS
的重複呼叫,以檢查資料表是否存在。 GitHub-29662
getPageLayoutsConfig
現在儲存在快取中,這已改善設定產生器的效能。 GitHub-29546
永久
- 啟用永久購物車時,購物者在其工作階段Cookie過期後無法再下訂單。 相反地,應用程式會顯示登入頁面,讓購物者可以登入。 之前,應用程式會下訂單。 當
PHPSESSID
過期時,應用程式未正確驗證永久客戶,且從永久資訊重新建立customerSession
。
- 當購物者登入已啟用永久購物車的商店後,應用程式現在會依預期顯示歡迎訊息。 以前,應用程式顯示 不是您?登入後 則訊息。
- 應用程式不再顯示 不是您嗎?當客戶登入已啟用永久購物車的部署時,選取 記住我 選項時出現 文字。
- 在客戶工作階段過期後,應用程式不再顯示客戶購物車的內容。 以前,當訪客客戶嘗試在啟用永久購物車時結帳時,應用程式會顯示此錯誤:
No such entity with cartid = 0
。
定價
- 連續的非同步價格更新不再互相干擾,而且會為每個作業指派正確的狀態。 先前,如果非同步價格更新失敗,則後續的所有非同步價格更新都會失敗,直到對應的佇列消費者重新啟動為止。 GitHub-27865
報表
- 報告 > 行銷 > 購物車中的產品 現在只會顯示正在產生報告之使用者允許範圍內的記錄。 以前,所有資料都可用於所有範圍。
- 在「購物車中的產品」報表中顯示產品貨幣時,應用程式現在會使用產生報表之商家角色範圍中指定的貨幣。
- 「最近檢視」和「最近比較」產品功能現在會在管理員中顯示不同商店和網站的統計資料,如同多商店部署中的預期。 以往,這些功能並未考慮所有商店或網站。
- 訂單報表中的價格現在使用正確的貨幣符號。
- 應用程式現在會在使用者按一下Admin儀表板 移至進階報告 按鈕時,驗證權杖是否存在。 如果Token存在,應用程式會顯示「進階報告」頁面。 如果未設定Token,應用程式會在使用手冊中顯示資訊頁面。 GitHub-25411
評論
- 當您按一下管理員 行銷 > 所有檢閱 上的 新增檢閱 按鈕時,新檢閱頁面現在會如預期載入。 按一下此頁面上的產品會開啟該產品預期的新檢閱表單。
- 當您嘗試從管理員 行銷 > 所有評論 編輯訂單時,應用程式不再擲回此錯誤:
Uncaught TypeError: Event.observe is not a function
。 GitHub-30388
銷售
order_created_at
的sales_shipment_grid
資料行現在會在每次更新後依預期更新。
- 您現在可以從已啟用 使用JavaScript行事曆 的商店中,成功重新訂購具有自訂選項日期的產品。 先前,當您嘗試重新排序時,應用程式沒有將專案加入購物車並顯示此錯誤:
Could not add the product with SKU "simp1" to the shopping cart: Please specify date required option(s).
- 當購物者結帳的訂單包含已啟用零小計結帳方法的部署中總成本為$0的虛擬產品時,應用程式不再立即關閉訂單。
- 應用程式在處理訂單前不再加以封存。 以前,管理員訂單格上的多選動作會影響未選取的訂單。
- 現在當沙烏地裡亞爾(SAR)設為基本貨幣時,銷退折讓單格線會顯示正確的貨幣符號。
- 應用程式現在會在結帳時,如預期在訂單頁面上一致地顯示送貨地址資訊。
total_qty
的值現在與銷售發票中total_qty_ordered
的值相符。
- 非同步傳送銷售電子郵件現在只會傳送上次更新日期後所建立訂單的電子郵件。 以往,啟用非同步傳送時,應用程式不會依日期篩選電子郵件。
- 現在,當管理員下訂單時,應用模組會依預期傳送發票電子郵件。
- 現在,當商家從管理員為客戶建立新訂單時,應用程式會在工作階段期間清除現有的訂單資料。
- 啟用 啟用自動指派至客戶群組 時,您現在可以變更透過管理員訂單建立之新客戶的客戶群組。 您也可以根據VAT驗證來指定客戶群組。 先前,驗證VAT編號時,請求物件沒有檢查指派的請求
group_id
。 依預設,它使用預設的group_id
。
- 當商家使用REST API建立部份出貨後,應用程式不再將狀態為
Suspected Fraud
的自訂訂單狀態變更為Processing
。
銷售規則
- 購物者變更送貨方式時,已根據送貨方式套用的優惠券代碼將不再套用。 以往,當購物者切換送貨方式時,應用程式不會清除優惠券代碼。
- 購物者套用優惠券代碼的頻率不能超過 每位客戶使用次數 設定許可。 先前,如果購物者開啟了多個瀏覽器視窗且同時下多張訂單,則每張訂單都會收到折扣,即使 每位客戶使用次數 設定的值為 1。
搜尋 search-heading
- 購物者搜尋搜尋同義字時,Elasticsearch不再擲回未知的修飾元錯誤。 先前,逸出在規則運算式中缺少逸出斜線符號,這會導致嚴重錯誤。
- 當子產品設定為可見度設定為 不個別顯示 時,進階搜尋不再傳回可設定產品的子項作為個別搜尋結果。
- 搜尋結果中的Elasticsearch產品名稱排序不再區分大小寫。
- 當在管理員 存放區 > 設定 > 目錄 > 目錄 > 目錄搜尋 中啟用 設定要快取的上層搜尋結果數目為0 設定時,搜尋結果頁面現在會如預期快取。
- 目錄搜尋索引子現在會執行,不會因為Elasticsearch欄位限制而擲回錯誤。 之前,應用程式擲回此錯誤:
Limit of total fields [xxx] in index [m24dev_product_1_v10] has been exceeded
。
- 目錄搜尋的效能已改善。 停用 啟用搜尋建議 (存放區 > 組態 > 目錄 > 目錄搜尋 )如預期般運作。 之前,應用程式查詢MySQL
search_query
表格而非Elasticsearch以取得自動完成搜尋建議。 GitHub-25534
- Elasticsearch現在會篩選與MySQL相同的產品價格。 在Elasticsearch索引中,欄位型別
price_*
已從float
變更為double
,以提高精確度並更正浮點錯誤。
- 已新增一個鍵值事件接聽程式至Admin,以便在輸入正斜線時啟動全域搜尋表單。 GitHub-29551
- 當使用
string
值來依具有integer
或decimal
後端型別的屬性篩選產品時,Elasticsearch不再擲回錯誤,而是不再如預期顯示產品。 以前,應用程式在exception.log
中顯示此錯誤:number format exception
。
-
當搜尋詞包含
/
時,Elasticsearch不再擲回例外狀況。 GitHub-25886,GitHub-25110 -
在一般類別許可權中的 不允許目錄搜尋依據 組態設定已啟用時,現在會依預期停用產品查詢中選取之客戶群組的搜尋。 GitHub-29927
- 搜尋結果不再包含相同字的多重引號。 GitHub-30104
送貨
- 當網路中斷中斷與DHL傳送方法的連線時,結帳程式不會再失敗。 應用程式改為顯示其他可用的送貨方法。 以前,當與DHL傳送的連線中斷時,結帳程式會停止,且應用程式會顯示此錯誤:
Sorry, no quotes are available for this order at this time
。 GitHub-29902
- 在管理員 商店 > 設定 > 銷售 > 傳遞方法 上描述UPS傳遞方法的欄位現在已如預期啟用。
- 透過POST
/rest/V1/shipment
端點建立的出貨現在可以正確更新訂單。 之前,應用程式已建立出貨,但出貨狀態仍維持在處理狀態。
- 使用「送至多個地址」結帳之前,若有其他產品從購物車移除,應用程式就不會再從購物車移除簡單產品。 GitHub-30259
- 「訂單複查」頁面現在會針對出貨至多個地址的訂單,依預期顯示出貨金額之前的稅捐金額。
- UPS出貨追蹤現在只有在已遞送包裹時,才會顯示
Delivered On
的狀態。 GitHub-30032
- 當購物者從多個地址結帳回到購物車時,應用程式現在會顯示包含虛擬產品之訂單的正確購物車小計。
- 啟用JavaScript套件組合時,商家現在可以從出貨頁面針對使用FedEx出貨的現有訂單建立出貨標籤。 以前,當商家按一下 建立送貨標籤 按鈕時,應用程式擲回錯誤。
- 傳送給客戶的出貨確認電子郵件中的出貨追蹤連結,現在可如預期運作。 之前,此連結會傳回404錯誤。
- 當購物者使用多個地址結帳,然後移除虛擬產品以外的所有產品時,應用程式現在會顯示資訊性錯誤訊息。 GitHub-25595
- 您現在可以依預期為部份訂單建立送貨標籤。 先前,當您嘗試為訂單中僅一個專案建立送貨標籤時,應用程式會將所有產品新增至封裝,而驗證失敗。 GitHub-29552
- 呼叫
/V1/guest-carts/:cartId/totals-information
時不再略過送貨方法的驗證。 GitHub-25147
Sitemap
cron
產生的網站地圖現在包含正確的影像URL。 先前,在多存放區部署中,產生的快取影像路徑不正確。
儲存
- 管理員和主要商店切換器現在會反映在管理員中對商店排序順序所做的變更。 GitHub-13401
- 應用程式現在會在商店檢視的頂層URL金鑰變更後,為類別和產品建立正確的URL。 先前,當存放區檢視的類別樹狀結構包含修改過的
url_keys
時,如果類別索引鍵並未變更,但類別父項的索引鍵有變更,則原始程式碼在建立URL時會使用類別的預設存放區檢視。 GitHub-28633
Target規則
- 已最佳化載入產品詳細資料頁面。 我們已新增資料庫表格的索引,這些索引可最佳化許多案例的目標規則條件查詢。
稅金
- 客體訂單上的VAT驗證不再導致應用模組以不正確的「客戶稅捐類別」儲存報價單。 GitHub-30018
- 現在當設定FPT時,可以在結帳期間儲存要運送到多個地址的訂單。 先前,完成多個地址的訂單後,應用程式會顯示一個空白頁面,而不是訂單成功頁面。
- 店面產品詳細資訊頁面現在會依預期顯示新舊價格(含稅或不含稅)。 GitHub-27500,GitHub-11998
測試
bin/magento dev:tests:run
現在會如預期啟動下列測試:全部、單位、整合、整合全部、靜態、靜態、完整性、舊版和預設。
AdminMediaGalleryInsertLargeImageFileSizeTest
已重構。
- 單元測試現在與PHPUnit 8相容。 GitHub-29779
\Magento\TestFramework\TestCase\WebapiAbstract
現在包含支援比較測試中預期和實際結果的大型巢狀陣列的函式。 結果中的無關索引鍵現在可以忽略。 GitHub-29498
AdminMediaGalleryCatalogUiEditCategoryGridPageTest
不再隨機失敗。 GitHub-1764
dev/tests/integration/testsuite/Magento/Customer/Controller/AccountTest
已改善。 (assert
現在以XPath
選擇器為基礎,而非assertStringContainsString
。) GitHub-29700
- 已新增
AdminAnalytics
模組的測試涵蓋範圍。 GitHub-29500
- 整合和API功能測試現在與PHPUnit 9.3相容。GitHub-30146
- 已修正GraphQL
testRequestCacheTagsForCategoryListOnMultipleIds
測試的問題。 GitHub-29372
- 現在已在
ApiFunctional TestFramework
中正確剖析包含URL的標頭值。 GitHub-26425
- 已修正GraphQL
testRequestCacheTagsForCategoryListOnMultipleIds
測試的問題。 GitHub-29372
—no-tablespaces
已新增至mysqldump
的所有專案,允許執行整合測試而不使用PROCESS
許可權(自MySQL 5.7.31 / 8.0.21預設為執行mysqldump
以來為必要)。 GitHub-30566
主題
- 已新增新的
--no-parent
旗標至bin/magento setup:static-content:deploy
命令,以防止編譯佈景主題的父系。 這個新標幟可避免不必要的編譯,進而大幅提升靜態內容部署程式的效能。 請注意,使用compact
策略時,這個新標幟無法運作。 GitHub-30184
- 設計設定不再產生DDL作業。 先前,當更新設計組態時,應用程式會產生可能觸發MySQL錯誤的DDL敘述句。
- 已移除管理員主題中
Magento_ConfigurableProduct
模組中的備援程式碼。 GitHub-29857
- 已移除多餘的少樣式導覽和空白主題中未使用的屬性。 GitHub-29914
- 在行動檢視的空白主題中新增可摺疊的導覽功能。 GitHub-30237
- 已最佳化主題的Web字型載入。 GitHub-29526
- 開發人員現在可以在佈景主題中宣告自訂字型時,指定字型型別。 GitHub-29719
翻譯與地區設定
- 當Admin地區設定為阿拉伯文(
ar_SA - Saudi Arabia
)時,[Admin Orders]網格[日期選擇器]現在會如預期般運作。
- 當購物者在註冊或新增新地址時,應用程式不再顯示錯誤訊息,而是以有效的郵遞區號輸入阿根廷地址。 以前,應用程式顯示這個錯誤:
Provided Zip/Postal Code seems to be invalid. Example: 1234. If you believe it is the right one you can ignore this notice.
- 當購物者輸入韓文地址的五位數郵遞區號時,應用程式不會再擲回錯誤。
- 新增對ISO 3166-2:UY所定義的烏拉圭地區的支援。 GitHub-29729
zip_codes.xml
已更新,強制執行巴西郵遞區號的八位數。 GitHub-29984
- 改善剩餘未當地語系化片語的本地化。 GitHub-11175
- 現在可以翻譯格線搜尋輸入預留位置。 GitHub-30510
- 應用程式現在只會在內嵌翻譯JavaScript模組啟用時下載這些模組。 GitHub-29553
UI
- 當購物者輸入無效資料時,「建立新帳戶」頁面上的「建立帳戶」按鈕會保持作用中。 此按鈕先前已停用,可防止購物者在發生錯誤後重新嘗試建立帳戶。 這是2.4.1中的已知問題。GitHub-30513
- 改善「管理訂單編輯」頁面上的出貨格線載入功能。
- 當產品已由SKU新增到購物車時,應用程式現在會在訂單頁面上按預期顯示 與帳單地址相同 核取方塊。
- 定義有限寬度的CSS類別現在會依預期套用至管理員 存放區 > 組態 > 目錄 > XML Sitemap > 產生設定 上的 開始時間 欄位。 GitHub-29496
- 修正條款與條件核取方塊標籤的顯示問題。 GitHub-24060
- 無法使用層級價格時,應用程式不再於產品頁面上顯示層級價格區塊的CSS程式碼。 GitHub-29194
- 影像檢視詳細資訊頁面上的按鈕位置已重新排序,以符合使用者介面准則。 GitHub-1783
- 抵用券代碼文字欄位現在在Internet Explorer/EDGE瀏覽器中以適當的寬度顯示。
@button__border-radius
變數現在已在lib/web/css/source/lib/variables/_buttons.less
資料庫中定義。border-radius
的預設值為3px
。 之前,border-radius
是硬式編碼。 GitHub-28674
- 現在,在達到最小搜尋字串長度之前,迷你搜尋欄位中的提交搜尋按鈕(放大鏡)會停用。 GitHub-29704
- 預覽範本 按鈕現在可在「編輯佇列」頁面中如預期般運作。
- 現在,將屬性從一個群組移動到另一個群組時,應用程式會保留屬性值。
- 已新增字型粗細量變數至
lib/web/css/source/lib/variables/_typography.less
。 GitHub-29778
- 篩選器可見度現在可與管理網格中預期的欄可見度搭配使用。 GitHub-30345
- 設定
this.disabled(true)
時,UI選取元件選項不再可見。 GitHub-29098
- 載入Open Sans字型時不再使用
@font-family-name__base
變數。 GitHub-29515
- WAI-ARIA屬性
aria-atomic="true"
已新增至錯誤容器標籤。 GitHub-29560
- UI元件網格現在會顯示所選專案的準確計數。 先前,當依關鍵字搜尋選取了所有格點專案,而購物者隨後在選取標題核取方塊之前取消選取了某些專案時,格點會指出錯誤的選取次數。 GitHub-29968
- 應用模組不再於發票與出貨概觀頁面上顯示未轉譯的HTML。 GitHub-29958
- 按一下Admin 商店 > 匯率 上的 選項,現在會將使用者導向至系統設定頁面的擴充貨幣選項區段。 GitHub-29336
- 改善對於在使用選擇器Widget型別時,根據
adminhtml
個Widget的其他條件來顯示Widget的支援。 GitHub-13316,GitHub-7252,GitHub-6868
- 改善Luma主題中確認快顯對話方塊的文字邊框間距。 GitHub-30452
儲存庫
Vault
模組現在會從付款資訊管理服務的要求中辨識付款方式代碼。 先前,當購物者使用儲存的Braintree信用卡下訂單時,即使使用有效的付款方式,應用程式也會擲回此錯誤:The requested Payment Method is not available
。
- 當使用者捲動時,應用程式在「以客戶身分登入」頁面上顯示的橫幅現在會維持在頁面頂端。 GitHub-29354
頂點
-
修改地址時,現在會依預期移除地址建議。
-
有些客戶無法將其地址儲存在帳戶面板中的競爭條件已解決。
-
在某些情況下,頂點位址驗證不再將「位址編輯」頁面新增至全頁快取。
-
當免運費設定為包含稅捐的金額時,現在會考量頂點計算的稅捐。
Web API框架
- 您現在可以使用POST
V1/invoice/:invoiceId/refund
,退款產品數量為零且運費為零的發票(例如,{"items": [{"qty": 0, "orderItemId": 6, "extensionAttributes": {}}], "appendComment": false, "notify": true, "isOnline": true, "arguments": {"adjustment_negative": 0.0, "adjustment_positive": 0.99, "shipping_amount": 0}}.
)。之前,應用程式擲回此錯誤:You can't create a creditmemo without products
。 GitHub-23069
- 您現在可以使用POST
V1/categories
來建立或更新類別。 以前,如果將default_sort_by
值設定為陣列,應用程式不會儲存值。 當default_sort_by
值設定為字串時,應用程式擲回此錯誤:Error occurred during \"custom_attributes\" processing. Attribute \"default_sort_by\" has invalid value. The \"string\" value's type is invalid. The \"string[]\" type was expected. Verify and try again.
- 使用POST
V1/invoices/:id/capture
擷取付款資訊現在可如預期運作。 以前,應用模組會授權訂單,但只會在付款閘道的網站上擷取訂單。
- 當您使用POST
V1/order/:orderId/ship
建立部份出貨時,端點會傳回正確數目的出貨產品。
- 使用POST
V1/order/:orderID/invoice
建立的商業發票現在可以正確反映商店信用額度所支付的部分款項。 先前,當部份訂單付款給含商店信用額的訂單時,建立發票時不會將商店信用額列入考量。
- GET
rest/all/V1/categories
和GETrest/all/V1/categories?rootCategoryId=2
呼叫現在會如預期傳回樹狀結構中所有類別的name
和product_count
欄位。 之前,類別欄位值是空的。 資料表名稱解析程式外掛程式傳回不正確的資料表名稱,無法依類別擷取產品計數。
- 提供
V1/categories/:id
自訂屬性時,PUTsave_rewrites_history
端點現在會儲存類別URL金鑰建立301重新導向所需的資料。 GitHub-29174,GitHub-30240
願望清單
- 當產品被指派給自訂庫存來源時,購物者現在可以將產品新增到願望清單。 GitHub-3018
- 客戶從店面將產品新增至其願望清單後,管理員現在可以從管理員客戶頁面存取管理購物車頁面。 以前,當管理員按一下 管理購物車 按鈕時,應用程式會顯示下列錯誤:
An error has occurred. See error log for details
。
- 共用願望清單頁面上的 加入購物車 按鈕現在可如預期運作,適用於未登入的匿名、來賓和使用者。
- 應用程式現在會依預期在願望清單頁面中顯示選取的可設定產品屬性選項。 GitHub-24091,GitHub-22503
- 已為
ActionInterface
實作\Magento\Wishlist\Controller\Shared\Allcart
。 GitHub-29537
已知問題
問題: [magento_root]/index.php
檔案已移除,Apache設定預設會從/pub
執行應用程式。 從子資料夾提供的存放區將無法如預期運作,並可能顯示404錯誤。 因應措施:使用symlink將安裝模擬至子資料夾。 下列範例使用https://shop01.com/shop/
說明如何使用symlink來模擬子資料夾中的安裝。
-
建立
https://shop01.com/shop/
的子目錄:code language-bash mkdir magento_root/pub/shop01
code language-bash cd magento_root/pub/shop01
-
在新建立的目錄中建立存放區父目錄的符號連結:
code language-bash ln -s ../media media
code language-bash ln -s ../static static
code language-bash ln -s ../../../pub pub
code language-bash ln -s ../.htaccess .htaccess
code language-bash ln -s ../health_check.php health_check.php
-
在新目錄(
index.php
)中建立magento_root/pub/shop01/index.php
檔案,並新增此內容:
<?php
require realpath(__DIR__) . '/../../../app/bootstrap.php';
switch ($_SERVER['HTTP_HOST']) {
case 'shop01.com':
case 'www.shop01.com':
$params = $_SERVER;
$params[\Magento\Store\Model\StoreManager::PARAM_RUN_CODE] = 'shop01';
$params[\Magento\Store\Model\StoreManager::PARAM_RUN_TYPE] = 'website';
$bootstrap = \Magento\Framework\App\Bootstrap::create(BP, $params);
$app = $bootstrap->createApplication(\Magento\Framework\App\Http::class);
$bootstrap->run($app);
break;
default:
$bootstrap = \Magento\Framework\App\Bootstrap::create(BP, $_SERVER);
/** @var \Magento\Framework\App\Http $app */
$app = $bootstrap->createApplication(\Magento\Framework\App\Http::class);
$bootstrap->run($app);
break;
}
- 將Apache伺服器設定為指向新的子目錄。 部署設定可能大不相同。 以下是伺服器設定的範例:
<VirtualHost *:80>
DocumentRoot "magento_root/pub/shop1"
ServerName shop01.com
</VirtualHost>
問題:當購物者先在[付款]頁面的[驗證碼]欄位中輸入正確的程式碼時,應用程式未如預期提交付款資訊,但會顯示此錯誤: There has been an error processing your request
。 只有當購物者嘗試下訂單而未輸入驗證碼或輸入錯誤時,才會發生這種情況。 因應措施:重新整理頁面。
問題:當購物者按一下 使用Venmo 付款,但未在Admin中建立訂單時,應用程式會在Braintree中建立訂單。 請參閱2.4.2已知問題: Braintree Venmo付款無法運作知識庫文章。
問題:您無法在執行詳細目錄的多重存放區部署中,使用addConfigurableProductToCart
GraphQL突變將可設定產品新增到非預設存放區檢視中的購物車。 (Luma店面不受影響。)應用程式顯示這個錯誤: Could not add item to cart. Please check required options and try again
。 因應措施:改用addProductsToCart
突變。 GitHub-31660
社群貢獻
我們感謝更廣泛的Magento Open Source社群,並感謝他們為此版本所作出的貢獻。
社群工程團隊Magento貢獻者會依月份、季度和年度維護最佳貢獻個人和合作夥伴的清單。 從該貢獻者頁面,您可以前往GitHub上的合併個人資料連結。
合作夥伴貢獻
下表重點說明合作夥伴所做的貢獻。 下表列出提出提取請求的合作夥伴、外部提取請求,以及與之相關聯的GitHub問題編號(若有)。

個人貢獻者
下表列出我們社群成員的貢獻。 此表格列出外部提取請求、與其相關聯的GitHub問題編號(如果有的話),以及提出提取請求的社群成員。
系統需求
我們的技術棧疊是以PHP和MySQL為基礎所建置。 如需詳細資訊,請參閱系統需求。
安裝和升級指示
您可以使用撰寫器安裝Magento Open Source 2.4.2。
移轉工具套件
資料移轉工具可協助將現有Magento 1.x存放區資料傳輸至Magento 2.x。此命令列介麵包含驗證、進度追蹤、記錄和測試功能。 如需安裝指示,請參閱安裝資料移轉工具。 請考慮探索或參與資料移轉存放庫。
程式碼移轉工具組可協助將現有的Magento 1.x存放區擴充功能和自訂功能傳輸至Magento 2.x。命令列介麵包含轉換Magento 1.x模組和版面的指令碼。