其他安全性增強功能

此版本的安全性改善包括:

  • 所有核心Cookie現在都支援SameSite屬性。

  • 當使用者嘗試儲存產品和類別說明欄位中的值時,應用程式現在會顯示可識別潛在惡意內容的訊息。

  • 跨元件的檔案系統作業已標準化並強化,以防止惡意上傳。

  • 已修正核心內容安全性原則(CSP)違規。

注意
從2.3.2版開始,我們將指派並發佈索引式常見漏洞和暴露(CVE)編號,其中會包含外部各方回報給我們的每個安全性錯誤。 這可讓使用者更輕鬆地識別其部署中未解決的漏洞。 您可以在CVE進一步瞭解CVE識別碼。

基礎架構改良

此版本包含核心品質的增強功能,可改善「架構」的品質以及下列功能區域:客戶帳戶、目錄、CMS、OMS、匯入/匯出、促銷活動和鎖定目標,以及購物車和結帳。

平台增強功能

  • 現在支援Elasticsearch7.9.x。 雖然我們建議您執行Elasticsearch7.9.x,但2.4.x版仍與Elasticsearch7.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屬性新增至ProductInterfaceCategoryInterface,以判斷產品是否已暫存,並檢視其相關的行銷活動資訊。

如需這些增強功能的詳細資訊,請參閱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部署。 之前,在升級期間新增row_id的所有資料表的AUTO_INCREMENT值回覆為初始值時,應用程式擲回例外狀況。
  • 如果執行bin/magento/setup:db:generate-patch時發生錯誤,應用程式現在會顯示錯誤訊息,以識別用來建立修補程式的路徑。 GitHub-27523
  • 執行bin/magento/setup:upgrade後,block_htmlfull_pagelayout快取現在如預期般停用。 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 errorGitHub-30685
  • 您現在可以從命令列如預期地設定YouTube API金鑰。 先前,應用程式在您嘗試執行bin/magento config:sensitive:set catalog/product_video/youtube_api_key時傳回此錯誤: There are no sensitive configurations to fill
  • 應用程式現在會遵循queue_consumer.xml中定義的maxMessages值。 以前,應用程式僅使用部署設定值。 GitHub-29522
  • 使用bin/magento setup:config:import建立存放區時,新存放區的URL產生現在可如預期運作。 之前,生產環境中不會產生URL重寫。 GitHub-30025
  • 當您在安裝Magento Open Source後嘗試使用ssh容器變更backend-frontname時,應用程式不再擲回錯誤。 GitHub-26762
  • 當您執行bin/magento setup:install以連線到現有的資料庫時,應用程式不再顯示此問題: Overwrite the existing configuration for db-ssl-verify?[Y/n]GitHub-29612

Adobe Stock整合

  • 新增讀取exif_image.pngexif-image.jpeg中繼資料的支援。 GitHub-1449
  • 按一下「媒體集」的「預設檢視」書籤時顯示的內容不再經過篩選。 以前,預設檢視包含從url-filter套用程式套用的篩選器。 GitHub-1813GitHub-1789GitHub-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要求的反斜線逸出,而不是以其他雙引號逸出。
  • 現在,使用預設或非預設連線埠連線到env.php中的MySQL時,analytics_collect_data作業會順利執行。 以前,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 productsGitHub-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 requestGitHub-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
  • 已解決店面的產品排序順序問題。 先前,當應用程式將產品價格編列索引時,它偶爾會在catalog_product_index_price資料表中將可設定產品的min_pricemax_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
  • 當商家在類別中新增或移除已停用的產品時,應用程式不再刷新類別快取。 之前,應用程式會針對相關類別排清快取,無論產品狀態為何。 儲存類別時也會取消指派類別,導致清除類別快取。
  • 所有商店檢視 ​範圍內的目錄產品篩選現在可以正常運作。 先前,篩選功能只顯示啟用或停用的產品時,格線中會顯示狀態為EnabledDisabled的產品。
  • 部分重新索引不再導致遺漏產品和空白類別。
  • 重新排序現在可在​ 使用JavaScript行事曆 ​啟用(商店 > 組態 > 目錄 > 日期與時間自訂選項)時如預期般運作。 先前,啟用此設定時,當您嘗試從管理員重新排序先前下單的訂單時,應用程式會顯示此錯誤: Please specify date required option(s)
  • 應用程式現在會在建立層級價格期間,在多網站部署中顯示正確的貨幣。
  • 產品影像自訂屬性現已正確逸出。 data-src屬性如預期具有與src屬性相同的值。 之前,URL特殊符號會逸出。
  • 透過REST API更新類別時,不再停用[啟用類別]、[包含在功能表中]和[URL金鑰]屬性上的​ 使用預設值 ​設定。
  • 儲存類別現在只會排清與此類別相關的區塊快取。 之前,應用程式會排清所有類別區塊的快取。
  • 具有百分比價格的自訂選項價格,現在會在多商店部署中,依預期轉換為作用中商店的基本貨幣。 以往,具有百分比價格的自訂選項的價格轉換不正確。 GitHub-26432
  • 應用程式現在已成功重新建立影像,當商家使用POSTrest/all/V1/products傳送媒體集資料時,這些影像會如預期在「管理員」中顯示。 以前,如果影像在pub/media中被刪除,但媒體中的記錄仍然包含這些影像的記錄,當商家透過POSTrest/all/V1/products傳送媒體集資料時,應用程式會重新建立這些影像,但會刪除這些影像。 因此,商家在「管理員」中只看到預留位置,因為影像是在更新過程中建立和刪除的。
  • 現在當您從網站取消指派專案時,會如預期刪除記錄。 先前,執行POSTrest/all/V1/products時會複製影像。
  • /V1/categories/{categoryId}/products呼叫現在會如預期傳回屬於父類別的所有產品清單。 先前,如果產品屬於父類別的多個子類別,應用程式會擲回此型別的錯誤: Internal Error. Details are available in the application log file. Report ID: webapi-5f8579e37db54GitHub-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
  • 已在\Magento\Framework\Filter\Template\Tokenizer\Parameter中將rl更正為urlGitHub-29185

程式碼清理

  • 已從​ 系統 > 匯入 ​頁面的[檢查資料]訊息區域移除多餘的HTML<br>標籤。
  • AccessChangeQuoteControl及其單元測試已重構。 GitHub-29672
  • 修正app/code/Magento/Captcha/CustomerData/Captcha.php中傳回型別宣告的程式碼樣式。 GitHub-29712
  • 修正「新增屬性」頁面上按鈕清單的位置。
  • 已為\Magento\Framework\View\Element\Template類別的前端viewModel參考範例新增正確的區塊類別。 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
  • EntityAbstract.php中將@param string $attribute變更為@param AbstractAttribute|string[]|string $attributeGitHub-30191
  • 無效的標籤(例如@package@subpackage)已從整個程式碼基底的Docblock中移除。 GitHub-30061
  • 已移除AdvancedPricing類別建構中未使用的引數。 GitHub-29531

可設定的產品

  • 依價格篩選沒有庫存的可設定產品現在會顯示正確價格範圍內的結果。
  • 當虛擬產品的狀態從啟用變更為停用時(反之亦然),虛擬產品不再變更型別。 先前,應用程式會在產品狀態變更時,將產品型別從虛擬變更為簡單。
  • 更新購物車時,getValue()方法不再觸發嚴重錯誤。
  • 可在多個網站上取得的可設定產品不再顯示未指派給特定網站的簡單子產品。 GitHub-28291
  • Storefront產品頁面現在會如預期顯示層級價格(不含稅)。 GitHub-12225
  • 可設定產品的MSRP價格現在可正確轉換為選擇的貨幣。 以前,應用程式以錯誤的貨幣顯示價格,並擲回此錯誤: Call to a member function setAppliedTaxes() on nullGitHub-26526GitHub-29603
  • 商戶現在可以儲存特定商店文字色票屬性選項標籤,其值為0 (零)。 之前,0值會由管理員標籤選項值取代。 GitHub-30073

cron

  • 系統訊息清單現在會在cron執行後正確反映產品更新,且應用程式已依排程更新產品。
  • 基於schedule_idstatus的索引已新增到cron_schedule資料表。 GitHub-29601

自訂客戶屬性

  • 建立後,應用程式現在會在[帳戶資訊]頁面上顯示file型別的客戶屬性。 先前,當您嘗試儲存此型別的新屬性時,應用程式會顯示下列錯誤: The "newAttribute" attribute value is empty. Set the attribute and try againValidation is failed
  • 應用程式現在可以正確顯示多行自訂客戶屬性值。 以前並非所有資料都會顯示。
  • 現在,當購物者在建立帳戶時輸入無效的出生日期時,應用程式會提醒他們。 之前,驗證器會忽略地區設定設定,而購物者會重新導向至建立新客戶帳戶頁面,且出現無效的日期錯誤。
  • 自訂地址屬性現在已如預期包含在結帳工作流程的付款步驟中。
  • 自訂地址多重選取屬性現在會在來賓結帳期間以及管理員和我的帳戶訂單詳細資訊頁面上正確顯示。
  • Input Type設為TextInput 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的自訂屬性現在會使用預設值。

電子郵件

  • 未在toOptionArray()之前呼叫setPath()時,\Magento\Config\Model\Config\Source\Email\Template::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

    • 已移除多餘的程式碼

    • isSetFlag取代(bool)->getValue()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_typetype_id程式碼的產品屬性以提供更清楚的描述時,應用程式現在會顯示更清楚的錯誤訊息。 GitHub-28479
  • 已更正「管理員​ 商店 > 設定 > 服務 > OAuth」頁面上​ 客戶權杖存留期(小時) ​及​ 管理員權杖存留期(小時) ​欄位的驗證邏輯。 GitHub-29502
  • 應用程式現在可正確剖析Widget內容欄位中包含}}的文字。 GitHub-12087
  • 您現在可以從產品類別頁面中移除篩選器。 先前,當您嘗試刪除篩選器時,應用程式不允許您移除篩選器並顯示此錯誤: Something went wrongGitHub-8538
  • 當選擇性模組Magento_MessageQueue停用時,Magento\Framework\MessageQueue\ConfigInterface現在可以具現化。 之前,應用程式擲回此錯誤: 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:121GitHub-26080
  • 已改善判斷應用程式何時可從永久儲存裝置擷取電子郵件值的邏輯。 先前,當未註冊的使用者在第一次完成電子郵件欄位後返回簽出頁面時,應用程式會在簽出頁面上顯示填入的密碼欄位。 GitHub-26903
  • 已新增遺失的aclResource屬性至Admin標頭AdminNotification工具列區塊。 以前,即使管理員使用者沒有檢視它的角色資源許可權,也可以看到管理員通知工具列專案。 GitHub-29067
  • framework/database/select where函式現在可以正確處理typeGitHub-29590
  • 在整個程式碼基底中,改善了在回圈中使用array_merge的效率低,這改善了多個位置(包括靜態內容部署程式中)的效能。 GitHub-30183
  • 預設的管理員工作階段存留期已從加密模組移至安全性模組。 GitHub-30859
  • 應用程式現在會檢查類別中的私用常數,並在有任何static::呼叫時顯示警告。 之前,應用程式擲回此錯誤: Undefined class constant
  • 新增錯誤頁面和維護模式中符號連結root的支援。 先前,如果rootmagento/pub已符號連結至不同的目錄,則錯誤處理器(Magento\Framework\Error\Processor)不會產生正確的檢視檔案URL。 GitHub-30296
  • 已將遺失的order_data陣列新增至EmailSender類別。 這使得這些類別符合Magento的建議,即使用純量變數而不是電子郵件範本中的物件。 GitHub-29604