Magento Open Source 2.4.3發行說明
建立對象:
- 經驗豐富
- 管理員
- 開發人員
Magento Open Source2.4.3引進了效能與安全性的增強功能,以及重大的平台改良。 安全性增強功能包括擴充reCAPTCHA涵蓋範圍及納入內建速率限制。 核心撰寫器相依性和協力廠商程式庫已升級至與PHP 8.x相容的最新版本。Page Builder現在可作為Magento Open Source中的套件擴充功能使用。 現在是Adobe Commerce和Magento Open Source的預設內容編輯工具。
此版本包含370多項核心程式碼的新修正及33項安全性增強功能。 其中包括由我們的社群成員解決近290個GitHub問題。 這些社群貢獻的內容包括核心程式碼的少量清理,以及GraphQL中的重大增強功能。
此版本包含370多項核心程式碼的新修正及33項安全性增強功能。 Magento Open Source 2.4.2發行說明中確認的所有已知問題已在本版本中修正。
如需Adobe Commerce 2.4.2-p2的相關資訊,請參閱Adobe Commerce 2.4.2-p2發行說明。
其他發行資訊
雖然這些功能的程式碼隨季度發行捆綁,但其中幾個專案(例如Progressive Web Application (PWA) Studio)也獨立發行。 這些專案的錯誤修正記錄在每個專案檔案中提供的個別專案特定發行資訊中。
套用AC-3022.patch
以繼續提供DHL作為運送承運商
DHL已匯入schema 6.2版,並將在不久的未來淘汰schema 6.0版。 支援DHL整合的Adobe Commerce 2.4.4及舊版僅支援6.0版。部署這些版本的商戶應儘早套用AC-3022.patch
,以繼續提供DHL作為運送承運商。 請參閱套用修補程式,以繼續提供DHL作為運送業者知識庫文章,以取得有關下載和安裝修補程式的資訊。
套用MC-43048__set_rate_limits__2.4.3.patch以解決API速率限制問題
此Hotfix針對Web API無法處理陣列中包含超過20個專案的請求問題提供解決方案。 此問題會影響執行Magento Open Source2.4.3、Adobe Commerce 2.4.3或2.3.7-p1的部署。 在這些版本中新增內建速率限制,以防止拒絕服務(DoS)攻擊,且預設上限設為20。 此修補程式將預設限制回覆為較高的值。 如果您懷疑您的存放區遭受DoS攻擊,Adobe建議將預設輸入限制降低至較低的值,以限制可要求的資源數目。 檢視Web API無法處理陣列知識庫文章中超過20個專案的要求。
套用AC-384__Fix_Incompatible_PHP_Method__2.4.3_ce.patch以解決升級時發生的PHP嚴重錯誤
升級至Magento Open Source2.4.3期間可能會發生下列嚴重錯誤:
PHP Fatal error: Uncaught Error: Call to undefined function Magento\Framework\Filesystem\Directory\str_contains() in [...]/magento/vendor/magento/framework/Filesystem/Directory/DenyListPathValidator.php:74
此錯誤是因為使用str_contains
函式所造成,該函式是PHP 8.x函式。 應用程式Open Source 2.4.3不支援PHP 8.x。此Hotfix會以支援的PHP 7.x函式取代此函式。 請參閱Adobe Commerce升級2.4.3、2.3.7-p1 PHP嚴重錯誤Hotfix知識庫文章。
反白顯示
請檢視此版本中的下列重點專案。
大幅增強安全性
此版本包含33項安全性修正和平台安全性改善。 其中許多安全性修正已反向移植至2.4.2-p2和2.3.7-p1。
協助關閉遠端程式碼執行(RCE)和跨網站指令碼(XSS)弱點的33項安全性增強功能
目前尚未發生與這些問題相關的已確認攻擊。 但是,某些漏洞可能會被用來存取客戶資訊或接管管理員工作階段。 這些問題大多需要攻擊者先取得Admin的存取權。 因此,我們提醒您採取一切必要步驟來保護您的管理員,包括但不限於:IP允許清單、雙因素驗證、使用VPN、使用唯一位置而非/admin
以及良好的密碼衛生。 如需這些已修正問題的討論,請參閱Adobe安全性公告。
其他安全性增強功能
此版本的安全性改善專案可改善對最新安全性最佳實務的合規性,包括:
-
新的Composer外掛程式 有助於防止相依性混淆,並識別與公用套件存放庫上的內部套件具有相同名稱的惡意套件。 請參閱Adobe發行包含2.4.3版部落格的新撰寫器外掛程式。
-
現已內建於API,以防止拒絕服務(DoS)攻擊。 Web API現在會限制使用者端可請求的資源大小或數量(預設上限設為20,並可根據業務需求設定為不同的值)。 請參閱速率限制,以取得設定這些限制的資訊。
-
ReCAPTCHA涵蓋範圍已延伸 以包含:
-
擁有對應HTML頁面的網頁API會透過ReCAPTCHA涵蓋。 (這不包括透過整合存取的網頁API。) ReCAPTCHA涵蓋範圍可保護端點不受垃圾郵件攻擊。 當使用OAuth的協力廠商整合服務存取Web API時,ReCAPTCHA會停用。
-
下單店面頁面和付款相關網頁API。 預設會停用這些頁面的ReCAPTCHA保護,並可從管理員啟用。 此涵蓋範圍新增了反暴力機制,可保護存放區免受梳理攻擊。
-
基礎架構改良
此版本包含可改善框架品質的增強功能,以及下列功能區域:
-
客戶帳戶
-
目錄
-
CMS
-
OMS
-
匯入/匯出
-
促銷活動和目標定位
-
購物車與結帳
-
B2B
-
測試和預覽
包含PayPal的部署現在支援 PayPal Pay Later。 此功能可讓購物者以雙週分期付款的方式支付訂單,而不需在購買時支付全額。
新use_application_lock
索引模式。 use_application_lock
模式可讓您透過使用環境變數或透過設定app/etc/env.php
檔案來啟用重新索引。 啟用此模式後,您就不需要在失敗後手動重設索引器。 請參閱使用應用程式鎖定模式重新索引處理序。
平台增強功能
2.4.3版尚未與PHP 8.x相容,但後續的平台升級使我們更接近未來與PHP 8.x的相容性。
-
核心撰寫器相依性和協力廠商程式庫已升級至與PHP 8.x相容的最新版本。
-
KnokoutJS資料庫已升級至v3.5.1 (最新版本)。
-
已遭取代的TinyMCE v3程式庫已移除。 與TinyMCE v3.x相關的
Magento_Tinymce3Banner
模組和MFTF測試已從Adobe Commerce中移除。 -
Magento Open Source2.4.3已經過測試,並已確認與Redis 6.0.12相容。 (版本2.4.x仍與Redis 5.x相容。)
-
Laminas程式庫相依性已升級為PHP 8.x相容版本。 已從
composer.json
檔案中移除部分多餘的相依性。 Magento Open Source2.4.3使用Laminas 3.4.0。
效能增強功能
此版本包含增強功能,可縮短產品價格和目錄規則索引器的索引時間。 商戶現在可以從客戶群組或共用目錄中排除網站,這減少了索引的記錄數量,並縮短了索引時間。
Adobe Stock整合
此版本包含Adobe Stock整合v2.1.1。
GraphQL
此版本新增共用路由的GraphQL涵蓋範圍。 路由查詢和RoutableInterface支援產品、類別和CMS頁面上的路由要求。 urlResolver
查詢已過時,其功能已由route
查詢取代。
如需這些增強功能的詳細資訊,請參閱GraphQL開發人員指南。
頁面產生器
Page Builder現在可作為Magento Open Source中的套件擴充功能使用。 它現在是Adobe Commerce 2.4.3和Magento Open Source 2.4.3的預設內容編輯工具。它可以用任何第三方模組取代WYSIWG編輯器。
「頁面產生器」會在下列「管理」區域中取代TinyMCE編輯器:
- CMS頁面
- CMS區塊
- 類別說明
- 產品說明
在TinyMCE中建立的所有內容已移轉至「頁面產生器」做為HTML。
PWA Studio
如需有關增強功能和錯誤修正的資訊,請參閱PWA Studio版本。 如需PWA Studio版本及其相容版本的清單,請參閱相容性。
升級相容性工具
升級相容性工具的範圍已根據社群的意見展開。 加入我們的#upgrade-compatibility-toolSlack頻道,取得Adobe產品團隊和社群的支援,並幫助引導工具的未來方向。
廠商開發的擴充功能
請參閱下列文章,瞭解此版本功能和變更的更新:
已修正的問題
我們已修正2.4.3核心程式碼中的數百個問題。
安裝、升級、部署
bin/magento setup:db:status
命令現在會傳回訊息,指出成功升級後一切都是最新狀態。 以前,應用程式顯示這個錯誤:Declarative Schema is not up to date
。
- 現在,當建立新的可設定產品失敗時,會在表單重新載入時保留設定值。 先前,表單重新載入期間會遺失值,而應用程式會顯示此錯誤:
The value specified in the URL Key field would generate a URL that already exists
。 GitHub-32102
- 當您執行
bin/magento setup:upgrade
從具有Redis的Magento Open Source部署升級至Adobe Commerce時,應用程式不再擲回例外狀況。
- 在Galera叢集上執行的部署現在可支援更多客戶。 GitHub-31038
- 當應用程式已經以
—use-rewrites=0
選項安裝,或在core_config_data_table
中將web/seo/use_rewrites
設定為0時,管理員現在可以成功登入部署。 GitHub-32100
- 已更新
AsyncCssPlugin
的sortOrder
載入。 應用程式現在會在JsFooterPlugin
之前載入AsyncCssPlugin
。 GitHub-30882
Magento\Config\Model\Config\PathValidator
現在會檢查顯示路徑以判斷專案是否存在,如果專案具有設定路徑,則會改用config.xml
路徑進行驗證。 GitHub-27678
- 使用Grunt或伺服器端編譯編譯來編譯較少檔案現在會產生相同的結果。 先前版本。 使用Grunt編譯時,延伸
_extends.less
中其他.abs- styles
的.abs- styles
無法正確輸出。 這會導致生產部署與開發部署之間的差異。 GitHub-7231
Adobe Stock整合
- 當 API金鑰(使用者端ID) 和 使用者端密碼 未設定時,應用程式現在會在「搜尋Adobe Stock」頁面上,顯示資訊訊息以及管理員 商店 > 設定 > 進階 > 系統 的連結。 以前,應用程式顯示這個錯誤:
We couldn't find any records
且沒有連結。
後端
- 具有受限制存取權(例如,僅被指派存取一個網站的管理員)的管理員無法再編輯設定為全域範圍的類別。
- 產生的系統報告(系統 > 支援 > 系統報告)現在已正確呈現。 之前,報表內容不會對齊。
- 當套件產品建立期間啟用 動態價格 設定時,應用程式現在會依預期關閉 價格 欄位的驗證。 先前,啟用 動態價格 設定時,應用程式在您從 價格 欄位中移除值時擲回驗證錯誤。 GitHub-26214
- 當部署中的管理員URL與預設網站URL不同時,無限重新導向不再發生,應用程式會設定為可從兩個URL存取。
套裝產品
- 您現在可以使用
addProductsToCart
突變,將包含多個核取方塊選項的組合產品新增到購物車中。
- 現在,使用暫存表格執行套件產品的價格索引,可避免鎖定資料庫表格。 以前,應用程式使用實體表格,導致鎖定表格。
- 套件組合專案的價格現在可以設為0.00。先前,當您在設定價格為0.00之後返回編輯頁面時,價格會傳回其預設值。 GitHub-32383
- 現在,如果價格在訂購之前已變更,則包含搭售產品的訂單的訂單詳細資料會顯示搭售產品的正確價格。
- 現在,會根據其子產品的庫存狀態來更新套件組合產品庫存狀態。 先前,當從產品中移除一個選項時,套件組合產品會顯示為無庫存,且套件組合產品具有兩個具有相同SKU的選項。
- 將套件產品移至其他屬性群組後,管理員現在可以變更套件產品
Shipment Type
屬性的值。 以前,如果此屬性被移動到屬性集中預設群組以外的屬性群組,則一律會以Together
值儲存。
- GraphQL
setGuestEmailOnCart
突變現在可以正確更新來賓電子郵件。 以前,報價和報價地址表格不會更新。
- 透過REST API呼叫新增、移除或更新子產品至套件組合產品現在會如預期觸發重新索引。 以前,這些動作不會觸發重新索引,因此,在執行手動重新索引之前,捆綁產品不會變更其庫存狀態。
- 應用程式現在會顯示具有層級價格的套件組合產品的正確價格範圍。 GitHub-30284
- 套裝選項的價格變更後,應用程式現在會在購物車頁面和結帳工作流程的出貨步驟中顯示相同的總價。
- 您現在可以從客戶購物車存取套件組合產品以成功設定該產品。 以往, 「設定產品」頁面從未完全載入,且您無法儲存設定。
- 商戶現在可以在多商店部署的每個商店檢視上,為套件產品指定唯一價格。 網站特定價格儲存在
catalog_product_bundle_selection_price
表格中。 先前,即使當 商店 > 組態 > 目錄 > 目錄 > 價格 > 目錄價格範圍 設定為Website
,應用程式也不會將套件組合產品的價格設定在網站範圍上。catalog_product_bundle_selection_price
中未儲存任何網站特定價格。 GitHub-12584
- 當停用 動態定價 時,組合產品的商業發票現在會顯示相關簡單產品的正確數量。 以前,與組合產品相關聯的簡單產品具有父產品的數量,而不是組合產品的數量)。 GitHub-30802
updateProductsInWishlist
突變現在已成功更新願望清單中屬於組合產品的專案。 以前,這個變異不會更新願望清單專案,而是刪除該專案並建立新的專案,從而變更了專案ID。
快取
- 已更新
varnish6.vcl
檔案以略過客戶頁面的快取。
驗證碼
- 現在,驗證碼可正確驗證購物者提供的資料,且購物者多次嘗試透過PayPal Payflow Pro結帳失敗後,驗證碼欄位現在會如預期般顯示。
- 驗證碼驗證不會在結帳工作流程的付款頁面上隨機失敗。
- 在您超過失敗的完成嘗試次數後,應用程式現在會如預期顯示驗證碼欄位。 以前,雖然應用程式提示您再次嘗試驗證碼質詢,它不會顯示驗證碼欄位。
- 驗證碼現在可在結帳頁面上如預期運作。 先前,在購物者正確回應驗證碼質詢後,結帳頁面上的載入器從未完成,且應用程式會顯示此錯誤:
captchaData[formId] is undefined
。 (只有在購物者使用先前存取執行2.3.5-p1之部署的相同瀏覽器時,才會發生此錯誤。)
_.isEmpty()
簽入defaultCaptcha.js
檔案現在已成功完成。 以前,這些檢查未完成,因此,升級後無法載入簽出頁面。 GitHub-31641
購物車與結帳
- 現在,在轉換和更新購物車中的產品數量時,應用程式會考慮地區設定的特定小數位數。
- 應用程式現在只有在購物者按一下 下訂單 按鈕時,才會顯示相關區塊中的條款與條件驗證訊息。 以前,當購物者在結帳工作流程中變更付款方式時,應用程式會在「套用折扣代碼」區塊中顯示此訊息:
The order wasn't placed. First, agree to the terms and conditions, then try placing your order again
。
- 如果購物者無法按一下 更新 按鈕並返回送貨步驟,應用程式現在會捨棄結帳付款步驟上的帳單地址表單變更。
- 具有可自訂選項
(File)
的產品,現在會在多送貨結帳程式中如預期包含作用中的連結。 之前缺少此連結。 GitHub-31095
- Admin購物車現在會針對支援多種貨幣的商店,以正確貨幣顯示產品價格。 先前,價格會多次轉換為指定的貨幣 — 先是從店面將產品新增到購物車時,然後在管理員其後轉譯訂單時再次轉換。
- 購物者現在可以將最低廣告價格(MAP)超過一般產品價格的商品新增到購物車中。
- 現在,使用多個地址結帳時,購物者可以從結帳工作流程成功變更其帳單地址。
- 來賓建立的所有付費付款交易現在都會儲存到資料庫,並如預期顯示在Admin中。 以前,只有一小部分並行訂單儲存在資料庫中,並且大多數訂單會因為資料庫鎖定造成的逾時而遺失。 GitHub-25862
- 當訪客將產品放入迷你購物車時,應用程式現在會正確顯示內嵌歡迎訊息,其中包含特殊字元。 之前,應用程式不會將產品新增至迷你購物車或顯示歡迎訊息。 GitHub-32250
- 現在,啟用店內傳遞時,結帳工作流程的送貨頁面會成功載入。 之前,應用程式擲回JavaScript錯誤,且出貨結帳頁面未完全轉譯。
- 已將
itemResolvers
引數新增至目錄di.xml
檔案。 因此,如果可設定和群組的產品模組停用,則簽出不再中斷。 GitHub-30860
- 應用程式現在會在管理員重新訂購工作流程期間,如預期在 付款和送貨資訊 區段中顯示選項按鈕。 GitHub-30257
- 當購物車包含具有多個選項的套件產品時,應用程式現在會正確套用具有購物車層級固定折扣的購物車價格規則。 之前,購物車價格規則未完全套用至訂單。 GitHub-30952
- 類別清單檢視上的 加入購物車 按鈕現在可如預期運作。 GitHub-32232
- 您現在可以使用POST
/V1/carts/mine/items
,將自訂數量的群組產品加入購物車。 GitHub-26909
- 應用程式不再以送貨地址填入結帳工作流程的帳單地址區域。 先前,當帳單地址的 州/省 欄位為空白,且送貨地址與帳單地址不同時,應用程式會填入帳單地址 州/省 欄位,其中包含來自送貨地址的資訊。 GitHub-31608
目錄
- 大量更新 啟用數量增量 和 數量增量 屬性現在可如預期般運作。 GitHub-29544
- 當您與管理員啟用最近的產品同步化後,應用程式不會再擲回JavaScript錯誤。 以前,應用程式顯示這個JavaScript錯誤:
Cannot read property 'status' of undefined
。
- 自訂主題版面配置更新現在已按預期套用。 以前會忽略自訂佈景主題版面更新。
- 產品類別快取現在已由
cron
在indexer_update_all_views
執行期間如預期般清除。 先前,重新索引後「類別」頁面上的產品計數不正確。
- 現在,如果在商店檢視的產品更新REST API請求中未指定屬性,屬性值將保持不變。 以前,如果未指定屬性,應用程式會將屬性值重設為預設範圍值。
- 現在當產品由SKU篩選時,管理員產品格線(管理員 目錄 > 產品)會顯示正確的產品計數。
- 現在,當啟用類別許可權並將產品新增到CMS頁面時,應用程式會顯示準確的庫存狀態,並防止顯示指定客戶群組的價格。 過去,無論實際庫存狀態為何,所有產品都會顯示為無庫存。
- 「進階訂價客戶群組價格」區塊價格輸入欄位現在的最小寬度為5位數。 以前,在低解析度顯示器上,此欄位中只顯示兩個符號。
- 應用程式現在會在刪除產品後,成功刪除產品媒體影像。 先前,成功刪除產品後,產品媒體影像會保留在資料夾中。
- 當您在「管理員」中建立或編輯產品,然後建立「排程設計更新」時,頁面版面現在會依預期更新。 GitHub-32007
- 值為零的自訂產品屬性現在可以成功儲存為空白。 以前,應用程式不會將此值更新為空白。
- 自訂類別配置更新檔案現在會如預期套用至產品。 之前,更新檔案控制代碼(
catalog_category_view_*
)不符合產品控制代碼。 GitHub-27285
- 管理員產品清單的「固定產品稅金(FPT)」欄已停用排序。 之前,在排序FPT欄之後,無法重新載入產品頁面。
- 現在,當相符產品在每個網站上的價格不同時,頁面產生器產品Widget預覽可在多網站部署中如預期運作。
- 使用GET
/rest/V1/products/?searchCriteria[filterGroups]
的產品搜尋上,依位置排序現在可如預期運作。 之前,產品集合沒有欄位position
值可供排序。 GitHub-31591
- 管理員使用者現在可以在產品格線的 名稱 和 SKU 欄位中看到雙空格字元。 之前,應用程式會將多個空格摺疊為單一空格。
- 現在,當管理員的可銷售數量為0時,產品在店面中顯示為無庫存。 以前,這些產品在店面以庫存形式列出,而且應用程式顯示有效的 加入購物車 按鈕。 GitHub-31117
- 管理員現在可以從「管理客戶」頁面的「購物車」區段(客戶的「活動」欄),將具有可自訂選項
(File)
的產品新增至「已訂購專案」格線。 以前,應用程式未將專案加入清單,因為值在插入\Magento\Catalog\Model\Product\Type\AbstractType::_prepareOptions
之前格式不正確。
- 應用程式不再提示購物者為僅有一個選項的套件產品選取產品選項。
- 在建立新Widget期間,應用程式現在會在版面更新中顯示所有子類別(錨點和非錨點類別)。
- 當產品名稱僅針對一個存放區檢視更新時,
product
查詢不再覆寫多存放區部署中所有存放區檢視的預設值。 GitHub-31083
- 當您變更「管理員相關產品」、「向上銷售」和「交叉銷售」清單的每頁值時,Magento Open Source會依預期更新總頁數。 GitHub-31059
- 管理員現在可以將具有兩個或多個可自訂選項
(File)
的產品新增至依SKU排序的訂單。
- 當具有受限制許可權的管理員將產品小工具新增到管理員的CMS頁面時,應用程式不再擲回錯誤。 以前,當管理員按一下 儲存 按鈕時,應用程式擲回此錯誤:
We are sorry, an error has occurred while generating the content
。
- 啟用 使用JavaScript行事曆 時,產品詳細資料頁面現在會以填入前一訂單日期的可自訂選項開啟。 如果值未根據目前組態進行格式,自訂日期選項值解析器現在會退回替代格式。 在以前,自訂日期選項值是空的。
- 產品無庫存時,應用程式現在在購物車中僅顯示一個錯誤。 以前,應用程式會顯示多餘的訊息。 GitHub-27469
- 使用
POST /V1/product/:sku
端點建立或更新套件組合產品時,您現在可以依照預期設定required_options
和has_options
套件組合屬性。 以前,這些自訂屬性設定為0 (零),儘管努力將其設為1 (一)。
- 管理員現在可以將具有可自訂選項
(File)
的產品新增至SKU的訂單。 GitHub-30285
- 您現在無需指定
type_id
即可儲存產品與價格。 GitHub-13639
- 使用REST
PUT /V1/products/:sku/links
要求將新的子產品與新的群組產品建立關聯時,現在店面可如預期提供群組產品。 以前,執行bin/magento cron:run
後未正確索引產品。
- 您無法再建立具有
NULL
SKU值的產品。 之前,您可以透過自訂匯入工具或直接在資料庫中建立沒有SKU值的產品,但當您嘗試從管理員編輯該產品時,應用程式會擲回錯誤。 GitHub-27411,GitHub-32525
- 將必要的自訂選項新增至簡單產品時,不會再毫無警告地將其從父複合產品中移除。 應用程式現在會顯示資訊性警告,且不會儲存產品。 之前,應用程式儲存了產品變更,但並未顯示警告。 GitHub-30492
目錄規則
- 現在,當型錄價格規則套用至料號時,
products
查詢會傳回目前的值。 GitHub-26738
- 當購物車或目錄規則過期、停用或變成非使用中後,重新索引失敗時,現在會如預期刪除以
catalogrule_product__temp
開頭的暫存表格。 GitHub-22273
- 現在在
\Magento\CatalogRule\Model\Indexer\IndexBuilder::reindexById
和\Magento\CatalogRule\Model\Indexer\IndexBuilder::reindexByIds
中以相同方式套用時區。 GitHub-29549
CMS內容
- 啟用 啟用前端調整大小 組態設定時,現在會如預期在上傳期間調整大型影像的大小。
- 修正CMS頁面儲存控制器的錯誤處理。 先前,在
cms_page_prepare_save
事件上擲回Error
物件時,應用程式將此物件傳遞給addExceptionMessage
函式,因為此函式需要Exception
而違反其合約。 使用addErrorMessage
函式新增錯誤訊息即可解決此問題。 GitHub-30149
可設定的產品
- 當您按一下產品的可設定選項時,應用程式不會再複製產品影像庫中的產品縮圖。
- 當您從希望清單編輯可設定的產品時,應用程式顯示的設定快顯功能現在會在您按一下 確定 按鈕時按預期關閉。
- 此應用模組現在會針對僅包含一個可設定產品的訂單,正確產生商業發票。 GitHub-31143
- 購物者現在可以從非預設商店檢視將可設定產品新增到購物車。 先前,當非預設商店檢視上的購物者嘗試新增可設定的產品時,應用程式會顯示此錯誤:
Could not add item to cart. Please check required options and try again
。 GitHub-31660
內容安全性原則(CSP)
- 內容安全性原則現在支援透過
data: scheme
載入base64編碼的影像和字型。
cron
- Cron清理查詢已重構,以減少或消除下列效能問題:
cron
個工作仍卡在擱置狀態、MySQL查詢速度越來越慢,以及CPU使用量增加。 GitHub-26507
- 已處於狀態
running
超過24小時的cronjobs
現在會自動變更為狀態error
。 因此,該工作的新執行個體可以再次執行,並且當工作錯誤地保持設定為狀態running
時,您不需要手動變更工作狀態。 先前,如果cronjob
停滯在狀態running
中,應用程式會阻止啟動相同工作的新執行個體,而您必須手動變更工作狀態。 GitHub-8933
cron
個工作現在如預期般完成,且不再擲回此序列化錯誤:[Magento\Framework\DB\Adapter\DeadlockException]SQLSTATE[40001]: Serialization failure: 1213 Deadlock found when trying to get lock; try restarting transaction, query was: DELETE FROM cron_schedule WHERE (status = 'missed') AND (job_code in ('indexer_reindex_all_invalid', 'indexer_update_all_views', 'indexer_clean_all_changelogs')) AND (created_at < '2018-09-28 18:32:28')
。 GitHub-18409
indexer_update_all_views
個cron工作現在會在先前的失敗後如預期般執行。 失敗的執行在cron_schedule schedule
中標籤為失敗,後續執行不會自動失敗。 之前,cron_schedule
資料表填入擱置中的工作,且indexer_update_all_views
cron工作未執行。 GitHub-23054
cron
不再發生死結,因為cron
嘗試在群組重疊的大型部署中設定鎖定。 GitHub-8933
- 只有少數
cron
個工作執行後,cron_schedule
資料表上不再發生cron
死結。 GitHub-22438
自訂客戶屬性
- 店面客戶帳戶通訊錄上的 State 欄位現在已載入為,並保留為下拉式頁面元素。 Submit 按鈕現在已停用,直到所有頁面元素完全載入為止。 以前,應用程式在將此欄位呈現為下拉式元素之前會載入為文字方塊,購物者可以在文字欄位中輸入並儲存值,這稍後會在結帳時造成錯誤。
- 上傳檔案時,當您在「管理客戶地址」欄位中儲存具有檔案附件的客戶地址屬性時,應用程式不再擲回錯誤。 發生此狀況是因為控制器動作中遺失傳回陳述式。 之前,應用程式擲回此錯誤:
Something went wrong while saving the file
。
- RESTGET購物車API呼叫現在會傳回帳單和運送地址的正確自訂屬性值。 以前,自訂地址屬性在「我的帳戶店面」頁面和「管理員」的訂單詳細資訊頁面中顯示不正確。
- 應用程式現在已成功處理包含輸入型別為
file (attachment)
之客戶位址屬性的檔案。 之前,應用程式在上傳附加檔案時擲回此錯誤:Something went wrong while saving the file
。
客戶
- 依帳戶建立日期篩選現在產生的結果會符合設定的時區設定,並擷取所有相關建立的帳戶。
- 如果資料先前已快取,客戶格線篩選器現在對受限制使用者使用正確的網站選項。 以前,客戶格線篩選器會從快取中擷取網站引數,並針對受限制的使用者包含不正確的資料。
- 若在多網站部署中刪除一個網站,應用程式不會再在「管理員客戶」頁面上擲回例外狀況。 以前,當管理員嘗試存取完整的客戶清單時,應用程式未顯示所有客戶並顯示此錯誤:
The website with id 2 that was requested wasn't found. Verify the website and try again
。
- 具有許可權的管理員現在可以從客戶的「帳戶資訊」索引標籤,將客戶重新指派至不同的網站。
- 現在當您建立輸入型別為
(File)
的客戶地址屬性時,可以成功上傳檔案。 先前,當您嘗試上傳並儲存檔案時,應用程式擲回此錯誤:Something went wrong while saving the file
。
目錄
- 當購物者在結帳工作流程的送貨區段期間輸入無效的郵遞區號時,應用程式不會再擲回例外狀況。 GitHub-23371
可下載
- 當訂單包含可下載的產品和具有可下載選項的可設定產品時,應用程式現在會在新訂單電子郵件中顯示可下載產品的連結。 以前,應用程式顯示指向獨立可下載產品的連結,但不會顯示指向具有可下載選項的可設定產品的連結。
EAV
- 客戶地址屬性日期值現在以四位數格式儲存,而非兩位數格式。
電子郵件
- 「管理員重設密碼」頁面上的密碼重設連結現在可如預期運作。 先前,當自訂範本用於重設管理員密碼頁面時,當管理員按一下電子郵件內的連結時,應用程式會顯示此訊息:
Your password reset link has expired
。 發生此狀況是因為自訂電子郵件範本包含使用者ID的錯誤變數。
- 現在,在商店檢視層級啟用時,從管理員傳送客戶電子郵件會正常運作。 以往,在商店檢視層級啟用電子郵件通知設定(而非全域層級)時,應用程式不會傳送客戶電子郵件。
- 應用程式現在會依預期在多網站部署中傳送電子郵件,因為並非所有網站都啟用非同步電子郵件傳送。 先前,如果至少有一個網站停用此設定,則即使已啟用,也不會從任何網站傳送電子郵件。 發票、出貨及銷退折讓單電子郵件有類似的問題。 不過,訂單註解、商業發票註解、出貨註解及銷退折讓單註解電子郵件已順利傳送。 GitHub-31950
- 商業發票與商業發票PDF現在包含與預期相同的套件組合產品價格。 以前,發票PDF包含不正確的套件組合產品價格。 GitHub-12856
- 已將字串轉型新增至電子郵件範本篩選方法,以確保傳回值為
string
。 先前,當未處於開發人員模式時攔截到例外狀況時,應用程式會傳回phrase
物件。 這進而觸發嚴重的Uncaught TypeError
。 GitHub-32671
- 在多網站部署中,當啟用非同步傳送時(商店 > 設定 > 銷售 > 銷售電子郵件 > 一般設定 > 非同步傳送),訂單確認電子郵件現在會如預期傳送。 GitHub-31950
- 當客戶嘗試從「聯絡我們」表單傳送電子郵件時發生例外狀況時,應用程式現在會依預期記錄錯誤。 GitHub-23645
框架
- 現在會檢查Admin中的父類別是否有docblock註解,以及原始類別和繼承的介面。 之前,由於未檢查父類別,因此在Admin中執行任何與客戶相關的動作時觸發事件,都會導致錯誤。 應用程式在例外狀況記錄檔中記錄此錯誤:
report.CRITICAL: Method's return type must be specified using @return annotation.
。
- 在啟用Redis頁面快取的部署中,當Redis伺服器停止時,應用程式不再擲回嚴重錯誤。
- 使用
bin/magento config:set system/backup/functionality_enabled 1
啟用備份時,應用程式現在會執行 從備份排除媒體資料夾 設定。 先前雖然有此設定,但媒體資料夾仍會進行備份,因為指向/magento
的路徑格式不正確,帶有double //。
- 應用程式現在會依預期為Admin cart頁面翻譯所有可翻譯字串。 以前,轉譯載入發生得太晚,並略過訂閱控制器動作預先派單的所有觀察者。 GitHub-31849
- 當停用 以客戶身分登入 啟用擴充功能設定時,[建立新客戶帳戶]頁面上的表單驗證現在可成功運作。 之前,應用程式擲回JavaScript錯誤。
- 已改善由
ProcessManager
取用的子處理程式的例外狀況處理。 現在發生例外狀況時,主要程式會結束,而錯誤訊息只會顯示一次。 以前,會記錄多個索引器失敗並顯示多個訊息。 GitHub-30622
- 當此區域檔案的
di.xml
不含已登入的外掛程式時,將不再針對新的自訂區域型別觸發全域Magento Open Source外掛程式(例如webapi_rest
和graphql
)。
- 初始化期間發生的例外狀況不再快取,現在會觸發500回應代碼。
- 合併至
communication.xml
檔案的最後一個處理常式不再覆寫所有先前建立的處理常式。 GitHub-29528
一般修正
- 應用程式現在會在「我的產品評論」頁面和「我的帳戶」頁面顯示最近評論的正確星數。 以前,應用程式只將評論開始套用到第一次評論,並將頁面上的其他評論保留不開始。
- 標題中的帳戶連結現在遵循WCAG標準。 先前,標題中的帳戶連結包含重複的ID,導致WCAG驗證失敗。
- 當訪客購物者使用無效位址時,應用程式不再擲回系統記錄檔產生的錯誤。 之前,應用程式會間歇性地顯示此錯誤,而非轉譯頁面:
No such entity with addressId
。 GitHub-15115
- 對於不支援格式的影像,影像大小調整程式不再暫停。 以前,當
catalog:images:resize
遇到不支援的影像格式時,處理程式會停止,且應用程式會顯示此錯誤:bin/magento catalog:images:resize Unsupported image format
。
- 管理員已新增對標誌影像的WEBP和AVIF支援。 GitHub-32495
- 您無法再變更
media_gallery
屬性的範圍。 先前,當您將media_gallery
屬性的範圍變更回global
時,應用程式擲回錯誤。
- 更新結束日期後,新增為排程更新的相關產品不再顯示在店面產品頁面上。 GitHub-469
- 選取實體型別時,篩選功能現在可在排程匯出清單上依預期運作。 之前,篩選器無法運作,且應用程式擲回JavaScript錯誤。 GitHub-361
- 使用資料庫儲存方法儲存類別時,類別影像現在會如預期從
catalog/tmp/category
目錄複製到catalog/category
目錄。media_storage_file_storage
表格中的影像列現在也有正確的directory_id
。 GitHub-11995
- 在提交變更至CMS階層後,商家現在會如預期收到有關快取失效的通知。 先前,應用程式在儲存CMS階層時不會使快取失效。
- 減少購物車的購物車區段的多餘AJAX請求。 以前,應用程式沒有正確載入購物車小計,這會再次觸發購物車重新載入。
- 新增URL驗證,以防止保留字包含在URL索引鍵中。 請參閱定義已知的統一資源識別碼(URI)
- 在執行PHP 7.4的部署上,當 產生"category/product" URL Rewrites 設定設為 No,而且購物者嘗試存取不存在的類別路徑時,應用程式現在會傳回404錯誤。 之前,應用程式傳回500錯誤,指出:
Trying to access array offset on value of type bool
。 GitHub-31984
nowdoc
已取代Magento_Backend
存放區切換器中的heredoc
。 GitHub-32262
- 將阿根廷、玻利維亞、智利、厄瓜多爾、蓋亞那、巴拉圭、秘魯、蘇利南和委內瑞拉地區新增至
directory_country_region
表格。 GitHub-31169
- 已新增阿爾巴尼亞、丹麥、希臘、冰島、葡萄牙和瑞典等地區至
directory_country_region
表格。 GitHub-31040
- 當發生例外狀況時,訊息現在會在MysqlMQ訊息佇列中標示為錯誤。 GitHub-18140
- 現在,在載入「管理員」銷退折讓單與商業發票頁面的稅捐資訊時,應用模組會參考正確的類別物件。 GitHub-31197
- Royal Mail Click & Drop整合現在可如預期運作。 先前,應用程式在您嘗試啟動其整合時擲回此錯誤:
Sorry! Something went wrong. Please try again later
。 GitHub-28996
- 在URL中傳遞了錯誤的出貨、銷退折讓單或商業發票識別碼時,應用模組現在會顯示資訊性錯誤訊息。 之前,應用程式擲回嚴重錯誤。 GitHub-30424
- 已移除靜態檔案位置的遞回。 應用程式現在會顯示404頁面,而不是500錯誤。 先前,預設NGINX設定中的錯誤會導致無限遞回。 GitHub-31530
cms_index_noroute.xml
檔案的名稱已更正為cms_noroute_index.xml
。 GitHub-31300
- 已重構
.editorconfig
檔案,以更正db_schema_whitelist.json
檔案的自動格式設定。 GitHub-31171
- 調整瀏覽器視窗的大小不再觸發重複的繫結放大鏡事件。 GitHub-30788
- 由
user_id
篩選Magento\Users\Model\ResourceModel\Users\Collection
時,應用程式不再擲回SQL例外狀況。 GitHub-31216
禮品卡
- 價格範圍驗證邏輯已新增至禮品卡建立頁面。 過去,管理員可建立卡片的最小值超過最大值。 GitHub-493
- 當要求不包含
allow_open_amount
的值時,addRequisitionListItemsToCart
查詢現在會如預期傳回自訂禮卡金額。
禮物訊息
- 現在,管理員在登入後會直接重新導向到請求的「管理員」頁面。 先前,當管理員登入時,系統會將他們重新導向至管理員控制面板(或設定為啟動頁面的頁面),且必須手動導覽至目的地。 GitHub-31042
Google Tag Manager
- 現在,啟用Google Tag Manager時,結帳工作流程付款頁面上帳單地址的UI元件會正確使用報價地址。 之前,付款頁面上發生JavaScript錯誤。
GraphQL
- GraphQL
products
查詢現在會傳回以屬性編輯頁面上使用的相同排序順序排序的屬性選項。
{ category(id: 2){ children { name children { name } } } }
GraphQL要求的回應現在包含正確排序的類別樹狀結構。
CartItemPrices
物件現在包含新的GraphQL欄位fixed_product_taxes
,這會傳回套用至購物車專案的固定產品稅陣列。 以前,套用至購物車專案的固定產品稅不包含於購物車查詢中。
- 對GraphQL的空白請求現在會擲回回應代碼200,而不是500。 之前,GraphQL剖析器在產生查詢結果之前擲回例外狀況。
applyRewardPointsToCart
突變現在會更新購物車的總計,以準確反映扣除的獎勵點數的值。 GitHub-486
- 使用GraphQL連結追加銷售產品時,停用的產品不再包含在GraphQL回應中。
- 當訪客結帳停用時,商戶現在可以使用GraphQL
setShippingAddressesOnCart
方法,設定購物車的帳單和運送地址。
categoryList
查詢在CategoryTree
物件上包含多個片段時,不再擲回例外狀況。 GitHub-31086
- GraphQL
product
查詢現在會傳回正確的客戶群組價格。
- GraphQL
products
查詢回應現在會根據產品屬性位置來排序彙總。
- 當產品和類別URL尾碼包含Null值時,應用程式不會再在GraphQL查詢期間擲回型別錯誤。 GitHub-30909
CustomizableDateValue
物件現在包含type
屬性。 其值是可設定為DATE、DATE_TIME或TIME的列舉。
dynamicBlocks
查詢傳回符合指定篩選條件的動態區塊內容。
- POST
V1/products/special-price-delete
要求現在只會按預期刪除具有指定store_id
的價格。 之前,該呼叫會從所有商店移除指定SKU的所有特殊價格。 GitHub-25907
- 修正
createGiftRegistry
突變中country_code
屬性的錯誤。
- 修正
updateGiftRegistryItems
突變的giftRegistryUid
屬性問題。
- 新增額外檢查,以防止使用
updateGiftRegistryRegistrants
突變將隨機人員新增為贈品登入的登入者。
addConfigurableProductsToCart
突變現在會傳回指定產品的正確縮圖。 之前,它會傳回父產品的縮圖。
- 針對未來日期設定特殊價格期間時,
products
查詢不再公開產品的特殊價格。 GitHub-30210,GitHub-29631
customer
查詢回應現在包含total_giftcard
屬性,作為OrderTotal
物件的一部分。
- 修正造成
products
查詢傳回有關沒有層級訂價集之料號之價格層級的錯誤資訊的問題。 GitHub-32279
影像
- 使用POST
/V1/product/:sku
端點建立或更新套件組合產品時,您現在可以依照預期設定required_options和has_options套件組合屬性。 以前,這些自訂屬性設定為0 (零),儘管努力將其設為1 (一)。
匯入/匯出
- 「匯出頁面實體屬性」網格中產品實體的類別ID篩選器現在可如預期運作。
- 現在,當所有子產品無庫存,分組產品庫存狀態會如預期一樣更新,以無庫存。 GitHub-32647
- 當匯入更新子產品庫存狀態時,可設定的產品庫存狀態現在會如預期自動更新。 以前,當子項產品庫存狀態由匯入更新時,產品庫存狀態不會自動更新。
- 您現在可以在排程的匯出中儲存空白值。 以前,應用程式會在建立或儲存匯出後更新空白篩選值。
no
和not specified
值在資料庫中以零表示,且not selected
的值已以no
覆寫。
- 現在,匯出程式在匯出產品、庫存來源和客戶實體時,會考量使用者角色範圍。 以前,匯出程式忽略使用者角色範圍,允許匯出私人使用者角色匯出實體。
- 如果產品是以
tax_class_name
值None
或0
匯入,應用程式現在會將產品稅捐類別設定為None
。 先前,如果CSV檔案中的product tax_class_name
為None
,應用程式會建立新的稅捐類別None
,這複製了現有的稅捐類別。 如果CSV檔案中的product tax_class_name
為0
,應用程式會忽略該值,且產品稅捐類別在匯入後並未變更。
- 管理員現在可以從管理員成功變更套件組合產品
bundle_values
的name
。 先前,在您從管理員變更名稱后,應用程式會在店面將產品顯示為無庫存。 產品也與相同的SKU合併為單一組合選項區段。
- 現在,在匯出客戶資料時,應用程式會考量使用者範圍。 先前,當您嘗試匯出客戶時,應用程式會從所有網站匯出客戶資料。
- 在CSV檔案中指定
__EMPTY__VALUE__
時,應用程式現在會依照預期在CSV檔案匯入期間,移除向上銷售、交叉銷售及相關產品之間的產品關係。
- 匯出許多客戶的自訂位址資料(管理員 系統 > 匯出)不再會定期導致記憶體錯誤。 先前,在匯出自訂位址資料時,應用程式會嘗試載入所有客戶資料,導致記憶體耗盡,而應用程式擲回無法配置記憶體錯誤。
- 在預設CSV匯入程式期間,不再匯入重複的層級價格。 先前,遺漏驗證以防止匯入重複的層級價格,當發生重複層級價格時,商家無法儲存產品。 商戶嘗試排程產品變更時也看到此錯誤:
SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry…
。
- 所有產品影像現在都會在匯入期間經過驗證。 以前,當產品有多個影像時,應用程式只會驗證第一個影像。 GitHub-28236
- 您現在可以在匯入期間,如預期從客戶地址中刪除區域。 以往,以空白區域匯入客戶地址時,指派的區域未變更。
- 具有JSON或HTML內容作為其他產品屬性的產品現在會正確匯出至CSV檔案。 以前,CSV檔案在不正確的欄位中包含重疊的資料字串。
索引
- 當子處理程式失敗時,「處理程式管理員」現在會結束,並出現錯誤。 以前,如果傳遞給「程式管理員」的函式數(例如索引器維度)低於
MAGE_INDEXER_THREADS_COUNT
環境變數的值,該管理員一律會成功結束。 GitHub-30964
- 當索引器模式設定為 儲存時更新 時,使用RESTPUT
/V1/products/:sku/links
要求連結產品時,現在可在店面搜尋結果中如預期提供產品。
- 當索引器模式設定為 儲存時更新 時,目錄價格規則索引器現在會如預期般運作。 GitHub-370
- 刪除不包含產品的已停用類別現在對目錄搜尋和類別平面索引表格沒有影響。 以前,刪除非使用中類別會觸發完整重新索引。 GitHub-23297
- 自訂索引子現在可以為訂閱使用不同的實體欄名稱。 以前,資料庫觸發程式使用索引器上次設定為 Update by Schedule 的資料行名稱,而不是指定的索引器。 GitHub-21853
- 應用程式不再傳送AJAX要求來重新載入不受要求影響的客戶資料區段(
Magento_Customer/js/section-config
)。 GitHub-31948
- 您在類別中新增、移除或重新排序產品後,下列索引子不再失效:
catalog_category_product
和catalogsearch_fulltext
(及其相依專案)。 以前,這些不慎移除會觸發網站的完整重新索引。 現在當未啟用平面目錄時,在這些情況下會防止完全重新索引。
基礎架構
- 相依性
pelago/emogrifier
已從版本3.1.0更新至5.0.0。此更新導致對Magento\Email\Model\Template\Filter
類別引進了回溯不相容的變更。 已變更的程式碼會在電子郵件範本轉譯期間執行。 請參閱BIC參考。
- 修正無法儲存新產品的
\Magento\CatalogInventory\Model\Indexer\Stock\CacheCleaner::getCategoryIdsByProductIds
問題。
- 已遭取代的TinyMCE v3程式庫已移除。 與TinyMCE v3.x相關的
Magento_Tinymce3Banner
模組和MFTF測試已從Adobe Commerce中移除。
- 當購物者輸入包含法語變音符號(例如「é」、「e」)的電子郵件地址時,應用程式不會再在「聯絡我們」表單上擲回
Invalid header value detected
錯誤。 應用程式現在會將使用者名稱中的UTF-8字母轉換為ASCII編碼。 之前,UTF-8字母在電子郵件地址的唯一區段中無法轉換為ASCII編碼。
- 將外掛程式新增到父類別時,應用程式不再擲回PHP嚴重錯誤。 GitHub-31291
- 已更新這些模組的README.md檔案:
Magento_Msrp
、Magento_MsrpConfigurableProduct
、Magento_MsrpGroupedProduct
、Magento_Multishipping
、Magento_MysqlMq
。 GitHub-32577
- 已針對PHP 8相容性將
phpcpd
更新至v6.0.3。
- 已更新
ramsey/uuid
與PHP 8.0的相容性。GitHub-31777,GitHub-826
- 已針對PHP 8相容性將
colinmollenhour/php-redis-session-abstract
更新至v1.4.4。 GitHub-32709
- 已修正
phpstan.neon
檔案中索引標籤和空格的無效組合。 GitHub-31239
- 已移除整個程式碼基底中過時屬性
$_isScopePrivate
的使用。 GitHub-30506
- 頁面版面配置在中不再使用硬式編碼
Magento\Widget\Block\Adminhtml\Widget\Instance\Edit\Chooser\Container
。 因此,getPageLayouts()
函式現在會依預期傳回不同模組宣告的實際版面配置清單。 以前只傳回硬式編碼版面。 GitHub-31168
composer.lock
檔案已更新至編碼標準的最新版本。 GitHub-31152
- 已在
web-token/jwt-framework
封裝上新增遺漏的相依性至magento/module-jwt-framework-adapter
。 GitHub-32578
- 已將被動接聽程式新增至
fotorama.js
資料庫,以改善Lighthouse量度分數。 GitHub-31140
- 更新Google Analytics模組的README.md檔案。 GitHub-32616
- Process Manager現在可以在取用的流程中正確處理例外。 主程式現在結束,應用程式現在只顯示一次錯誤訊息。 此外,分支處理序的例外狀況現在會在主處理序中擲回時處理。 以前,應用程式會記錄多個索引器失敗,並顯示多個錯誤訊息。 GitHub-30622
- 將外掛程式新增到父類別時,應用程式不再擲回錯誤。 (
Assest.php
中的getContentIdentities
之後現在已宣告optionsProvider
引數。)之前,應用程式擲回此錯誤:Error: Cannot instantiate interface Magento\Framework\Data\OptionSourceInterface
。 GitHub-31291
- 在空白資料夾上執行
Magento\Framework\Filesystem\Io\Ftp::ls()
現在會如預期傳回空白陣列。 之前,應用程式擲回此例外狀況:Invalid argument supplied for foreach() in vendor/magento/framework/Filesystem/Io/Ftp.php…
。 GitHub-31288
- 角色和規則的
update
方法已在app/code/Magento/Authorization/Model/Role.php
中標示為已棄用。 GitHub-30756
- 已更正SameSite Cookie引數的串連。 之前,不正確的串連會將
lex
尾碼附加至value
、domain
和其他引數。 GitHub-26377,GitHub-32440
- 在整個程式碼基底中,
allure-framework/allure-phpunit
已升級至v1.3.1。 之前,應用程式顯示這個錯誤:Warning: Use of undefined constant GLOB_BRACE - assumed 'GLOB_BRACE' (this will throw an Error in a future version of PHP) in /var/www/html/src/vendor/allure-framework/allure-phpunit/src/Yandex/Allure/Adapter/AllureAdapter.php:74.
GitHub-24635
- 當在生產模式中執行
bin/magento
命令發生錯誤時,應用程式現在會顯示更多資訊錯誤。 以前,應用程式未顯示錯誤訊息,或顯示的訊息缺少資訊。 GitHub-32786
ArrayIterator
PHP物件已更新為如預期般搭配PHP 7.4運作。GitHub-32088
- 當沒有可用的出貨承運商時,當客戶嘗試完成訂單時,應用程式不會再擲回錯誤。 而是顯示結帳頁面及此訊息:
Sorry, no quotes are available for this order at this time
。 以前,應用程式會顯示空白的結帳頁面,並將此訊息記錄在例外狀況記錄檔中:array_keys() expects parameter 1 to be array, null given
。 GitHub-30830
- 應用程式不再將每個Cookie記錄為個別的內容。
$_COOKIE
陣列也已轉換為字串。 先前,由於每個Cookie記錄為個別的內容,因此,當Cookie數量超過50時,應用程式會記錄此訊息:Unable to send the cookie. Maximum number of cookies would be exceeded
。 GitHub-31334
發票
- 在Admin中建立新發票時,電子郵件復本 核取方塊現在可如預期運作。 以前,如果在 銷售電子郵件 中啟用了傳送發票電子郵件的全域設定,則會忽略核取方塊。 它現在是一致的,而且運作方式與出貨和銷退折讓單建立頁面相同。 GitHub-28511
媒體集
- 處理缺少XMP資訊的PNG影像時,
bin/magento media-gallery:sync
現在會如預期般失敗。
- 刪除相關產品時,
catalog_product_entity_media_gallery
資料表中的專案會如預期移除。 GitHub-17727
- 啟用JavaScript縮制後,現在可以在媒體集中更新影像詳細資料。 先前未儲存影像詳細資料,應用程式顯示此錯誤:
TypeError: Cannot read property 'call' of undefined in jquery.validate
。 GitHub-31633
MFTF
在功能測試架構變更記錄檔中說明新功能和MFTF核心錯誤修正。
- 已從測試中移除
magento indexer:reindex
和cache:flush
命令以及AdminReindexAndFlushCache
動作群組,以改善下列模組的執行:Bundle
、Catalog
、CatalogRule
、CatalogRuleConfigurable
、CatalogUrlRewrite
、Downloadable
、Indexer
、Paypal
以及Sales
。 GitHub-31031
AdminSubmitCategoriesPopupActionGroup
已新增至測試,以防止測試失敗。 GitHub-31251
- 測試已使用
StorefrontCheckQuickSearchStringActionGroup
和StorefrontAssertProductNameOnProductMainPageActionGroup
(現有的動作群組)重構。 GitHub-31251
重構測試
已重構以下測試以改進執行時間:
AddOutOfStockProductToCompareListTest
AdminApplyTierPriceToProductWithPercentageDiscountTest
AdminCheckingCreditMemoTotalsTest
AdminCheckDashboardWithChartsTest
AdminConfigDefaultProductLayoutFromConfigurationSettingTest
AdminCreateInvoiceTest
AdminCreateOrderAddProductCheckboxTest
AdminMassOrdersCancelCompleteAndClosedTest
AdminMassOrdersCancelProcessingAndClosedTest
AdminMassOrdersHoldOnCompleteTest
AdminMassOrdersHoldOnPendingAndProcessingTest
(取代已棄用的AdminMassOrdersHoldOnPendingAndProcessingTest
)
AdminMassOrdersUpdateCancelPendingOrderTest
AdminMassProductPriceUpdateTest
AdminMassUpdateProductAttributesMissingRequiredFieldTest
AdminOrdersReleaseInUnholdStatusTest
AdminPanelIsFrozenIfStorefrontIsOpenedViaCustomerViewTest
AdminSortingByWebsitesTest
AdminUpdateSimpleProduct
AdminUpdateSimpleProductWithRegularPriceInStockEnabledFlatTest
AdminValidateShippingTrackingNumberTest
CancelOrdersInOrderSalesReportTest
ProductsQtyReturnAfterOrderCancelTest
StorefrontConfigurableProductBasicInfoTest
動作群組
下列測試中的重複動作已由動作群組取代:
AdminCheckConfigurableProductPriceWithDisabledChildProductTest
AdminConfigurableProductCreateTest
AdminConfigurableProductRemoveAnOptionTest
AdminCreateProductDuplicateUrlkeyTest
AdminCreateSimpleProductNegativePriceTest
AdminCreateSimpleProductZeroPriceTest
AdminCreateVirtualProductFillingRequiredFieldsOnlyTest
AdminUpdateSimpleProductWithRegularPriceInStockDisabledProductTest
AdminUpdateSimpleProductWithRegularPriceInStockNotVisibleIndividuallyTest
AdminUpdateSimpleProductWithRegularPriceInStockVisibleInCatalogOnlyTest
新動作群組
AdminClearFiltersOnGridActionGroup
AdminClickAddNewPageOnPagesGridActionGroup
AdminClickInsertWidgetActionGroup
AdminClickRefundOfflineOnNewMemoPageActionGroup
AdminFillAccountInformationOnCreateOrderPageActionGroup
AdminGoToOrderStatusPageActionGroup
AdminOpenCMSPagesGridActionGroup
AdminSelectAttributeSetOnEditProductPageActionGroup
AssertAdminProductIsAssignedToCategoryActionGroup
(以SKU取代篩選產品格線並按一下第一列(以減少測試執行時間)
AssertLinkActionGroup
AssertStorefrontCartDiscountActionGroup
ClickPlaceOrderActionGroup
SaveCmsPageActionGroup
StorefrontAssertProductNameIsNotOnProductMainPageActionGroup
StorefrontGuestCheckoutProceedToPaymentStepActionGroup
StorefrontHoverProductOnCategoryPageActionGroup
StorefrontSelectCustomizeAndAddToTheCartButtonActionGroup
已刪除動作群組
- 已從測試中移除
CliIndexerReindexActionGroup
(或已變更值),以改善Backend
、Bundle
、BundleImportExport
、Catalog
、CatalogRule
、CatalogSearch
、Checkout
、Downloadable
、Elasticsearch
、Elasticsearch6
、Indexer
、LayeredNavigation
、LoginAsCustomer
、Newsletter
、Sales
、SalesRule
、Search
、Store
、Swatches
、UrlRewrite
、Weee
及Wishlist
模組的執行時間。
- 已從
Catalog
、CatalogUrlRewrite
、Checkout
、Config
、ConfigurableProduct
、Contact
、Cookie
、CurrencySymbol
、Customer
、Downloadable
、Elasticsearch
、Elasticsearch6
、Fedex
、Indexer
、LayeredNavigation
、LoginAsCustomer
、Msrp
、Multishipping
、Sales
、Swatches
、Translation
、UrlRewrite
、Vault
、Weee
和Wishlist
模組移除CliCacheFlushActionGroup
。
電子報
- 應用程式不會再傳送電子報電子郵件給已在電子報佇列建立和傳送電子報之間期間取消訂閱電子報的客戶。 GitHub-32116
- 應用程式現在會遵守電子報啟用設定(商店 > 設定 > 設定 > 客戶 > 電子報 > 一般選項)。 以前,這些設定一律會從多存放區部署的預設範圍中擷取。 GitHub-31188
- REST呼叫GET
/V1/customers/search
現在會傳回已訂閱多份電子報的客戶的正確資訊。 GitHub-31168
- 快取訂閱狀態已從Newsletter外掛程式移除。 GitHub-19345
訂購
- 針對部份開立商業發票的訂單,應用模組現在會正確計算已開立商業發票的客戶餘額,並將商店信用傳回客戶帳戶。
- 應用程式現在會在儲存已退款的客戶餘額時,如預期儲存已修改的訂單。 GitHub-393
付款方法
- 應用程式現在會在
frontend
上轉譯付款區塊,無論電子郵件的傳送區域為何。 (目前區域在轉譯付款區塊之前會模擬為frontend
。) 以前,付款區塊會在傳送電子郵件的區域中轉譯。 因此,無論銷售電子郵件是由管理員或REST API觸發,資產的URL都嘗試從錯誤的區域(webapi_rest
或adminhtml
)載入它們。
- 應用程式現在會將可下載產品的連結傳送至結帳時指定的電子郵件地址。 先前,當訪客購物者使用PayPal Express Checkout並輸入不同的電子郵件地址來提交訂單和結帳時,應用程式會將可下載的產品連結傳送到第一個地址。
- 在支援多種貨幣的建置中,應用模組現在會在「付款方式」頁面上,顯示可用商店點數的精確值。
- 當訪客購物者在結帳期間將訂單的運送地址變更為不同的國家/地區時,付款方法清單現在會如預期更新。 以往,變更帳單地址不會觸發可能付款方式的更新。
PayPal
- 購物者現在可以成功結帳PayPal Payflow Pro訂單,該訂單的運送地址包含特殊字元。 之前,應用程式會拒絕這些訂單的付款。
- 使用PayPal成功付款後,購物者現在會重新導向回訂購成功頁面。 以前,購物者會因為工作階段資料遺失而重新導向至空白頁面。
效能
- 已改善大型目錄上的管理員SKU搜尋效能。 查詢最佳化工具提示現在會在查詢執行期間強制使用索引。
- 已改善在大型資料表(數百萬列)上執行的
catalog_product_alert
cron程式效能。 以前,catalog_product_alert
載入所有產品警示,造成記憶體不足的例外狀況。
- 當僅需要一個編輯頁面來呈現Admin表單時,應用程式不再載入所有CMS頁面。 這些頁面現在載入更快。 GitHub-30936
-
WHERE IN
運算式中的數值現在會轉型為數字,而非字串,如此可改善某些MariaDB版本中的查詢效能。 GitHub-31135 -
use_application_lock
模式可讓您透過使用環境變數或透過設定app/etc/env.php
檔案來啟用重新索引。 啟用此模式後,您就不需要在失敗後手動重設索引器。 若未啟用此模式,您必須在失敗後手動重設索引子。 請參閱使用應用程式鎖定模式重新索引處理序。
定價
- 當購物者更新店面的產品數量時,應用程式現在會以分組價格正確更新產品的價格。 GitHub-32669
- 現在當產品已指派層級價格,且使用
Magento\Framework\Api\ExtensibleDataObjectConverter
來轉換產品資料時,可以儲存套件組合產品。 先前,在儲存產品時使用Magento\Framework\Api\ExtensibleDataObjectConverter
將產品資料轉換為陣列時,應用程式並未儲存產品,且會顯示此錯誤:Notice: Undefined index: price in app/code/Magento/Catalog/Model/Product/Type/Price.php on line 382.
- 排定的價格更新現在套用至購物車中的產品。 GitHub-356
- 當啟用數量增加且小數點存貨小於1時,層級價格現在會依預期套用至產品。 之前,最小層級價格數量設為1。
產品影片
- 您現在可以使用 新增視訊 按鈕(管理員 目錄 > 產品)來連續新增多個視訊。 以前,視訊欄位會保留上一個視訊的詳細資訊。
- 在產品頁面上進入產品視訊的全熒幕模式,現在可在行動裝置上如預期般運作。 之前,進入全熒幕模式會導致視訊在結束全熒幕模式之前暫停。
- 現在,導覽箭頭按鈕(下一步 和 上一個)會如預期般顯示在店面產品影片中。
- 商戶現在可以依預期使用產品頁面上的 插入影片 按鈕新增Vimeo影片。 以前,應用程式顯示404錯誤。 GitHub-31753
引用
/V1/guest-carts/examplecartid/items
呼叫現在會傳回要求的存放區檢視。 之前,它會傳回存放區中的第一個存放區檢視,而非要求的檢視。
- 現在可以設定發票傳送。 以前,無法設定發票傳送,且應用模組一律會在發票建立後傳送發票。 發票和訂單電子郵件都在一個觀察者的範圍內傳送。 獨立的觀察者現在控管訂單電子郵件和發票電子郵件的傳送。 GitHub-27656
報表
- 管理員 報告 > 檢閱 > 產品檢閱 的上次檢閱日期現在顯示正確的檢閱日期。 以前,應用程式顯示的是產品建立日期,而不是稽核日期。
評論
- 現在,在「我的帳戶」頁面的「評論詳細資訊」區段中,可以正確計算產品評論評等星級。
- 產品評論詳細資訊頁面的平均產品評等和產品評等區段現在可正確呈現。 先前,應用程式計算店面評等時,稽核ID並未設定,產品稽核範本亦未正確呈現。
- 在管理員核准評論後,成為第一個評論此產品 連結現在會依預期變更為評論計數。
- 管理員現在可以在產品編輯頁面的「產品評論」區段,依預期排序產品評論。 GitHub-30270
- 現在,在管理員核准並儲存來自與存放區不同的網域的稽核後,使用正確的存放區ID來儲存稽核。 GitHub-17510
獎勵
- 當購物者使用多個地址結帳時,應用程式現在會更新付款方法清單,方法是勾選或取消勾選 商店點數(獎勵積分) 選項。
銷售
- 啟用 允許延期交貨 設定時,管理員使用者現在可以下無存貨專案的訂單(商店 > 設定 > 目錄 > 庫存 > 產品庫存選項)。 之前,應用程式擲回錯誤。
- 當購物者的姓氏以空白結尾時,購物者現在可以在「訂購與退貨」頁面上找到訂單。
- 現在,當指定100%折扣的購物車價格規則套用至同樣受目錄產品與折扣稅約束且符合免費出貨資格的訂單時,會以正確的總計建立商業發票。 以前,訂單價格正確,但商業發票不正確。 GitHub-30853
- 依日期篩選訂單現在會傳回準確的結果。 以前,當您按訂單日期篩選訂單時,應用程式不會傳回在00:00 UTC之後所下的訂單。
- 在多儲存區部署中,價格 屬性使用 網站 範圍時,銷退折讓單格線現在會顯示正確的貨幣符號。
- 重新載入「管理員建立新訂單」頁面後,結帳工作流程的「付款與運送資訊」區段上的付款方法選項按鈕不再消失。 GitHub-32106
- 阿拉伯文字現在可在發票中正確顯示。
- 應用模組現在會正確計算以部署PayPal Payment Pro作為付款閘道之商店中訂單或商業發票為基準之銷退折讓單的部分銷退折讓單稅捐總計。 以前,對於具有多個商業發票的訂單,應用模組會沖銷該訂單的全部稅捐,以取消銷退折讓單中的部份商業發票。
- 當傳送新訂單電子郵件給客戶時,應用程式不再建立隨機資料庫死結。 以前,發生死鎖是因為應用程式儲存了整個物件及其相關物件,而不是更新的SQL資料行。 應用程式顯示此錯誤型別:
SQLSTATE[40001]: Serialization failure: 1213 Deadlock found when trying to get lock; try restarting transaction
。 GitHub-31090
- 店面「訂單明細」頁面現在會顯示正確的出貨產品數量。 以前,產品數量不正確,因為訂單出貨頁面的範本已將 數量出貨 轉譯為
int
。 此專案已變更為float
。
- 取消勾選 電子郵件發票復本 按鈕時,應用模組不再以電子郵件傳送訂單發票復本。 以前,應用程式傳送電子郵件給 客戶,而 傳送發票電子郵件副本給。 GitHub-28511
- 從「管理員」為現有客戶建立新訂單時,應用模組不會再建立客戶帳戶的重複地址專案。 「儲存於通訊錄」核取方塊已重新命名為「新增至通訊錄」,現在預設為「管理員」中取消核取。
- 當購物者從其帳戶列印訂單時,應用程式現在會使用已上傳至 標誌中的標誌進行HTML列印檢視 設定。 以前,應用程式顯示LUMA標誌,而不是上傳的標誌。
- 當專案計數超過20時,店面上的訂單專案傳呼機現在會如預期般運作。 以前,傳呼機會考慮子產品,因此總計數不正確。
- 應用程式現在會在「訂單」頁面與「銷退折讓單」頁面網格上,針對小計與出貨與處理值顯示正確的貨幣符號。 GitHub-22662
- 使用Safari的管理員現在可以從管理員成功將產品新增至訂單。 先前,當管理員按一下 將選取的產品新增至訂單 按鈕時,應用程式會顯示旋轉載入圖示,而頁面會擱置。
銷售規則
- 當購物車套用多個購物車價格規則時,應用程式現在會正確套用購物車價格規則,其中 最大數量折扣套用至 或 折扣數量步驟(購買X) 條件。 先前,如果將 最大數量折扣的購物車價格規則套用到 或 折扣數量步驟(購買X) 套用到另一個購物車價格規則之後,則總折扣會減少到為 最大數量折扣套用到 或 折扣數量步驟(購買X) 乘以產品價格。
- 抵用券報表現在可正確反映實作分割資料庫的部署中的抵用券活動。
- 包含條件「類別 IS NOT」的購物車價格規則,現在會如預期套用至未指派給類別但已指派其父級產品的可設定子項/簡單產品。
- 當優惠券套用至訂單時,GraphQL
cart
查詢現在會傳回購物車帳單步驟的正確總計。
搜尋
- 類別頁面不再包含這些重複的HTML專案ID:
modes-label
、mode-list
、toolbar-amount
、sorter
、limiter
。
- 部分字詞搜尋結果不再包含非預期或不相關的相符專案,搜尋可在店面和管理員上產生一致的結果。 應用程式現在會使用不同的分析器(不含詞幹分析器)進行部分字詞搜尋。 以前,搜尋結果會顯示不含搜尋關鍵字的產品。 (預設分析器先前包含字乾分析器,而且由於在搜尋時間用於部分字詞搜尋,因此搜尋結果可能會產生非預期或不相關的相符專案。)
- 如果搜尋查詢包含多個字詞,且產品名稱設定為無法搜尋,則快速搜尋現在會傳回結果。 先前,如果產品名稱設定為無法搜尋,應用程式會對包含多個字詞的搜尋查詢擲回查詢例外狀況。
- 現在搜尋結果包含
weight
屬性(設定為可搜尋時),如預期般包含。
- 當您檢視啟用Elasticsearch的空白類別頁面時,應用程式不再擲回錯誤。 相反地,它會如預期般轉譯頁面,並顯示資訊訊息。 之前,空白的全文檢索索引會在類別頁面上觸發例外狀況。
- 如果購物者在開始搜尋後於搜尋欄位外按一下,搜尋欄位自動完成功能現在會如預期運作。 當購物者繼續輸入時,自動完成建議現在會重新出現。 以前,應用程式不會顯示自動完成建議,而且按一下搜尋方塊也不會使搜尋建議再次顯示(雖然輸入其他字母時會顯示出來)。
- 根據進階搜尋中的完整或部分SKU搜尋產品時,現在會傳回預期的產品。
- 階層導覽篩選器現在會顯示精確的產品計數。 先前,Elasticsearch中的產品計數值不會依目錄許可權篩選。
- 類別URL頁面引數超過分頁時,Elasticsearch不再擲回錯誤。 GitHub-23843
- 您現在可以將自訂Elasticsearch欄位對應程式新增到
Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\CompositeResolver
。
- 開發人員現在可以變更Elasticsearch對應。 先前,在預設對應中傳送至Elasticsearch伺服器的動態範本會加上硬式編碼,如此可防止開發人員在Elasticsearch中索引任何與自訂模組相關的額外資料。
- 停用搜尋建議時,搜尋欄位(表單小型搜尋)現在會如預期運作。
送貨
- 當購物者在結帳期間使用多個地址刪除產品後導覽回到購物車頁面時,應用程式現在會依預期更新運費。
- 當購物車中的某些專案符合免費送貨資格時,應用程式現在會顯示正確的調整後送貨價格。 先前,當購物車中的部分專案符合免運費資格時,應用程式不會調整運費並向購物者顯示完整運費。
- 僅限特定網站的管理員使用者現在可以為同一網站上所下的訂單建立出貨。 以前,當沒有預設存放區檢視許可權的管理員使用者嘗試將訂單傳送到管理員使用者有權存取的存放區檢視時,應用程式會擲回此例外狀況:
Notice: Undefined offset: 1 in /app/code/Magento/Catalog/Model/Product/Attribute/Backend/GroupPrice/AbstractGroupPrice.php on line 293
。
- 應用程式現在會在判斷訂單是否符合免費DHL送貨的條件時,考慮相關的購物車價格規則折扣。
- 以非基本貨幣下訂單時,出貨標籤現在會使用預期的基本貨幣,而非支援多種貨幣的商店的訂單貨幣。 GitHub-31891
- 現在,當購物者導覽離開多重送貨頁面後在結帳期間返回購物車頁面時,應用程式會顯示正確的訂單小計。 GitHub-31889
- 在管理員訂單建立期間編輯帳單資訊,不再變更具有不同預設出貨與帳單地址之客戶的出貨資訊。 GitHub-31786
- 當購物者按一下 取得送貨方式和費率 並在管理員建立訂單時選取送貨方式時,應用程式不再取消勾選 附加註解 核取方塊。
- 購物者現在可以使用「上一頁」瀏覽器按鈕,在結帳具有多個地址的訂單時返回「選取送貨方法」頁面。 之前,應用程式會顯示損毀的「選取送貨方法」頁面。 GitHub-30268
- 當購物者變更「送貨地址」多地址頁面上的數量,並按一下瀏覽器的「上一步」按鈕後,產品數量現在會依預期維持不變。
- 結帳期間套用購物車價格規則時,統一費率送貨方法費用不再為零。 GitHub-21832
- 啟用 建立出貨標籤 核取方塊且產品名稱包含Unicode字元時,當商家嘗試使用DHL出貨訂單時,應用程式不再擲回錯誤。 先前,應用程式在要求建立標籤時會顯示此錯誤:
The response is in wrong format
。
- 您可以在多網站部署中,成功向管理員下訂單,其中一個網站已啟用
United States
,而另一個網站已啟用Disable all countries
作為預設範圍。 之前,應用程式未下訂單,且顯示這個錯誤:Please check the shipping address information. "regionId" is required. Enter and try again
。
儲存
- 顯示商店首頁時,應用程式不再將
0
的字串視為空白值。 以前,應用程式將請求路徑開頭的整數值視為存放區ID,這對SEO產生非預期的影響。
- 已移除「
lib/internal/Magento/Framework/App/Action/Plugin
」下\Magento\Framework\App\ActionInterface
的外掛程式,以符合外掛程式應用來自訂另一個模組之某個模組的行為的准則。 GitHub-28050
- 現在,當您嘗試選取
Website
作為預設值,且網站建立期間停用Store View
時,應用程式會顯示此訊息:Please enable your Store View before using this Web Site as Default
。 之前,網站當機,應用程式未顯示警報。
稅金
- 應用模組現在會在驗證最小訂單金額時考慮隱藏稅捐。
- 當購物者導覽回到其購物車並在將套件產品新增到購物車後繼續結帳時,應用程式現在會如預期顯示固定產品稅額(FPT)。 GitHub-30250
- 當管理員建立現有客戶的訂單時,應用程式現在會以儲存的VAT編號預填管理員新訂單頁面之「地址資訊」區段帳單與送貨地址的 VAT編號 輸入欄位。 GitHub-31846
- 啟用
customer/create_account/vat_frontend_visibility
時,應用程式現在會在客戶註冊頁面上顯示 VAT編號 欄位。
測試
- 測試環境已升級至Redis 6.0.12。
- 已從整合測試中移除
CacheCleaner::cleanAll();
。
- 針對此案例新增測試:當客戶訂閱佇列的Newsletter時,管理員使用者可以編輯客戶帳戶。
- 已從測試中移除
cache:flush
命令,以改善Catalog
、CatalogUrlRewrite
和LoginAsCustomer
模組的執行時間。
- 已移除多餘的引數,並將POST變更為
\Magento\Logging\Model\ProcessorTest::testLoggingProcessorLogsActionShipping
中所需的GET。
主題
- 當 將JS程式碼移動到頁面 底部設定(存放區 > 設定 > 進階 > 開發人員 > JavaScript設定)和Cookie皆已啟用時,客戶登入頁面不再顯示此訊息:
The store will not work correctly in the case when cookies are disabled
。
- 標題中的帳戶連結現在遵循WCAG標準。 先前,標題中的帳戶連結包含重複的ID,導致WCAG驗證失敗。
- 應用程式現在會優先處理商店標誌影像的商店設定,而非版面配置。 之前,標誌影像的大小是固定的,不會因商店而異。
- 應用程式現在會在使用標準Magento Open Source主題的店面頁面上顯示一致的頁面元素。 之前,並非所有樣式都會套用至空白主題,因此並非所有頁面元素都會顯示在使用此主題的頁面中。 (例如,「我的訂單」頁面搜尋欄位中未出現放大鏡圖示。)
翻譯與地區設定
- 設定內嵌轉譯時,新增至字串的方括弧不再逸出。 先前,
escapeHtmlAttr
方法會將方括弧轉換為HTML實體程式碼。
- 管理員中無法翻譯的片語現在可翻譯。 (此提取請求有助於持續努力將所有管理員字串都可當地語系化。)GitHub-11175
- 範本中用來管理儲存的付款方式(我的帳戶 > 儲存的付款方式 )的文字字串現在可以翻譯。
- 從管理員傳送的訂購電子郵件現在使用商店地區設定,而不是與管理員帳戶關聯的地區設定。
UI
- 管理員頁尾現在顯示正確的產品版本。
- 來源的分頁現在會在管理員出貨建立期間如預期般顯示。
- 現在當您使用自訂日期屬性來篩選產品,而且管理員使用者地區設定為
en_GB
時,產品格線篩選器可正確運作。
- 捏合以縮放的手勢現在可在iOS裝置上的產品頁面影像中心放大鏡中如預期運作。
- Admin產品格線搜尋結果的分頁現在會依預期從每個搜尋的第1頁開始。
- 已解決縮放時顯示購物車的異常。 以前,縮放此頁面時,顯示元素會重疊。
- 使用PayPal Express結帳時顯示的訂單稽核頁面現在已成功載入。 以前,範本包含未使用的 更新傳遞方法 按鈕,在頁面轉譯期間,指令碼只會部分隱藏該按鈕。
- 當有冗長的評等名稱時,產品頁面「客戶評論」區段中的評等星級和評論文字現在會有適當的間距。
- 現在,選項會如預期在「存檔商業發票」、「出貨」及「銷退折讓單」頁面的「作業」下拉式清單中顯示。
- 當
datetime
元件timeOnly
選項設為 是 時,應用程式現在會顯示正確的時間值。 GitHub-23157
- 在管理員 內容 > 介面工具 上建立新Widget後,您現在可以移除版面配置更新。 GitHub-29936
- 移除配置更新 按鈕現在可在您從管理員 內容 > Widget 新增的任何配置上按預期運作。 之前,新增多個版面時,此按鈕無法用於第一個選取的版面以外的任何版面。 GitHub-30286
- 應用程式現在會使用在版面配置檔案中設定的頁面標題,作為客戶帳戶編輯檔案的瀏覽器頁面標題。 之前,
Magento\Customer\Controller\Account\Edit
控制器動作強制頁面標題值為Account Information
。 GitHub-30724
-
這些頁面已新增核取方塊,允許商家在顯示和隱藏密碼之間切換:
- 客戶登入
- 客戶註冊
- 客戶編輯(「變更密碼」區段)
- 客戶設定新密碼GitHub-31557
- 移除管理員在變更屬性集後將產品新增至分組產品集時出現的網格儲存格中多餘標頭。 GitHub-30911
- 應用程式現在會在 客戶 > 登入 頁面的登入區域上顯示
DateRange
篩選器。 之前,應用程式顯示Text
篩選器。 GitHub-30328
- JavaScript已從範本檔案中移除,並移至個別檔案,以減少管理員頁面上的轉譯問題。 之前,在已啟用HTML縮制的部署中,管理員頁面無法正確呈現。 應用程式顯示這個錯誤:
An error has happened during application run. See exception log for details
。 GitHub-32454
dropdownDialog
Widget現在僅載入其所需的可拖曳且可調整大小的jquery-ui
區塊。 以前,它會載入大量不必要的程式碼,這會增載入入時間並降低效能。 GitHub-32810
URL重新寫入
- 透過大量更新將產品指派給網站後,多網站部署中特定網站的產品URL重寫現在會如預期產生。
- 當父類別啟用URL索引鍵的 使用預設值 核取方塊時,應用程式現在會正確產生子類別的URL路徑。 先前,在多存放區檢視部署中使用不同的URL索引鍵時,在階層中移動類別會導致
url_path
值不正確。 GitHub-16202
- 應用程式現在會在您移動類別階層中的類別時,更新指派給所有存放區範圍的類別
url_path
。 以前,在階層中移動類別會導致url_path
不正確。
- 使用自訂URL從管理員建立的URL重新導向現在可成功運作。 之前,GraphQL會快取來自GraphQL
urlResolver
查詢的回應,並在URL重寫更新後傳回舊值。
- 現在當產品從網站移除時,產品URL重寫會如預期移除。 GitHub-24184
- 已在
app/code/Magento/UrlRewrite/Model/ResourceModel/UrlRewriteCollection.php
集合的addStoreFilter
函式中新增store_id
的main_table
參考。 先前,將join
新增至也包含store_id
欄的資料表上的集合時,就會發生問題。 GitHub-31853
PUT /V1/products/:sku
REST端點現在會依預期重新產生產品URL重寫。 之前,端點會重新產生產品url_key
值,但不會重寫URL。 GitHub-30316
使用者
- 您現在可以儲存有效的新使用者角色(管理員 系統 > 許可權 > 使用者角色),並選取整個
Catalog
樹狀結構,不包括Edit Product Design
( 目錄 > 詳細目錄 > 產品 > 編輯產品設計)。 之前,應用程式沒有儲存此角色的使用者所做的產品變更,且會顯示此錯誤:Not allowed to edit the product's design attributes
。 GitHub-31973
- 應用程式現在會在為新管理員使用者產生電子郵件時,使用正確的自訂電子郵件範本。 以前,應用程式使用舊的預設範本,省略了管理員的名字和姓氏。
- 應用程式現在會在傳送電子郵件給新使用者時,使用正確的電子郵件範本。 以前,即使選取了自訂範本,應用程式也會使用預設範本。
VersionCMS
- 應用程式現在會在您變更版面配置後,將正確的主題套用至CMS頁面。 先前,無論指派給頁面的佈景主題為何,應用程式都會在您儲存版面變更後,將指派的佈景主題變更為Luma。
影片
- 現在當進階JavaScript套件組合啟用及使用時,產品庫可如預期提供影片。 GitHub-32501
- 屬於可設定產品之簡單產品的YouTube影片現在可如預期運作。 之前,影像是依ID而非位置排序。 因此,部分影片被視為影像。 GitHub-29690
Web API框架
- 目錄API現在可以新增新值和移除舊值,正確更新產品的自訂選項值。 之前API不會刪除舊值。
- POST
/V1/guest-carts/:cartId/billing-address
現在會以整數傳回位址ID,而非字串。
Widget
- 管理員現在可以刪除所有Widget版面更新。 先前,當Widget有多個版面更新時,管理員只能刪除第一個版面。
- 按一下產品Widget上的 加入購物車 按鈕不再導致頁面重新載入。 先前,按一下產品Widget上的 加入購物車 按鈕導致目前頁面在產品加入購物車之前重新載入。
希望清單
- 當您從願望清單按一下產品的 編輯專案 按鈕時,應用程式不再重設可設定產品的組態設定。 GitHub-32119
- 當您在希望清單中使用可自訂的檔案選項來更新產品時,應用程式現在會顯示正確的產品價格。 以前,應用程式顯示錯誤的產品價格,並且不顯示上傳檔案的連結。
- 對於有多個希望清單的客戶,其願望清單中的產品總數現在與希望清單中的專案數量相符。 之前缺貨的產品會包含在產品總數中。
- 將產品新增至訂單後,應用程式現在會從願望清單中移除產品。 GitHub-30260
- 購物者現在可以從願望清單新增相關產品至購物車。 以前,當購物者按一下「相關產品」區段的「選取全部」連結時,應用程式僅新增可設定的產品,而非可設定的產品及其相關產品。 GitHub-32274
已知問題
問題: reCAPTCHA停用時出現 JavaScript錯誤。 如果停用簽出reCAPTCHA,則簽出會繼續進行,但應用程式會在主控台記錄檔中顯示Uncaught TypeError
錯誤。 此問題將在較新版本中修正。
問題: 內容安全性原則錯誤。 店面在主控台記錄檔中顯示下列錯誤: The Content-Security-Policy directive frame-ancestors does not support the source expression unsafe-inline
。 店面效能不受影響。
問題: 禮品卡金額的PayPal信用卡顯示異常。 啟用PayPal信用並設定多個禮品卡金額時,如果購物者變更禮品卡價值的金額,店面不會更新分期付款的金額。 Adobe Commerce 2.4.4和Magento Open Source2.4.4將包含此問題的修正。
問題: SKU新增至購物車的產品無法使用 新增至訂單 按鈕。 在由SKU新增產品至訂單後,當您按一下 新增至訂單 按鈕時,應用程式會顯示此錯誤訊息: An error has happened during application run
。 產品未新增至購物車。 因應措施:使用「新增產品」功能。
社群貢獻
我們感謝更廣泛的Magento Open Source社群,並感謝他們為此版本所作出的貢獻。
社群工程團隊Magento貢獻者會依月、季和年維護最佳貢獻個人和合作夥伴的清單。 從該貢獻者頁面,您可以前往GitHub上的合併個人資料連結。
合作夥伴貢獻
下表重點說明合作夥伴所做的貢獻。 下表列出提出提取請求的合作夥伴、外部提取請求,以及與之相關聯的GitHub問題編號(若有)。
系統需求
我們的技術棧疊是以PHP和MySQL為基礎所建置。 如需詳細資訊,請參閱系統需求。
安裝和升級指示
您可以使用Composer安裝Magento Open Source2.4.3。
移轉工具套件
資料移轉工具可協助將現有Magento1.x存放區資料傳輸至Magento2.x。此命令列介麵包含驗證、進度追蹤、記錄和測試功能。 如需安裝指示,請參閱安裝資料移轉工具。 請考慮探索或參與資料移轉存放庫。
程式碼移轉工具組可協助將現有的Magento1.x存放區擴充功能和自訂功能傳輸至Magento2.x。命令列介麵包含轉換Magento1.x模組和版面的指令碼。