Magento Open Source 2.4.7發行說明
建立對象:
- 經驗豐富
- 管理員
- 開發人員
Magento Open Source 2.4.7引入對PHP 8.3的支援。其中包含數百項品質修正和增強功能。 核心撰寫器相依性和協力廠商程式庫已升級至最新可用版本。 此版本提高GraphQL對自訂屬性和GraphQL解析器快取的涵蓋範圍。 此外,也推出對最近更新的FedEx和UPS服務的支援。
其他發行資訊
雖然這些功能的程式碼已與Magento Open Source核心程式碼的發行版本整合,但其中數個專案也獨立發行。 這些專案的錯誤修正記錄在每個專案檔案中提供的個別專案特定發行資訊中。
Magento Open Source 2.4.7重要功能
請檢視此版本中的下列重點專案。
安全性增強功能
此發行版本包含與Adobe Commerce 2.4.6-p5、2.4.5-p7和2.4.4-p8中包含的相同安全性修正和平台安全性改善。 如需這些已修正問題的最新討論,請參閱Adobe安全性公告。
目前尚未發生與這些問題相關的已確認攻擊。 但是,某些漏洞可能會被用來存取客戶資訊或接管管理員工作階段。 這些問題大多需要攻擊者先取得Admin的存取權。 因此,我們提醒您採取一切必要步驟來保護您的管理員,包括但不限於這些工作:
- IP允許清單
- 雙因素驗證
- 使用VPN
- 使用唯一位置而非
/admin
- 良好的密碼衛生
其他安全性增強功能
此版本的安全性改善專案可改善對最新安全性最佳實務的合規性。
-
未產生快取金鑰的行為變更:
- 區塊的非產生快取金鑰現在包含與自動產生之金鑰的前置詞不同的前置詞。 (未產生的快取金鑰是透過範本指示詞語法或
setCacheKey
或setData
方法設定的金鑰。) - 區塊未產生的快取金鑰現在只能包含字母、數字、連字型大小(-)和底線字元(_)。
- 區塊的非產生快取金鑰現在包含與自動產生之金鑰的前置詞不同的前置詞。 (未產生的快取金鑰是透過範本指示詞語法或
-
自動產生優惠券代碼數目的限制。 Magento Open Source現在會限制自動產生的抵用券代碼數量。 預設最大值為250,000。 商戶可以使用新的 Code Quantity Limit 組態選項(Stores > Settings:Configuration > Customers > Promotions),以防止許多優惠券可能讓系統不知所措。
-
最佳化預設管理員URL產生程式。 預設管理員URL的產生已針對增加的隨機性而最佳化,使產生的URL較難預測。
-
新的全頁快取組態設定有助於減輕與HTTP
{BASE-URL}/page_cache/block/esi
端點相關的風險。 此端點支援來自Commerce配置控點和區塊結構的不受限制、動態載入的內容片段。 新的 Handles params size 組態設定會設定此端點的handles
引數值,此引數會決定每個API允許的控點數目上限。 此屬性的預設值為100。 商戶可從管理員(Stores > Settings:Configuration > System > Full Page Cache > Handles params size)變更此值。 請參閱設定Commerce應用程式以使用Varnish。 -
已新增子資源完整性(SRI)支援,以符合PCI 4.0對驗證付款頁面上指令碼完整性的要求。 子資源完整性(SRI)支援為駐留在本機檔案系統中的所有JavaScript資產提供完整性雜湊。 預設SRI功能僅在管理員和店面區域的付款頁面上實作。 不過,商家可以將預設設定延伸至其他頁面。 請參閱 Commerce PHP開發人員指南.中的子資源完整性
-
內容安全策略 (CSP) 的更改 — Adobe Systems商務內容安全策略 (CSP) 的配置更新和增強功能,以符合 PCI 4.0 要求。 有關詳細資訊,請參閱商務 PHP 開發人員指南 中的內容安全策略。
-
商務管理員和店面區域的付款頁面的預設 CSP 配置現在是
restrict
模式。 對於所有其他頁面,預設配置為report-only
模式。 在 2.4.7 之前的版本中,CSP 是以模式為所有report-only
頁面配置的。 -
新增 nonce 提供者以允許在 CSP 中執行內嵌腳本。 Nonce 提供程序有助於為每個請求生成唯一的 Nonce 字串。 然後,這些字串將附加到 CSP 標頭。
-
添加了用于配置自定義 URI 的選項,以報告 CSP 衝突,適用於管理員中的建立訂單頁面和店面中的結帳頁面。 您可以從管理員添加配置,也可以通過將 URI
config.xml
添加到檔來添加配置。注意
將 CSP 配置更新為restrict
模式可能會阻止管理員和店面中付款页面上的現有內聯腳本,這在載入頁面時會導致以下瀏覽器錯誤:Refused to execute inline script because it violates the following Content Security Policy directive: "script-src
。 更新白名單設定以允許必要的文本,以修正這些錯誤。 請參閱 Commerce PHP 開發人員指南_中的_疑難解答。
-
-
對透過 REST 和 GraphQL API 傳輸的支付資訊實行原生速率限制。 商家現在可以 為使用 REST 和 GraphQL 傳輸的支付資訊配置速率限制 。 此新增的保護層可支援防止梳理攻擊,並可能會減少同時測試許多信用卡號碼的梳理攻擊的數量。 這是現有REST端點預設行為的變更。 請參閱速率限制。
-
isEmailAvailable GraphQL查詢和(V1/customers/isEmailAvailable) REST端點的預設行為已變更。 依預設,API現在一律傳回
true
。 商戶可以透過將Admin中的 Enable Guest Checkout Login 選項設定為yes
來啟用原始行為,但這麼做可能會將客戶資訊公開給未經驗證的使用者。
平台增強功能
此版本的Platform升級可提高對最新安全最佳實踐的合規性。
Magento Open Source 2.4.7 包括下列平台升級:
- PHP 8.3相容性。 此發行版本引入對PHP 8.3的支援。Magento Open Source現在同時支援PHP 8.3和8.2。PHP 8.2將受支援直到其服務結束(EOS)日期為2025年12月。 在2025年12月之後,所有執行2.4.7部署的商家都應移轉至PHP 8.3。
Magento Open Source 2.4.7仍與PHP 8.1相容,僅供升級之用。 PHP 8.1不受支援,也不建議使用。 Magento Open Source 2.4.7核心程式碼、所有隨附的擴充功能,以及所有Adobe擁有的擴充功能和SaaS服務都與PHP 8.3相容。
-
RabbitMQ 3.13支援。 此版本相容於最新版RabbitMQ 3.13。相容性仍與RabbitMQ 3.11和3.12相容,兩者分別支援至2024年8月和2024年12月,但Adobe建議僅將Magento Open Source 2.4.7與RabbitMQ 3.13搭配使用。
-
Composer 2.7.x。 與Composer 2.2.x的相容性保持不變。
-
清漆快取7.4支援。 此版本相容於最新版的Varnish Cache 7.4。6.0.x和7.2.x版本仍維持相容性,但我們建議僅將Magento Open Source 2.4.7與Varnish Cache 7.4或6.0版LTS搭配使用。
-
Elasticsearch 8.11 相容性
-
OpenSearch 2.12和OpenSearch 1.3支援
-
Redis 7.2
-
已將
extjs
資料庫取代為最新版本的jsTree
。 -
已移除
jquery/fileUpload
資料庫。
Magento Open Source核心程式碼中的所有JavaScript程式庫和NPM相依性均已更新至最新可用版本。 所有Laminas程式庫相依性都已更新為與PHP 8.3相容的最新版本。
其他升級
-
Commerce UPS XML API閘道已移轉至新的Commerce UPS REST API,以支援UPS對其API安全性模型進行的更新。 (UPS正在針對所有API實作OAuth 2.0安全性模型(持有人權杖)。) 所有先前的Commerce UPS XML API已從Magento Open Source 2.4.7程式碼基底中移除。
-
Magento Open Source 與FedEx的整合已從舊版FedEx WSDL Web Services移轉至最新的FedEx RESTful API。 FedEx網站服務追蹤、地址驗證及驗證郵遞區號WSDLS將於2024年5月淘汰。
-
新增對新USPS Ground Advantage送貨方法的支援。 這是與USPS的新配送方法USPS Ground Advantage (於2023年7月發行)的開箱即用整合。 這項新整合可用於透過USPS配送服務擷取運費、排程交貨與退貨。 USPS Ground Advantage送貨方法取代這些在USPS Ground Advantage送貨方法發行時已淘汰的送貨方法:
- USPS零售場
- 第一級封裝服務
- 包裹選取基底
-
Temando送貨模組已從核心Magento Open Source程式碼庫中移除。 Magento Open Source 2.4.4已棄用此功能。
效能與擴充性增強功能
Magento Open Source 2.4.7包含下列Magento Open Source效能和擴充性的增強功能:
-
增強索引子管理。 新的
indexer:set-status
命令支援索引器狀態的動態管理。 管理員使用者可以使用此命令將索引子狀態變更為suspended
、invalid
或valid
。 此功能在大量大量作業(例如產品匯入或更新)期間管理系統效能時,特別有用,因為它允許控制索引器何時由系統的cron作業自動觸發。 請參閱管理索引子。 -
具有許多選項的複雜產品的產品清單頁面。 針對產品清單頁面(包含具有超過100個選項的複雜產品),已改善載入時間。 GraphQL要求依類別列出產品的效能也有所改善。
-
銷售規則效能改善。 透過許多(約100,000個)有效的銷售規則,改善企業部署的效能。 大量實作促銷活動的企業部署通常會部署許多作用中的購物車規則。 在結帳作業期間,這些執行Magento Open Source 2.4.7的企業部署型別不會看到任何與已設定購物車價格規則數量相關的效能降低。
-
針對擁有許多存放區的部署,以更快的速度儲存存放區層級組態的作業。 在擁有超過500個存放區的部署中儲存組態設定可能很耗時。 新的非同步設定模組會執行使用消費者處理訊息佇列中儲存作業的cron工作,以啟用非同步設定儲存作業。 AsyncConfig預設為停用。
-
加速產生大型組態的組態快取。 啟用設定快取時,
bin/magento cache:clean config
命令現在會預先預熱設定快取。 這能縮短產生大型組態之設定快取所需的停機時間。 組態儲存作業不會再於將資料寫入快取之前清除config_scopes
快取,因此也減少了寫入組態資料時其他要求鎖定的時間。
Braintree
-
Vaulted PayPal與Pay Later變更 — 先前曾儲存/儲存PayPal帳戶的登入客戶可選擇以下方式付款:
- Pay Now (使用者無須登入其PayPal帳戶,即可使用預設卡付款)
- 使用不同的資金來源付款
- 使用其他帳戶付款
- PayPal Pay Later或PayPal Credit按鈕
-
Google Pay 的 3DS支援 — 包含Google Pay非標籤化卡片的3DS驗證支援。 如需詳細資訊,請參閱Braintree檔案。
-
Vault Apple Pay Payments — 允許登入的客戶將其Apple Pay付款儲存至其Commerce商店帳戶,以便用於未來的交易。 這可減少結帳的步驟數,並為回頭的客戶建立更快速的結帳體驗。
-
Vault Google Pay Payments — 允許登入的客戶將其Google Pay付款儲存至其Commerce商店帳戶,以便用於未來的交易。 這可減少結帳的步驟數,並為回頭的客戶建立更快速的結帳體驗。
-
Vault Venmo Payments — 允許登入的客戶將其Venmo帳戶儲存至其Commerce商店帳戶,以便用於未來的交易。 這可減少結帳的步驟數,並為回頭的客戶建立更快速的結帳體驗。
-
Vault ACH Payments — 允許登入的客戶將其ACH付款儲存至其Commerce商店帳戶,以便用於未來的交易。 這可減少結帳的步驟數,並為回頭的客戶建立更快速的結帳體驗。
-
結帳頂端的 Express Payment按鈕 — 為了提供更快速的結帳體驗,我們在結帳開始時引入了Express Payment選項。 客戶現在可以透過PayPal、PayPal Pay Later、Apple Pay和Google Pay Express付款來付款。
-
在Admin Configuration 中的 Braintree發行說明和支援連結 — 商家現在可以直接從Commerce Admin連結Braintree線上支援和發行說明。
-
GraphQL支援除Venmo 之外的所有Braintree付款方法 — GraphQL API中公開更多設定。 這對Headless應用程式特別有用。
-
帳戶區域 中的 Vaulting付款 — 登入的客戶現在可以在客戶帳戶區域儲存庫/商店新信用卡/借記卡和PayPal帳戶。 以前,客戶只能在儲存付款以供稍後在結帳時完成交易時進行儲存和儲存,現在他們可以在無需建立新交易的情況下儲存新的信用卡/借記卡和PayPal帳戶。
-
無摩擦交易 — 無摩擦交易可減少客戶完成線上信用卡/借記卡交易的點按/步驟數,加速付款程式。 以前(啟用3DS時),每個客戶都會受到3DS的挑戰。 有了新的「順暢交易」功能,客戶只有在銀行要求3DS時才會受到挑戰。 這會減少購物車放棄率、增加轉換率,並帶來更多銷售額。
-
爭議Webhook — 當客戶對Braintree中的交易提出爭議時,爭議狀態現在會傳遞給Commerce。 可在 Sales > Order 格線中搜尋並附加至每個訂單。
GraphQL
Magento Open Source 2.4.7包含增強的GraphQL快取功能、對自訂屬性的GraphQL結構描述支援、對headless訂單取消的支援,以及改進的解析器快取。
-
更靈活的購物車管理。
clearCart
突變現在會在單一動作中清除指定購物車的內容。 它取代已棄用的clearCustomerCart
變異。 -
建立購物車變動的改進。 已新增
createGuestCart
突變,以取代已棄用的createEmptyCart
突變。 先前,如果您使用createEmptyCart
,便無法判斷購物車是針對來賓還是已登入的客戶。 -
訂購專案現在包含產品影像。
OrderItemInterface
公開產品影像,可讓影像與訂購的產品相關聯,並更有效率地載入。 GitHub-32369 -
已擴充對解析程式快取的支援。 下列GraphQL查詢解析器現在可在GraphQL解析器結果快取中快取,以改進透過POST請求提交查詢時的效能:
Magento\CustomerGraphQl\Model\Resolver\Customer::resolve
Magento\CustomerGraphQl\Model\Resolver\CustomerAddress::resolve
Magento\CustomerGraphQl\Model\Resolver\IsSubscribed::resolve
Magento\CatalogGraphQl\Model\Resolver\Product\MediaGallery::resolve
-
訂單取消支援。 cancelOrder突變可讓客戶取消訂單,傳遞其識別碼和取消原因。
storeConfig
中的新order_cancellation_enabled
和order_cancellation_reasons.description
回應欄位
查詢支援使用者啟動的訂單取消請求。 請參閱查詢商店的訂單取消設定
-
對自訂屬性的增強支援。 GraphQL已透過豐富API資料來支援所有屬性型別,進而增強自訂屬性支援。 GraphQL EAV屬性方案現在支援在管理員中擴充客戶屬性和客戶位址物件,以及使用GraphQL擷取它們。 特定的增強功能包括:
- 擴充/新增自訂屬性對特定領域的支援,例如客戶和客戶地址
- 新增自訂屬性的快取
- 增強產品的現有自訂屬性支援
-
增強的GraphQL快取功能可改善頁面載入速度。 快取功能已新增到這些查詢,改善了大部分PWA頁面的頁面載入時間速度:
-
已改善GraphQL剖析器效能。 透過減少每個請求呼叫剖析方法的次數,GraphQL剖析器效能已有所改善。 現在只呼叫一次。 之前,至少呼叫過剖析器三次。
現有變動的新欄位
-
已將
quickorder_active
欄位新增至storeConfig和availableStores查詢。 此欄位指出是否啟用快速訂購功能。 -
已將下列欄位新增至
setBillingAddressOnCart
和setShippingAddressesOnCart
變動:fax
middlename
prefix
suffix
新的查詢和變動
已棄用的查詢和變更
clearCustomerCart
突變createEmptyCart
突變attributesMetadata
查詢customAttributeMetadata
查詢
Inventory management
Inventory management (v1.2.7)提供管理產品詳細目錄的工具。 這項社群開發的功能與Adobe Commerce和Magento Open Source核心程式碼整合。
Magento Open Source擴充功能中繼資料
此版本包含Magento Open Source擴充功能中繼套件v1.0.0,此中繼套件會自動將特定的Magento Open Source擴充功能與此核心版本整合。 此中繼資料中包含的此擴充功能版本會在執行composer update
時安裝,以簡化升級至最新核心版本時擴充功能的程式。 此擴充功能會維護獨立的發行排程。
適用於 Magento Open Source 2.4.7 的 Magento Open Source 擴充功能元包包含下列擴充功能:
此擴充功能中繼資料的未來版本將包含其他擴充功能。
PWA Studio
PWA Studio v14.0與Magento Open Source 2.4.7-beta1相容。 其中包含多項改善協助工具的增強功能。 如需有關錯誤修正的資訊,請參閱PWA Studio發行版本。 如需PWA Studio版本及其相容的Magento Open Source核心版本的清單,請參閱版本相容性。
Web API框架
此發行版本推出兩個新的REST端點,提供REST API GET
和POST V1/products/attributes
端點限制的因應措施。 這些端點會針對 Use in Layered Navigation 選項的Filterable(with results)
和Filterable(no results)
選項,傳回is_filterable
屬性的相同值。 (is_filterable
屬性屬性屬於型別Boolean
,不允許將此屬性設定為Filterable(no results)
。)
兩個新的REST端點已實作作為因應措施:
PUT /V1/products/attributes/{attributeCode}/is-filterable/{isFilterable}
。 路徑引數:attributeCode
(String
)和isFilterable
(int
值為: 0表示否; 1表示Filterable (with results)
; 2表示Filterable (no results)
)。GET /V1/products/attributes/{attributeCode}/is-filterable
。 路徑引數:attributeCode
(String
)。
已修正的問題
我們已修正Magento Open Source 2.4.7核心程式碼中的數百個問題。 此版本中包含的已修正問題子集說明如下。
安裝、升級、部署
- 已從設定程式中移除不必要的快取操控。 以前,Magento Open Source會在執行
bin/magento setup:db-data:upgrade
或bin/magento setup:upgrade
時將其設定寫入磁碟,這是不必要的,這會在安裝期間導致某些模組發生問題。 GitHub-38124
- 因記憶體不足和大型資料表造成的部署問題已解決。
bin/magento setup:upgrade
命令不再失敗,因為與大型MySQL資料表相關的記憶體超過錯誤。
- 刪除
app/etc/config.php
後,bin/magento setup:install
現在成功完成。 之前,在安裝期間不會重新產生遺失的檔案,Magento Open Source擲回錯誤。 GitHub-37805
- 在安裝同時安裝資料表和相關
mview
索引器的新模組時,bin/magento setup:upgrade
已重構為成功執行。 GitHub-37304
- 資料庫還原不再因分隔符號錯誤而失敗。 之前,Magento Open Source在執行
bin/magento setup:rollback --db
時擲回此錯誤:Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'delimiter' at line 1, query was: delimiter ;;
。
bin/magento setup:upgrade
命令不再因這種型別的MySQL記憶體限制相關錯誤而失敗:PHP Fatal error: Allowed memory size of 4294967296 bytes exhausted (tried to allocate 20480 bytes)
。 多選屬性移轉已最佳化,以在setup:upgrade
期間消耗較少的記憶體。
- 現在,從管理員和命令列產生資料庫備份後,可如預期般運作。 之前,Magento Open Source擲回此錯誤:
Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'delimiter' at line 1, query was: delimiter ;;
。
- 執行
setup:config:set
而不指定--lock-db-prefix
引數不再清除env.php
檔案中的目前值。
- 清漆設定已更新,以防止訪客使用者存取與其他客戶群組相關的快取內容。
- 現在安裝同時安裝資料表和相關
mview
索引器的新模組時,bin/magento setup:upgrade
會順利完成。
- 當訊息佇列主題不包含主題名稱時,
bin/magento setup:upgrade
現在會顯示資訊更豐富的錯誤訊息。 GitHub-34246
- 當合併的XML檔案無效時,
bin/magento setup:upgrade
現在會顯示資訊更豐富的錯誤訊息。 錯誤訊息現在包含檔案名稱。
管理員UI
- 儀表板現在預設會成功停用圖表。 GitHub-38430
- 「管理銷售」功能表現在可正確顯示子功能表。 以前,分欄符號無法正常運作,並且某些子功能表未顯示。 GitHub-37812
- 在格線中選取多個頁面時,管理員 Content > Pages 現在會顯示 Select 下拉式功能表選項。 GitHub-35386
- 修正組態設定中預設值
system/dashboard/enable_charts
的路徑。 圖表現在會如預期在Admin中顯示。 GitHub-37668
- 修正「管理客戶」網格的顯示問題。 以前,格線資料欄並未完全包含在顯示的頁面中。
- 「管理」靜態格點的列現在會依預期套用游標停留顏色。 GitHub-35358
- 當購物者輸入不含空白字元的希臘郵遞區號時,結帳工作流程不再顯示警告。 GitHub-36676
- 管理員
It's time to change your password
連結現在會如預期重新導向至「變更管理員密碼」頁面。 GitHub-37902
- 產品頁面的
title
標籤和meta title
標籤現在都包含頁面標題尾碼。 GitHub-37680
- 產品庫存狀態條件現在已正確套用至相關的產品規則。
- Login as Customer 按鈕現在在行動裝置上正確顯示。
- 如果登入的管理員使用者缺少新增客戶群組的許可權,Adobe Commerce將不再顯示管理員 Add new customer group 按鈕。
- 具有受限制許可權的管理員使用者現在可以儲存其父產品已指派到不同範圍的子產品。 之前,如果父產品未指派至子產品已變更的範圍,則Commerce會讓父產品的快取失效。
- 管理員使用者現在可以成功在管理員篩選器檢視之間切換,而檢視資料不會損毀或遺失。 GitHub-37529
套裝產品
customerCart
查詢現在會如預期傳回套件組合產品的所有套用折扣。 之前,套用至套件組合產品的總折扣會傳回為零。
- 產品詳細資料頁面現在會顯示已套用100%折扣的套件組合產品的正確價格。 之前,Magento Open Source並未對捆綁產品的價格套用100%折扣。
- 購物車價格規則現在套用至產品組合,而非動態定價套裝產品的每個子產品。
- 修正當您使用
POST V1/shipment
端點建立包含套件組合產品的出貨時發生的錯誤。 端點現在會依預期新增專案,且不再傳回此錯誤:The shipment couldn't be saved
。
- 當產品已設定 together 出貨型別時,您現在可以使用
GET V1/shipment/
API路由,以組合產品建立出貨。 套件組合產品現在也會根據其出貨型別屬性進行驗證。
- 購物者現在可以編輯店面購物車中捆綁產品的數量。 先前,在店面購物車中編輯產品並顯示錯誤時,Adobe Commerce不會處理
ItemId
的null值。 GitHub-37696
- 現在,您可以使用包含斜線(
/
)字元的SKU,將套件產品成功新增至管理員訂單。 之前,管理員使用者無法使用此方法將產品新增至管理員訂單,而Magento Open Source擲回JavaScript錯誤。
- 為對應的簡單產品啟用 Qty Uses Decimal 時,管理員使用者現在可以為新新增的套件組合選項設定十進位預設值。 以前,只能為儲存的選取專案設定小數值。
- 針對儲存具有大量選項的套件組合產品而最佳化的效能
- 套件組合產品現在無需在產品選項中複製SKU即可成功匯入。 之前,當您匯入含有重複專案的套件產品時,Magento Open Source會在產品選項中建立多個重複的SKU。
- 現在,當套件中的其中一個產品無存貨時,即可正確計算套件組合產品價格。 先前,如果屬於該套裝一部份的產品無庫存,則會從價格計算中移除該產品。
- 現在,當最後一個必要的子產品已購買時,套裝產品會顯示為無庫存。 以前,當簡單的產品無庫存時,店面上的捆綁產品會顯示為有庫存。
- Performance issues when adding bundle products with non-required options to the cart using the
addBundleProductsToCart
mutation have been resolved.
- The
categoryList
query now returns all bundle options as expected when the Show out-of-stock products configuration setting is enabled. Previously, out-of-stock options were not included in the query response.
- Bundle products created with
POST V1/products
now succeed when catalog price scope is set towebsite
. 以前,發生完整性限制違規。 GitHub-35595
快取
- 現在,在快取設為Fastly CDN (Caching Application=Fastly CDN) 的商店中,購物者可以看到類別。 這影響了客人購物者和註冊客戶。
- 登入后的快取 Cookie 現在在瀏覽網站後是一樣的。 以前,登入 控制器發送了錯誤的緩存Cookie,並且頁面可能已緩存多次。
- 來自包含 CMS 塊的 CMS 頁面上的 GraphQL GET 作的回應現在在 Fastly 快取中按預期清除。 後續的排程更新現在會顯示這些頁面的準確更新內容。
- 當父產品的其中一個子產品已從「管理員」中儲存時,父產品的頁面快取現在會如預期般清除。 引入了外掛程式檢查,以達到可配置變體的緩存失效,類似於其他產品類型,而不考慮索引器狀態(計劃或即時)。 以前,從管理員更新可配置變體后,店面上的價格未正確更新。
- 添加了 AWS 憑證的快取機制。 憑證供應商現在使用 Commerce 快取來緩存從適用於 EC2 配置的 AWS 檢索的憑證。
- 用於在保存與可配置產品關聯的簡單產品時添加可配置緩存標記外掛程式現在按預期工作。 當簡單的產品由 更新
POST V1/products
時,所有相關的可配置緩存標記將按預期刪除。 以前,並非所有價格都在店面更新,必須手動清除緩存。 GitHub-36726
購物車與結帳
- Magento Open Source現在會在產生整頁可快取頁面(例如產品詳細資料頁面(PDP)和CMS頁面)時(當啟用永久購物車時),不載入使用者特有的報價資料,藉此最佳化效能。 以前,系統會在產生這些頁面期間不必要地載入使用者特定工作階段和報價資料,進而影響效能。
- 自訂位址自訂屬性現在會如預期儲存在資料庫中。 之前,儲存在資料庫中的屬性值會加上屬性代碼。
- 改善產品屬性的購物車規則篩選文字產生。 個別產品不再載入多次。
- 現在,當結帳期間發生錯誤,且購物者不再回到先前的結帳步驟時,Magento Open Source會顯示資訊性錯誤訊息。 以前,購物者會返回送貨頁面。
cart
查詢不再傳回虛擬購物車的送貨方法和地址。 先前,當購物車同時包含實體和虛擬產品,且所有實體產品被移除時,購物車查詢回應會繼續包含送貨資訊。
- Magento Open Source現在會在觸發購物車新增動作時顯示資訊訊息。 以前,
The requested qty is not available
並不總是根據需要顯示在店面上。
- 對於擁有大型通訊簿的客戶,結帳頁面載入時間已得到改進。 Magento Open Source現在僅處理設定中 Customer Addresses Limit 指定的 客戶 地址數量。 之前,Magento Open Source會載入整個通訊錄。
- 當一個專案無存貨時,現在可以在購物車中依預期變更有存貨專案的產品數量。 過去,購物者無法在任何專案無存貨時變更產品數量。
AdvancedSalesRule
產品屬性篩選器現在可正確搭配十進位屬性後端型別運作。 因此,Coupon Type
設為 No Coupon 的購物車規則現在可如預期般運作。
- 整個購物車折扣的全部金額現在會依預期套用至同時包含套裝和可設定產品的購物車。
- 客戶區段Cookie現在會遵守Cookie的網域設定。 以前,即使工作階段已共用,迷你購物車在包含子網域的存放區中也不會如預期更新。
- 將訂單運送至多個地址時,區域ID處理期間不會再觸發錯誤。
- 在購物車層級套用的固定折扣金額現在是正確的。GitHub-37496
- 現在,當購物者在選取固定運費送貨方式(其送貨方式設定為條件的購物車價格規則適用)後套用優惠券時,優惠券將成功套用至訂單。 以前,購物車頁面顯示「優惠券無效」錯誤,且未套用優惠券。 GitHub-34866
- 現在,當購物者在選取固定運費送貨方式(其送貨方式設定為條件的購物車價格規則適用)後套用優惠券時,優惠券將成功套用至訂單。 以前,購物車頁面顯示「優惠券無效」錯誤,且未套用優惠券。 GitHub-34866
- 當購物者使用Chrome自動完成填寫其送貨地址,然後在重新載入送貨方法區塊之前按一下 下一步 時,My billing and shipping address are the same 核取方塊現在預設保持勾選狀態。 GitHub-33725
quote_item
表格中的applied_rule_ids
值現在包含套用的規則ID的正確清單。 過去,此值僅包含最後套用的規則ID。
- 現在當工作階段從伺服器移除時,會重設本機儲存空間中的迷你購物車和客戶資料。 先前,移除工作階段檔案時,此資料仍會顯示。
- 啟用永久購物車時,不再錯誤地從管理員合併分散式購物車。
- 購物車稅和運送估算程式現在會正確反映預設目的地設定。 先前,當您設定預設稅捐目的地計算設定並指定州/地區和ZIP時,Estimate Tax and Shipping 下的購物車中只會顯示ZIP值。 這是因為在從管理員叫用設定預設區域ID的條件陳述式之前,Magento Open Source將區域ID設定為undefined 。
- 啟用永久性購物車時,Magento Open Source在結帳期間不再擲回此錯誤:
Invalid state change requested
。 先前,擲回此錯誤時,偶爾會建立多個具有相同quote_id
的訂單。
- 迷你購物車現在會顯示反映購物車稅務組態設定的套裝產品價格。 之前,迷你購物車一律會將稅金納入套裝產品的價格中。
- 從購物車頁面提供的運費估計現在準確。
collectShippingRates
現在只設定一次。 先前是重複送貨預估。 GitHub-36648
- 指定購物車中的產品無存貨時,
cart
查詢不再傳回錯誤。 以往,使用此查詢進行購買的購物者,在專案無庫存,且結帳頁面為空白時,無法完成購買。
- 如果頁面在登入行動環境期間重新載入,則對
POST V1/guest-carts/<cartId>/shipping-information
的來賓API請求不再傳回cancel
狀態。 之前,Magento Open Source擲回500錯誤並記錄此例外狀況:TypeError: Argument 2 passed to Magento\CustomerCustomAttributes\Model\Plugin\ProcessCustomerShippingAddressCustomAttributes::beforeSaveAddressInformation() must be of the type string, null given
。
- 當套用購物車規則的 Subtotal (Excl. Tax) 條件時,免運費資格現在會如預期計算。 GitHub-36760
cart
查詢現在會傳回產品的正確層級定價。 GitHub-29655
- 已將資訊性錯誤訊息新增至結帳頁面,以在出貨頁面上套用優惠券與所選出貨方法衝突時引導購物者。 之前,系統會傳送一條訊息要求購物者返回上一頁。
- 驗證快顯視窗現在僅在需要時初始化,而非在啟用訪客簽出時。 現在,當訪客購物者嘗試繼續結帳,且訪客結帳停用時,它會初始化。 GitHub-30672
購物車價格規則
- 購物車價格規則產品子選取條件現在包含如預期的
total (incl.tax)
選項。 GitHub-34871
If an item is FOUND/NOT FOUND in the cart with ALL/ANY of these conditions true
目錄價格規則條件現在可正確搭配類別和SKU屬性運作。 之前,此條件未正確套用至購物車價格優惠券邏輯,且無效的優惠券套用至訂單。 GitHub-37660
- 您現在可以成功儲存新的購物車價格規則,並停用
Magento_OfflineShipping
副檔名。 之前,Magento Open Source擲回此錯誤:report.ERROR: Warning: Undefined array key "simple_free_shipping"
。 GitHub-37580
- 當為商店設定與某個配送方式相關的購物車價格規則,且在結帳期間此配送方式變更為另一個配送方式時,購物車價格規則現在可如預期套用。 以往,
sales_order_item
表格中的applied_rule_ids
值從未變更,而且購物車價格規則未套用至訂單。
- 現在,當購物者在選取固定運費送貨方式(其送貨方式設定為條件的購物車價格規則適用)後套用優惠券時,優惠券將成功套用至訂單。 以前,購物車頁面顯示
Coupon is Not valid
錯誤,並且未套用優惠券。 GitHub-34866
目錄
- 執行
bin/magento cache:clean
或bin/magento cache:flush
不再排清整個內建或Varnish全頁快取,除非另有指定。 GitHub-38301
- 當
catalog_product_price dimensions-mode
設定為website
時,商家現在可以使用產品輪播來建立CMS區塊。 之前,Magento Open Source未儲存區塊並擲回此SLQ錯誤:report.CRITICAL: PDOException: SQLSTATE[42S02]: Base table or view not found: 1146 Table
。
- 在產品詳細資料頁面上變更產品顏色時,Magento Open Source不再顯示重複影像。 GitHub-36243
- 在大型多商店環境中新增商店或變更現有商店後,針對同步網站特定值最佳化演演算法。
- 已改善快取影像檔案的清理程式,以避免在
pub/media/catalog/product
資料夾中建立隱藏目錄。 以前,隱藏的目錄在清理操作期間會導致磁碟空間問題。 操作可以終止,這會留下永遠未刪除的暫時隱藏目錄。
- 組合產品價格現在已正確計算,且計算價格時的作業順序問題已解決。 GitHub-35665
- 已從
catalog_product_price
個索引查詢中移除不必要的子句,這已改善此索引子在大型目錄存放區上的效能。 GitHub-32382
- 當此欄位留空時,Magento Open Source不再將產品說明文字插入產品詳細資料頁面 Meta Description 欄位中。 先前,當產品說明包含頁面產生器或其他HTML編輯器產生的HTML程式碼時,HTML會顯示在中繼 Description 欄位中,而您無法將此欄位留空。
- 可設定產品PDP頁面上可設定的產品選項不再受頁面上其他可設定產品選項的影響。 以前,當產品詳細資料頁面上出現產品輪播時,具有下拉式屬性的可設定產品不再觸發例外狀況。 當頁面上出現其他具有色票選項的可設定產品時,無法選取可設定產品選項。
- 最近檢視的產品資訊現在會根據商店檢視設定而顯示。 之前,最近檢視的產品資料不會根據商店檢視而更新,包括名稱和偏好的語言。
- Vimeo影片現在可在Chromium架構網頁瀏覽器的行動檢視中,依預期在產品頁面上播放。
bin/magento catalog:images:resize
命令現在可以正確產生指派給具有自訂主題之自訂網站之產品的產品影像。
- 現在已根據 使用預設值 核取方塊,為預設存放區儲存具有
NULL
或NOT NULL
個值的中繼資料。 先前,取消核取此核取方塊時,不會儲存含有NULL
值的中繼資料。
- 商家現在可以從產品詳細資料頁面成功刪除現有影像,然後上傳具有相同名稱的新影像。 先前在這些情況下,店面產品頁面不會顯示正確的影像。
- 當產品影像
alt
屬性設定為空白時,productDetail
查詢現在會傳回產品名稱而不是null。
- 現在,包含可下載產品與實體產品的訂單,會在訂單完成後立即包含可下載產品的作用連結。 以前,在同一訂單的實體產品出貨之前,無法取得可下載產品的連結。
- 當類別從一個存放區/根類別移至另一個存放區/根類別時,URL重寫現在會更新。 現在,當子類別轉移到新的父類別時,系統會移除過時的資料庫專案。 資料庫現在僅包含相關專案。 以前的
url_path
未更新為適當的存放區ID。
- REST
V1/products/<sku>/media
端點現在可以同時處理多個媒體影像的上傳。 先前,當同時處理多個請求時,會產生不一致的資料,且當此資料儲存至資料庫時,Magento Open Source會擲回錯誤。
- 已改善類別產品和產品類別索引器的部分重新索引效能。 先前,
indexer_update_all_views
cron工作會針對單一產品或類別執行多次重新索引器。
- 當產品庫存狀態根據庫存組態(數量)自動更新為無庫存,庫存狀態隨後將在庫存數量更新時更新為庫存。 以前,當產品的庫存設定更新為庫存時,
stock_status_changed_auto
設定會被忽略。
- 啟用 Remember Category Pagination 設定時,工具列排序現在可在搜尋頁面上如預期運作。 GitHub-33220
- 現在選取存放區檢視範圍中的 Use Default Value 核取方塊時,多選屬性會如預期儲存。 先前,編輯產品並儲存預設值時,此核取方塊會取消勾選。
- 具有網站限制存取權的管理員使用者現在可以將影像新增至其範圍內的產品。 如果管理員使用者沒有產品的存取權,Magento Open Source會顯示資訊訊息。 以前,具有網站限制存取權的管理員使用者無法將影像新增至他們有權存取的產品。
- 在多商店部署中,當產品名稱因商店而異,在「管理員> Category > Products in category」中依名稱排序產品後,Magento Open Source現在會顯示正確的名稱。 GitHub-36208
addProductsToCart
突變現在會傳回包含資料的可自訂選項。 以前只傳回空白的可自訂選項。 GitHub-37599
- 現在,店面可正確顯示產品延期交貨狀態。 以前,可供出貨的產品被錯誤地識別為延期交貨。
- 當
use_config_manage_stock
值等於1
時,匯出的產品現在具有正確的manage_stock
值。 之前,此預設值不正確。
- 從管理員存取可下載的產品不再會導致錯誤,當管理員使用者將商店檢視從產品建立期間使用的檢視變更為另一個商店檢視。 現在,當管理員使用者將商店檢視從所有商店檢視切換為預設商店檢視時,產品價格已成功轉換為浮點數。 之前,Magento Open Source擲回錯誤。 GitHub-37519
- 當您儲存使用自訂選項建立的產品時(在刪除其影像後),Magento Open Source不再顯示警告訊息。
- 當產品重新補充庫存時,所傳送的產品庫存警示電子郵件現在會如預期般顯示產品縮圖影像。 以前,此影像不會顯示在警報電子郵件中
- 類別樹狀結構中的產品計數(管理員 Catalog > Category)現在準確。 之前,無法從
catalog_category_product_index
資料表中擷取類別產品計數。 已修正觸發此錯誤的錯字。 GitHub-35417
- 停用主題
view.xml
中的product_image_white_borders
時,產品詳細資料頁面上的主要產品影像在頁面載入期間不再明顯向下位移。 之前,由於Fotorama JS中的高度設定不正確,產品影像在頁面載入期間會明顯向下位移。
- 客戶訂閱降價警示時,現在會收到產品價格下降的通知。 以往,由於應用程式層級的快取,系統不會一律傳送降價通知。
- 透過網頁API建立產品屬性的程式已新增伺服器端驗證。 當 Catalog Input Type for Store Owner 欄位值為
Text Field
、Text Area
、Text Editor
、Date
或Date and Time
時,無法啟用 Use in Layered Navigation Catalog 該欄位。以前,類別和結果中省略搜尋產品。
- 現在,在購物者打開頁面、更改分页、導航到產品頁面,然後返回到類別頁面后,類別頁面會以正確的分頁重新載入。 GitHub-36563
- 作為可配置產品選項的無存貨簡單產品現在在設置為 是 時 Display Out of Stock Products 在店面顯示為已禁用。以前,所有選項都會顯示為可用,無論其狀態和實際可用性為何。
- 更新特定存放區檢視中的網站範圍屬性,不再覆寫全域範圍中該屬性的值。 先前,當同一SKU和
store_view_code
有多個資料列可供使用時,匯入產品價格會導致預設和「所有商店」檢視範圍的價格不正確。
- 商家現在可以從管理員將 GIF 圖像添加到產品的圖像庫中。 之前,Magento Open Source顯示此錯誤:
imagecolorsforindex(): Argument #2 ($color) is out of range
。
- 添加了檢查以處理由未定義的數位鍵導致的錯誤。 之前,在產生聲明式綱要白名單時會發生錯誤。
- Magento Open Source現在會傳回自定義日期
01/01/1970
的有效結果。 先前,自訂屬性傳回了以下錯誤:Invalid input datetime format of value '1/01/1970
。 GitHub-37274
- 使用片段的
routes
個查詢現在會如預期傳回類別資訊。 之前,類別頁面上發生內部伺服器錯誤。 GitHub-35906
cataloginventory_stock
部分重新索引程式的問題已解決,且索引器效能已改善。 以前,庫存和產品類別無法準確更新。
- Magento Open Source現在會在產品所屬的類別已移至新父項時,為產品產生301重新導向。 GitHub-37039
目錄規則
- 現在當由排程更新啟用時,目錄規則可正確索引。 因此,現在可以正確產生折扣價格並編制索引。 先前,如果有兩個目錄規則可用,且在第一個規則的目錄規則索引作業完成之前,於第一個規則之後啟動一個規則時,系統不會為第二個目錄規則產生目錄規則折扣價格。
- 現在,目錄規則可如預期般套用於多網站環境。
可設定的產品
- 商戶現在可以在設定可設定的產品時選取 Skip quantity at this time 和 Skip image uploading at this,而不會影響相關簡單產品的來源。 先前,選取 Skip quantity at this time 會導致產品來源消失。
- 當所有選項的價格都相同時,針對可設定的產品價格不再顯示 As low as 標籤。
- 具有網站許可權的管理員使用者現在可以將屬於可設定產品一部分的子產品儲存在不同的商店內容中。 重新索引程式現在會跳過這種可設定產品的型別。
- 排程更新停用一個子產品時,不再將具有兩個子產品的可設定產品標示為無庫存。 這是2.4.7-beta1的已知問題。
- 針對具有多個選項之可設定產品,其儲存操作的效能已有所改善。 以前,在產品儲存操作期間可能會發生逾時。 GitHub-36928
- 當購物者選取產品選項時,可設定產品價格的店面顯示現在會如預期變更。 GitHub-37378
優惠券
- 現在當先前使用優惠券的訂單失敗時,可再次使用每位客戶有限數量的優惠券代碼。 先前,取消先前的訂單時,促銷代碼不會發行。
- 包含空格字元的優惠券代碼不再失效。 先前,如果抵用券代碼包含空格字元(在實際代碼之前或之後),驗證會失敗。 GitHub-38048
- 現在,當購物者的單次使用優惠券套用至的訂單取消時,其單次使用優惠券值會如預期般還原。
GET V1/coupons/<couponId>
端點現在會傳回手動建立之優惠券的完整預期回應,就像自動產生優惠券一樣。 先前省略了某些欄位(例如,usage_limit
、usage_per_customer
和created_at
)。
cron
aggregate_sales_report_bestsellers_data
cron工作不再建立非常大型的臨時MySQL表格,現在已順利完成。 此cron作業現在會在每個存放區插入資料,而非一次為所有存放區插入資料。 以前,這個cron工作可能會產生No space left on device
個錯誤。
cron_schedule
資料表中的擱置記錄數已減少,因為防止cron工作嘗試取得不必要的cron工作鎖定。 以前,cron工作嘗試在太晚而無法執行工作時取得鎖定。cron_schedule
中的Cron工作未標籤為已錯過,即使它們已經超過排定的時間。 Magento Open Source也在錯誤記錄檔中重複顯示此錯誤:report.WARNING: Could not acquire lock for cron job: indexer_update_all_views
。
- 修正cron運算式中除以零的嚴重錯誤。 GitHub-37804
sales_clean_quotes
cron程式已最佳化,藉由在引號表格中的store_id
和updated_at columns
上新增複合索引,以更快速地執行。 這項變更可改善處理許多報價時的cron工作效能。
- 管理員使用者現在可以檢視
bin/magento cron:run
處理序目前正在執行的工作。 目前執行中的程式標題現在會列出群組和工作名稱。 GitHub-34321
客戶
- Magento Open Source現在會根據組態設定,在編輯客戶頁面上顯示 Date of Birth、Tax/VAT Number、Gender、Telephone、Company 和 Fax 欄位。 GitHub-36196
電子郵件
- 包含變音符號或重音符號的電子郵件(即utf8電子郵件)現在支援客戶和公司,以及來賓和註冊客戶的訂單下單。 之前,Magento Open Source不會儲存包含變音符號的客戶記錄並顯示此錯誤:
Something went wrong while saving the customer
。
- 電子郵件寄件者名稱不再包含冒號字元。 新的驗證規則現在會防止儲存管理員 Stores > General 之[存放區電子郵件地址]區段中含有冒號字元的寄件者名稱。 以前,商家可能會儲存包含冒號字元的寄件者名稱,這會導致郵件伺服器錯誤。
- 客戶電子郵件地址現在可以包含變音符號。 以前,前端驗證禁止在電子郵件地址中建立變音符號的使用者。 GitHub-12075
- 庫存和價格警示電子郵件現在會根據為網站預設商店檢視設定的語言進行翻譯。 以前,這些電子郵件不會翻譯。
POST V1/order/notify-orders-are-ready-for-pickup
現在會傳送電子郵件提醒客戶,訂單已準備好提貨。 現在僅當無一例外履行請求時,才會觸發電子郵件。
框架
- 改善偵錯,方法是在輸出使用Varnish的HTTP標頭時新增
UNCACHEABLE
值。 先前只輸出HIT
或MISS
個值。 GitHub-37912
- 新增程式碼以支援預設的Varnish壓縮處理。 GitHub-38309
varnish:vcl:generate
命令現在包含input-file argument
。 這可支援新增與Commerce根相關的自訂VCL至Git存放庫。 GitHub-37363
- 已從程式碼基底中移除對Varnish 4.x和5.x的支援。 GitHub-38304
composer.json
中的phpcodesniffer-composer-installer
已升級至v1.0.0。GitHub-36913
- 已從程式碼基底移除不符合RFC3986的字元。 GitHub-38355
- 修正
Magento\Reports\Block\Adminhtml\Shopcart\Product\Grid
類別中錯誤的PHP檔案標籤。 GitHub-38186
- 在整個程式碼基底中重構程式碼,該程式碼基底是在程式碼實務中要求
app/etc/env.php
檔案中包含的任何快取區段都將包含前端區段時建立的。 此重構可解決升級2.4.4之前版本的Magento Open Source部署時的潛在問題。 GitHub-38363
- 釐清在API呼叫期間提供值為0的庫存ID時,與
StockItemValidator.php
相關聯的錯誤訊息。 GitHub-31107
- 在
CompositeTagGenerator
中新增預設的空白陣列至$tagGenerators
,以防止在相依性插入編譯期間發生錯誤。 先前,在Magento_DirectoryGraphQl
與Magento_StoreGraphQl
模組停用時執行bin/magento setup:upgrade
命令會產生錯誤。 GitHub-38165
- 已移除未使用的
AlgorithmProviderFactory
類別以及類別中此類別的相依性,包括JweAlgorithmManagerFactory.php
、JweContentAlgorithmManagerFactory.php
和JwsAlgorithmManagerFactory
。 GitHub-37783
var/log/system.log
檔案不再包含main.INFO
錯誤訊息。 功能表專案記錄檔已從INFO層級移至DEBUG。 之前,var/log/system.log
檔案已滿載類似以下的訊息:Add of item with id Magento_Theme::design_config was processed …
。
- 當
exec()
傳回false時,Redis預先載入不再失敗。 已將驗證新增至預先載入程式,以防止array_combine
接收false
做為第二個引數。 因此,當exec()
傳回false
時,預先載入將繼續執行。 GitHub-37509
- 已重構
Magento_CatalogWidget
模組,以$escaper
個逸出函式取代$block
個逸出函式。 GitHub-37107
- 在整個程式碼基底中,
Swaziland
已更新為Eswatini
。 GitHub-37873
- 將新的尼加拉瓜貨幣(NIO)新增到可用貨幣清單中。
- 已更正
CatalogRule/Controller/Adminhtml/Promo/Catalog/NewConditionHtml.php
中的變數名稱。 GitHub-38093
- 解決已啟用小數數量之產品的異動中發生的小計舍入錯誤。 GitHub-37817
- 「管理員」客戶格線的日期篩選器現在會根據指定的地區設定如預期運作。
bin/magento setup:upgrade
命令不再因$schemaPatch
變數資料型別而失敗。 以前,將字串值傳遞給get_class
函式,這會導致錯誤。 GitHub-37545
- 現在,當您為消費者設定
max_messages = 0
時,如果連線在交易期間逾時,就會還原與MySQL資料庫的連線。 之前,連線已終止。
magento/module-release-notification
核心模組已在2.4-develop程式碼中標示為已棄用,其註解為:Starting from Magento 2.4.7, Magento_ReleaseNotification module is deprecated in favor of another in-product messaging mechanism
。
- Proxy程式碼產生現在會產生Proxy和Factory檔案,以在生產模式執行的部署中如預期運作。 GitHub-35252
- 印度Ladakh州現在列為Admin address State 下拉式功能表中的選項。 GitHub-33698
- 事件倒數計時器現在會如預期般顯示在類別頁面上。
- 已從程式碼基底中移除禁止的
@author
標籤,這些模組包括:Magento_user-variable-wee
、Magento_Catalog
以及Magento_Customer
、Magento_Wishlist
、Magento_Review
、Tax
和整個架構。 GitHub-37245,GitHub-37246,GitHub-37249,GitHub-37263
User
模組中的JSON序列化程式已更換為更精確的新序列化程式(JsonHexTag
)。 以前,Magento Open Source在嘗試使用由一般序列化程式序列化的資料時,如果包含未逸出的元素,有時就會當機。 GitHub-31377
- 執行完整重新索引(
bin/magento indexer:reindex
)時不再發生中斷的管線錯誤。 AMPQ連線現在會在程式管理員分叉程式之前關閉。
- 佇列訊息驗證器現在會驗證所有陣列元素的子型別。 之前,Magento Open Source擲回例外狀況。
app/etc/env.php
中每個主題的佇列連線設定現在可以正常運作。 先前,使用自訂交換建立新訊息佇列時,產品警報佇列無法正確產生。 如果使用自訂交換在app/etc/env.php
中設定了主題的佇列連線,則會為該自訂交換的所有主題建立新的繫結。 商家無法處理產品警示。
- 將MariaDB伺服器升級至10.5.1版或更新版本時,以
/* mariadb-5.3 */
註解標示的暫時格式在bin/magento setup:install
期間不會再發生錯誤。
- AwsS3驅動程式現在可如預期般運作,取代基本預設檔案儲存實作。 以前,當這個驅動程式設定為檔案儲存時,資料可能會損毀。 GitHub-37844
- 使用
$_ENV
變數的bin/magento config:show
和set
命令現在支援使用包含駝峰式大小寫或大寫字元的網站和商店代碼。
- 新增在Tailwind 3中使用
!important
的類別,以支援CSS配置。 GitHub-37568
- 已新增遺失的
jQuery
相依性至trim-input.js
檔案。 GitHub-37683
- 事件特定詳細資料現在會作為
log
方法的第二個屬性(context
)傳遞。 GitHub-37879
- 外觀比例值已新增至目錄影像,且已從UI架構中移除不必要的指令碼。 GitHub-37691
- 修訂無效XML設定所觸發的錯誤訊息,以提供更多資訊。 GitHub-37788
- 已重構的已棄用程式碼,與在整個程式碼基底中建立動態屬性有關。
- 對於擁有極活躍產品資料庫的大型商店,索引器的效能已有所改善。 索引器現在會為每個索引編制一次最新產品資訊的索引,而非多次。 以前,產品會從網站上消失,而網站上的產品資料可能會過期。 GitHub-30012
- 當從屬資料庫連線可用時,
mview_state
記錄狀態現在會根據變更記錄檔活動準確地指出狀態。 以前,即使變更記錄中沒有新專案,這些記錄在雲端部署中仍會維持在waiting
狀態。
- 新增貨幣格式的
precision
選項支援,以保留與已棄用ZendCurrency
類別的功能同位。
- Cookie訊息已轉換為可觀察屬性,開發人員現在可以控制狀態,這可能會觸發UI變更。 之前,Cookie是唯讀狀態且無法操控。 GitHub-37308
- 現在,當管理員使用者的Magento Open Source執行個體連結至S3儲存空間時,管理員使用者可以產生發票。 Magento Open Source之前會顯示此錯誤:
Cannot create image resource. File not found
。 GitHub-35706
- 當VIES驗證服務進行VAT編號驗證失敗時,Magento Open Source現在會如預期記錄例外訊息。 GitHub-36065
Administrators
名稱已從用於建立管理員角色期間擷取管理員角色的查詢中移除。 GitHub-36998
app/etc/env.php
檔案中包含無效的資料庫使用者名稱時,bin/magento setup:config:set
命令不再失敗。 GitHub-37409
- 依預設管理UI元件中保留文字的欄排序不會再導致
var/log/exception.log
發生SQL錯誤。 GitHub-37423
- 已新增
AddDataForCostaRica.php
以提供哥斯大黎加的州資訊。 GitHub-37382。
- 改善使用者嘗試從管理員存取無效URL的案例的錯誤訊息。 GitHub-35682。
- 貨幣符號的
Param $options[
position]
現在可如預期運作,並支援自訂貨幣符號位置。 先前,從Zend Framework 1移轉之後,toCurrency
方法會忽略position
引數。 此問題在整個管理員介面中發生。
- 已對訂單實作Mutex,以防止在並行請求更新期間出現競爭條件。 先前,取消訂單的並行請求(競爭條件)會在
inventory_reservation
表格中造成重複專案。
populateWithArray
函式現在將物件屬性正確轉換為蛇形大小寫,使其與AbstractModel
getter和setter相容。 先前,當資料屬性名稱連續包含數個大寫字母時,Snake大小寫格式不正確。
- 現在儲存產品後,
catalog_product_entity_varchar
表格中的自動增量值會正確增加。 以前此值會增加十。
- 當您嘗試清除JavaScript/CSS快取時,Magento Open Source不再擲回此檔案系統例外狀況:
No such file or directory
。
customer_entity_int
中value_id
的值現在已正確增加。 更新包含這些屬性的實體時,會執行更新查詢,而非insert on duplicate key update
。 因此,EAV模型中使用的自動增加欄現在會以線性方式增加。 先前,欄的自動遞增程式會略過由於失敗的插入查詢而略過的值。 GitHub-28387
- 已移除不需要空白字元的
id
屬性。 (此錯誤是由Magento Open Source 2.4.6程式碼變更所造成。)
- 當存放區處於單一存放區模式時,存放區代碼不再出現在存放區URL中。 GitHub-36831
- 已對
around
外掛程式進行小幅更新。 GitHub-31443
- 色票
Helper
已重構,以移除誤導性的匯入別名。 GitHub-31373
- 管理員使用者現在可以按預期刪除或重新命名
sitemap.xml
檔案。 以前,管理員使用者可以從管理員中刪除檔案,但檔案會保留在檔案系統中。 GitHub-37468
- 當已套用優惠券的訂單付款失敗時,不再將優惠券標示為已使用。 佇列訊息現在會依消費者啟動時的發佈順序進行處理。 先前,系統會從佇列中提取第一個訊息,僅檢查訊息是否已加入佇列,之後系統會拒絕第一個訊息,導致第一個訊息最後經過處理。
- 當使用者嘗試列印出貨標籤時,Magento Open Source不會再在記錄檔中擲回例外狀況。 先前,如果擴充功能修改包含附件的回應標頭,系統會在記錄檔中擲回例外狀況。
elements.xsd
已新增對更多HTML類別的支援。 GitHub-36891
一般修正
- 已在
app/code/Magento/CatalogRule/Controller/Adminhtml/Promo/Catalog/NewConditionHtml.php
中將reponseBody
變數的名稱變更為responseBody
。GitHub-38093
- 排程產品更新不再清除多選屬性資料。 先前,當排程產品的更新時,產品的複選屬性資料會被錯誤清除。 GitHub-37675
- 以非預設存放區範圍儲存產品時,使用
ProductRepository
載入時,不再導致未變更的屬性變成存放區範圍。 GitHub-8897
- 資訊性錯誤訊息已新增到產品詳細資料頁面上的自訂欄位驗證。 GitHub-38006
- 名稱欄位現在可以使用特殊字元。 先前,&字元在名稱驗證器中受到限制,當客戶名稱包含&時,這會封鎖客戶新增或編輯操作。 GitHub-38080
- 對特定商店具有受限存取權的管理員使用者現在可以使用大量更新動作來更新產品評論。 之前,Magento Open Source擲回此例外狀況:
report.CRITICAL: TypeError: array_intersect(): Argument #1 ($array) must be of type array, null given in app/code/Magento/AdminGws/Model/Models.php:439
。
- 店面登入頁面的顯示密碼功能現在會如預期顯示密碼。 以前不會顯示密碼。 GitHub-37432
- 產品比較清單現在一律為訪客購物者設定網站專用,不包含從其他網站新增的產品,包括指派給兩個網站的產品。
- 包含emoji的CMS內容區塊在儲存至emoji資料庫後,將不再截斷。 以前,由於預設資料庫設定不支援四位元組字元,因此在emoji後面會截斷內容。
- 當登入頁面上的 Show Password 核取方塊作用中時,密碼現在會如預期般顯示。
- 客戶實體(
rp_token
)驗證的重設密碼權杖系統屬性在建立客戶帳戶期間已從屬性驗證中移除,且變音符號驗證僅包含在產生的客戶電子郵件中。 之前,Magento Open Source未儲存客戶記錄並顯示此錯誤:Something went wrong while saving the customer
。
- 刪除欄之後,您現在可以成功將編輯儲存至「管理頁面」和「區塊」格線。 GitHub-37525
- 客戶現在可以在其他裝置上重設密碼後,使用新密碼從一部裝置成功登入。
- 管理員客戶地址 州/省 欄位現在會如預期保留最後儲存的值。 先前,當您從此欄位移除值時,Magento Open Source會繼續在 州/省 欄位中顯示已刪除的值。 GitHub-36846
- 啟用 RSS Feed Top Level Category 時,要求類別的RSS摘要期間不再發生錯誤。 先前,啟用 RSS Feed Top Level Category 時,瀏覽RSS摘要類別頁面會導致記錄檔發生Elasticsearch
CRITICAL
錯誤。
- 現在會在使用者角色建立期間變更角色範圍時,為
gws_store_groups
儲存正確的值。 先前,當角色範圍選取為All
時,gws_store_groups
值會在使用者建立期間儲存為Null,但在角色編輯期間不會儲存為。 此外,如果角色範圍選取為Custom
,則gws_store_groups
值一律會儲存為Null。
- 啟用 Add Store Code to Urls 設定時,現在可以按一下[管理員登入]頁面上的[管理員重設密碼]連結來存取重設密碼頁面。 管理員重設密碼連結先前會開啟登入頁面或404頁面。
- 「管理員統計資料」控制面板中的日期範圍現在會根據組態設定中所設定的時區進行計算,然後轉換為UTC從資料庫擷取資料。
- 當您篩選存放區檢視,然後在管理員 Content > Hierarchy 上按一下「Save」後,CMS階層篩選會如預期般運作。 之前,按一下「Save」會重新整理頁面,但內容已遺失,且選取的存放區檢視不再顯示。
- 按一下 Send invitation 按鈕(管理員 Marketing > Private sales > Invitation)現在會連同表單金鑰一起提交POST要求,並成功傳送邀請。 先前,當您按一下此按鈕時,HTTP POST方法和表單鍵都不存在。
- 現在可以使用AWS S3成功將零位元組檔案複製到遠端儲存體。
- 現在,當為其他網站(其商店ID與網站ID不符)建立該客戶時,管理員使用者可以從管理員新增客戶地址。 Magento Open Source之前會顯示此快顯訊息:
Something went wrong
。 GitHub-36582
- CMS區塊編輯器頁面現在顯示正確的Widget
block_id
值。 GitHub-29644
GraphQL
- 查詢包含可設定產品的清單時,
getCustomerWishlist
查詢不再導致內部伺服器錯誤。
customerCart
查詢現在會如預期傳回套件組合產品的所有套用折扣。 之前,套用至套件組合產品的總折扣會傳回為零。
- 查詢包含可設定產品的清單時,
getCustomerWishlist
查詢不再導致內部伺服器錯誤。
is_subscribed
旗標的宣告、其解析器、快取及相關測試已從CustomerGraphQl
模組移至NewsletterGraphQl
模組。
addProductsToCart
突變不再報告user_errors
中不相關的錯誤。 以前,user_errors
中包含與購物車相關的錯誤以及預期的操作錯誤。 GitHub-37908
products
查詢產品篩選器現在可以傳回部分比對結果以及完全比對。 新的match_type
(PARTIAL, FULL)屬性支援指定比對型別。 以前,查詢只傳回完全相符項。
- Mutex已新增至
addConfigurableProductsToCart
查詢,以防止在並行要求更新期間發生競爭條件。 先前,當商家傳送兩個平行請求以將相同的可設定產品新增到購物車時,會新增兩個具有相同產品SKU的單獨專案。 GitHub-37847
- 當 Use in Layered Navigation 設定為 Filterable (no results) 時,GraphQL回應中的產品彙總現在包含非零的屬性值。 以前,只傳回非零值。
- 針對包含自訂產品屬性的購物車相關作業,改善
setShippingAddressForEstimate
查詢的效能。 以前,在參數以變數形式傳送時,查詢會載入所有產品屬性。
products
查詢ConfigurableProduct.configurable_options
欄位現在僅返回至少有一個啟用產品的值。以前,此欄位返回已禁用的簡單產品。
- 通過減少其生成的不必要的 SQL 查詢數,提高了的性能
GetCategories query
。
- GraphQL 資料庫元件的地址錯誤處理現在如預期般運作。
- 現在,
products
當動態定價設置為 no 並應用折扣時,查詢將返回所有相關的店面定價詳細資訊。 以前不會傳回產品的價格範圍。 GitHub-35649
- GraphQL交易名稱現在僅包含在New Relic記錄檔中的最上層查詢名稱。 以前,交易名稱還包括次要查詢名稱。
- GraphQL程式庫元件的位址錯誤處理現在可如預期運作。
- 當產品的可見度設定設為
Catalog
時,該產品上的products
個查詢現在可以正確解析設定。 以前,提供的任何篩選器都會切換為Visibility: Catalog
設定。 GitHub-36591
- 當產品價格已設定為包含稅捐時,
customer
查詢現在會傳回包含訂單稅捐的product_sale_price
欄位。 GitHub-36946
- 型別
DateTime
的產品屬性現在對應到產品查詢中的FilterRangeTypeInput
篩選器。 以前,這些屬性對應至FilterMatchTypeInput
。 由於此變更,篩選DateTime
屬性的查詢需要from
和to
值,而不是相符的值。
customer
查詢現在只傳回與特定商店檢視相關的客戶評論,如按商店ID篩選時所預期。
- 當
items.redirect_code
回應值包含null值時,categories
查詢不再傳回錯誤。 GitHub-36675
- 成功重設密碼後,
changeCustomerPassword
突變現在會如預期觸發電子郵件。
- 當URL重寫的
Target Path
是絕對URL時,urlResolver
和route
查詢現在會傳回結果。 先前,urlResolver
查詢在您用來擷取重新導向資料時傳回NULL。
products
查詢現在會傳回正確的標籤。 GitHub-29635
categoryList
查詢現在會如預期傳回套件組合產品子產品之options
區塊的已填入product
區段。 之前,系統不會傳回任何有關套件組合產品子產品的資訊。
route
查詢現在會如預期傳回類別和產品的路由,而不會發生內部伺服器錯誤。 GitHub-36544
- 選取多個類別時,
products
查詢現在會擷取url_key
個值。
products
查詢現在只會傳回指派給指定共用目錄之產品的彙總。
- 交易名稱已新增至New Relic GraphQL交易。 GitHub-36874
OptionValueProvider
類別get()
方法現在會依預期傳回以指定option_id
為基礎的屬性選項值。 之前,它會傳回錯誤。 GitHub-35910
products
查詢現在會傳回所有可用的彙總(篩選器)及其正確轉譯的標籤。 之前,價格和類別彙總標籤並未如預期般轉譯。 GitHub-36140
- 您現在可以在查詢
ProductInterface
上的related_products
、upsell_products
和crossell_products
時使用片段ProductCard
。 GitHub-29769
products
查詢現在會以儲存順序傳回相關、向上銷售和交叉銷售產品。 GitHub-36461
- GraphQL查詢現在會傳回依位置排序的相關產品資料。 GitHub-33010
category_url_path
已新增至ProductAttributeFilterInput
,支援在單一查詢中要求類別的所有產品。 GitHub-32460
- 修正了以下錯誤:設定GraphQL突變中目前存放區的方法在執行處理驗證的方法之前執行。 GitHub-31336
影像
- Admin Favicon圖示上傳表單現在支援
.ico
檔案型別。 GitHub-34858
匯入/匯出
- 產品匯入程式現在會使用正確的分隔符號來剖析值。 先前,匯入程式使用直立線符號(「|」)運運算元來剖析多重選取值,直到確定的值分隔符號不等於預設值為止。 匯入程式隨後失敗。
- 透過CSV匯入更新
URL Key
值時,現在會自動建立301個重新導向。
- 出貨表格費率現在會依預期在表格費率匯入CSV檔案中更新。 表格速率上傳檔案會暫時儲存,直到非同步設定處理器cron作業執行為止。 此cron工作會擷取檔案的新位置,並據此處理檔案。 以前,由於非同步處理器在錯誤位置尋找檔案,導致資料表速率未如預期更新。
- 「匯出檔案」格線現在會顯示所有匯出的檔案,無論時間戳記為何。 以往,格線不會顯示具有相同時間戳記的所有匯出檔案。 GitHub-36951
- 現在可以成功匯入具有自訂選項的產品。 先前,匯入期間會遺失選項資料。 GitHub-37598
- 匯出的CSV檔案中的特殊字元現在會如預期在Excel中顯示。 GitHub-37921
- 使用 Customers and Addresses (single file) 匯入庫存來源與客戶地址 選項現在已成功完成。
- 由於記憶體不足,產品匯入不再失敗。 先前,將任意數量的產品匯入已包含約一千萬個產品的資料庫時,會因為記憶體不足而失敗。
- 當沒有有效的資料可匯入時,驗證檢查現在會如預期停止匯入程式,Magento Open Source現在會顯示此錯誤:
There are no valid rows to import
。 先前在這些條件下通過驗證,但匯入程式失敗,出現此訊息:entity values are mixed
。 GitHub-32905
- 使用相同產品匯入URL金鑰不再覆寫或刪除現有的預設存放區檢視金鑰。 現在只有當沒有覆寫的
url_key
值時,才會重新產生存放區檢視的URL覆寫。 先前,使用相同URL金鑰匯入URL會覆寫現有的預設存放區檢視URL金鑰。 (key_store
URL重寫已刪除,但產品預設存放區檢視層級上的URL重寫仍設為key_store
。)
- 匯入期間,產品計數不再意外變更。 快取排清現在會延後,直到匯入程式之後。
- 已排程匯入動作的狀態現在能正確代表匯入作業的成敗。 過去,所有動作都會記錄為成功。
- Magento Open Source現在會在匯入客戶記錄時考慮 Disable Automatic Group Change Based on VAT ID 設定。 先前已忽略匯入檔案中的
disable_auto_group_change
值。 GitHub-36409
Magento\Framework\Convert\Excel
現在已成功處理前面有空格的數字。 Excel XML現在會將欄位編碼為String
。 先前,Excel寫入器將這些值編碼為number
,導致檔案無效。 GitHub-33422
- 商戶現在可以指定顯示匯入資料的區域設定,以及資料驗證器剖析此資料的方式。 如果未指定地區設定值,Magento Open Source會使用預設設定地區設定(而非預設存放區檢視)來剖析資料。 在管理員中,匯入和匯出程式會繼續使用管理員使用者介面地區設定來分別匯入、剖析和格式化資料。
- 匯入產品時,由語言環境設定與匯入產品的管理員使用者不同的管理員使用者所建立的
country_of_manufacture
屬性產品不會再擲回驗證錯誤。 以前,此匯入操作可能會導致country_of_manufacture
屬性發生驗證錯誤。
- 當
use_config_manage_stock
值等於1
時,匯出的產品現在具有正確的manage_stock
值。 之前,此預設值不正確。
- 在排定的匯入作業期間,如果影像未成功匯入,Magento Open Source現在會在排定的匯入格線中顯示資訊性錯誤訊息。 以前不顯示錯誤訊息。
- 產品影像遺失時,產品匯入程式不再中斷。 先前,在使用CSV檔案匯入協力廠商服務期間遺失產品影像時,Magento Open Source會顯示此錯誤:
Maximum error count has been reached or a system error is occurred!
。
- 當
configurable_variations
欄中的屬性值包含逗號時,產品匯入程式不再擲回驗證錯誤。
- 已從匯出程式中排除解碼。 匯入後,CSV匯出檔案文字保持不變。 因此,重新匯入後,說明不會變更。 先前,產品匯出和匯入後,HTML標籤會從頁面產生器編輯器中移除。
- 新增為環境變數的非預設設定(網站或存放區範圍)不再以遞回錯誤中斷
app:config:import
處理序。
- 在匯入後,「儲存時更新」模式中的目錄搜尋和價格索引子不再失效。 先前,Elasticsearch Indexer檔案版本會在匯入新產品和現有產品時變更版本。
- 產品報告現在已匯出至
var
目錄。 之前,這些報告會匯出至檔案根目錄,在雲端例項中為唯讀目錄。
- 清空的多重選取客戶位址列位不再中斷或停止匯出程式。
索引
- 改善未設定目錄規則時
catalogrule_product
索引器的效能。 GitHub-34784
- 價格索引器效能的問題已解決。 索引器效能不再逐漸降低。 索引器已重構,以透過變更建立臨時表格的方式,提高索引器處理速度。 這些臨時表格現在已重新建立,而非由更耗時的DELETE陳述式處理。
- 價格索引器效能已改善。 價格索引器已新增索引提示,可改善索引期間引發的MySQL查詢的執行時間。
- 現在,所有索引器都使用相同的顏色來表示索引器狀態。 GitHub-34648
- 在未將規則指派給所有網站的部署中,已改善目錄規則產品索引器的效能。
- 當索引子設定為 Update on schedule 時建立自訂產品型別不會再導致索引更新
cron
任務失敗。 GitHub-36471
- 當客戶方格包含新建立的自訂客戶屬性時,
bin/magento indexer:reindex customer_grid
不再因MySQL錯誤而失敗。 GitHub-36233
- 變更多個索引器的索引器模式(亦即,大量動作索引器模式變更)現在只會在目前模式與正在套用的模式不同時,變更索引器的模式。 這可防止不必要地前往資料庫,進而改善效能。 GitHub-36823
- 已改善對具有許多屬性選項的產品編制索引。 GitHub-36386
基礎架構
- 已將遺失的
return
陳述式新增至管理員使用啟用控制器。 先前沒有return
陳述式,而且FrontendController
類別中的控制器處理不正確。 GitHub-31374
- 已將MySQL
CREATE TEMPORARY TABLE ... LIKE
取代為重構的CREATE TEMPORARY TABLE
,以符合MySQL 8.x。GitHub-37926
- 當格式錯誤的HTTP請求傳送至伺服器時,Magento Open Source會顯示的錯誤訊息中,不再包含伺服器根目錄的完整路徑。 現在只有字串會作為第二個引數傳遞至
explode
方法。
restricted_classes.php
已取代Zend_Validate_File_Upload
。 之前,在上傳大於php.ini
中設定的值的匯入檔案期間,驗證程式當機。 GitHub-37281
- 電子郵件範本引擎現在可以正確處理某些巢狀指令(例如,
{{if}}{{depend}}...{{/depend}}{{/if}}
)。 GitHub-36438
- 具有彙總資料的
product
個查詢現在傳回布林值型別產品屬性的正確標籤值。 GitHub-29123
- 已新增烏克蘭區域至
directory_country_region
表格。 GitHub-35187
- 當
var/tmp
和pub/static
位於不同的檔案系統且已啟用 CSS Merging Enabled 時,合併後的CSS檔案不再損毀。 暫存檔已經建立在與目標檔案相同的靜態目錄中,以確保兩個檔案都在相同的檔案系統上。 因此,將其重新命名的呼叫是原子性的。 GitHub-29172
- 修正在
int
上呼叫成員函式getId()
時發生的潛在錯誤,該錯誤偶爾會在Admin中檢視客戶時觸發例外狀況。
- 現在對設計主題配置處理器中的陣列類型強制實施類型檢查。 GitHub-34440
庫存管理
- 現在,在包含產品數量退貨的貸項通知單後,產品會自動返回到“有貨”狀態。 以前,如果產品缺貨,但貸項通知單退回了該產品的庫存,則商家必須手動更改產品庫存狀態。
- 通過刪除重新索引預設源項的冗餘請求,提高了清單索引器在異步模式下的性能。
- 更正了影響可配置產品的店面庫存計數準確性的庫存索引器問題。 GitHub-36421
- 現在,通過 REST
V1/inventory/source-items
更新庫存源專案的速度更快。 此呼叫不再觸發對未更改的庫存產品執行重新編列索引或清理緩存作。
- 現在,REST
V1/products/<sku>
會在更新產品的庫存狀態時觸發自動重新編製索引。 以前,不會為正在更新的產品觸發股票重新索引。
- 當
V1/inventory/source-items
更新子產品時,可設定的產品庫存狀態現在會如預期在店面上更新。
POST <store_code>/V1/inventory/source-items
REST呼叫現在會驗證傳回之庫存來源專案中的空白裝載,並視需要傳送有關驗證的錯誤訊息。
- 商戶現在可以在產品啟用 No Manage Stock 設定時通知購物者,訂單已準備好取貨。 之前,啟用此設定時,Magento Open Source會顯示此錯誤訊息:
Your order is not ready for pickup
。
- 商戶現在可以為訂單建立銷退折讓單,其中已刪除與可設定產品相關聯的簡單產品。 之前,商家無法建立銷退折讓單,Magento Open Source擲回
TypeError
例外狀況。
- 應用篩選器后,管理網格源計數現在返回有效記錄。 以前,該方法
getSourcesCount
總是在應用篩選器後返回源的總數。
- 當您使用“從Stock移至底部”選項對產品進行排序時,類別頁面不再重定向到管理儀錶板。 問題已解決,方法是先確定條件陳述式尚未包含SQL聯結陳述式,再將SQL聯結陳述式放在條件陳述式內。 以前,頁面會重新導向至管理員儀表板,訊息為:
Invalid security or form key. Please refresh the page
。
inventory_source_item
資料表的AUTO_INCREMENT
不再隨著每UPDATE
個作業而增加。 以前,每次更新都會增加此資料表的AUTO_INCREMENT
,這最終會在將新記錄新增到inventory_source_item table
時導致AUTO_INCREMENT
值超出範圍。 因此,管理員使用者嘗試從管理員建立新產品時,收到下列錯誤:Numeric value out of range...
。
- 管理員使用者現在可以透過Inventory management,從管理員將特定商店檢視範圍內的產品新增到客戶購物車。 以往,庫存ID無法正確判定,且管理員使用者無法將產品新增至客戶購物車。
- 清查與目錄之間的同步化不再依賴 Synchronize with Catalog 組態設定。 過去,只有在啟用此設定時,才會正確同步產品。
- 當購物者從訂單中扣除產品數量時(該訂單位於選取出貨來源時可用的產品範圍內),Magento Open Source不再在頁面重新載入後擲回錯誤。
- 當大量存貨更新更新可配置產品及其子產品
Stock Availability
值時,可配置產品庫存狀態現在會正確更新。 以前,無法透過大量更新將可配置產品及其子產品返回到庫存中。
- 非預設來源的資料型別已更新為
DECIMAL (12, 4)
,以支援最多8個整數位數,這與預設庫存實施的限制相同。 此值現在與管理員新增和編輯產品頁面同步,這支援對所有型別的詳細目錄來源進行最多八位數的輸入驗證。 以前,Quantity 欄位的輸入(用於非預設來源)最多只支援六位數。
- 現在,當從店面訂購的非預設來源處理為出貨時,預設與非預設來源都會顯示產品可銷售數量的正確資訊。 以前,Magento Open Source對產品來源顯示的庫存狀態不正確。
\Magento\Catalog\Model\Product::getIsSalable()
現在會根據產品物件(\Magento\Catalog\Model\Product::getStoreId()
)中定義的範圍,傳回庫存狀態。 以前,getIsSalable()
會根據目前範圍傳回庫存狀態,而不管產品物件為何。
記錄
- 管理員使用者現在可以在管理員的大量動作記錄區段中,檢視整合所建立的大量動作的記錄。
登入
- 在單一瀏覽器中重設密碼,接著透過不同瀏覽器登入時,不會再產生例外狀況。 GitHub-36447
- 客戶現在會在如預期般啟動帳戶後,重新導向至登入頁面。 客戶之前會自動登入。
電子報
- Commerce現在會先檢查是否已啟用電子報訂閱功能,再接受電子報的新訂閱者。 GitHub-33040
訂購
- 從管理員購物車移至要訂購專案清單的產品,現在會如預期從購物車中刪除。 GitHub-37538
- 商戶現在可以如預期建立部份退貨的銷退折讓單,而部份退貨是由獎勵點數所支付。 先前,當商家建立部分退貨時,訂單狀態錯誤地識別為「已關閉」,並且「管理訂單」頁面未顯示銷退折讓單選項。
- Magento Open Source現在將正確的折扣金額套用至部份取消的訂單。 先前,變更訂單時,
base_discount_cancelled
欄中計算的折扣金額計算不正確。 折扣訂單的商業發票已新增對負值的支援。
- Magento Open Source現在會根據管理員使用者在管理員中建立訂單時提供的排序順序,來排序自訂客戶地址屬性。
- 當商家從此頁面起始搜尋時,「管理銷售訂單網格」頁面現在會如預期般載入。 先前,當商家嘗試從這個表格搜尋訂單時,頁面凍結,且Magento Open Source在瀏覽器主控台中顯示
Request-URI Too Long
錯誤。
- 改善
OrderRepository::get()
方法的效能,減少從資料庫載入訂單的次數。 以前,此方法會載入多次訂單。 GitHub-36636
- 商戶現在可以針對包含部份料號且總計為零的訂單,產生銷退折讓單,而其他訂單料號可以退款。 以前,當客戶對訂單中的某些料號有100%折扣時,商家無法執行多重退款。
- 從「管理員」重新排序子產品時,子產品與父產品之間的連結現在會顯示在訂購頁面上。 GitHub-37028
- 在
getInfoBlockHtml()
呼叫期間完成模擬後,send()
呼叫期間現在會開始模擬,而且不會記錄任何錯誤。 之前,system.log
檔案已因下列錯誤而泛濫:main.ERROR: Environment emulation nesting is not allowed
。 GitHub-35603
- 商戶現在可以針對包含部份料號且總計為零的訂單,產生銷退折讓單,而其他訂單料號可以退款。 以前,當客戶對訂單中的某些料號有100%折扣時,商家無法執行多重退款。
- 從「管理員」重新排序子產品時,子產品與父產品之間的連結現在會顯示在訂購頁面上。 GitHub-37028
- 訂單頁面的表頭區段現在包含已傳送商業發票、銷退折讓單及出貨的預期資訊。 GitHub-27474
- 只包含一個可設定產品之訂單的銷退折讓單,現在可正確產生。 之前,
isLast()
函式未如預期傳回true
。 GitHub-36722
- 透過最佳化主要資料查詢改善
aggregate_sales_report_bestsellers_data
cron作業的效能。
- 當針對包含搭售產品的訂單進行部分退款時,訂單狀態現在為正確。 以前,即使剩餘的訂單尚未完成,訂單狀態在發出部分退款後仍會列為完成。 GitHub-37377
- 首次從管理員使用一次性自訂價格產生訂單時,購物者無法再使用自訂價格訂購產品。 以前,如果訂單包含具有自訂價格的專案,則此自訂價格會套用至具有再訂購功能的其他訂單。
- 購物者無法再於訂購頁面上儲存不正確的訂購狀態。 當料號出貨時,訂單狀態不再從「完成」變更為「處理」。 之前,Magento Open Source在購物者輸入評論後,儲存訂單狀態之前不會檢查目前的訂單狀態。 GitHub-36562
- 銷售訂單網格現在會如預期以非同步方式與所有訂單同步。 GitHub-36562
- 訂單頁面的客戶訂單區段中的依購買日期篩選功能現在可如預期運作。 以前,當向方法提供相同時區時,時區轉換邏輯擲回錯誤,這會發生JavaScript錯誤。
- 「管理員」儀表板現在會在首次載入時顯示正確的訂單統計資料。 以前,儀表板顯示不正確的訂單資訊,但一旦更新時段,就會顯示正確的資訊。
- 管理員使用者在從管理員建立新訂單期間選取商店檢視後,現在會依預期重新導向至訂單頁面。
GET V1/orders/<OrderID>
端點現在會依順序傳回可設定和簡單產品的資訊,無論簡單產品的庫存狀態為何。 只有當選取的專案(產品)有庫存或可供銷售時,管理員使用者現在才能下訂單。 以前,此API只傳回已有產品的相關資訊。
- 當出貨價格包含稅捐,且稅捐計算是在折扣後套用時,啟用免運費時,銷退折讓單頁面不再損毀。 之前,Magento Open Source擲回
Division by zero
例外狀況。 GitHub-36800
- 使用
rest/V1/orders/{id}/comments
端點發佈有關訂單的註解而不提供訂單狀態不再影響訂單的顯示。 先前,訂單狀態在sales_order
和sales_order_grid
表格中記錄為NULL,而「我的訂單」頁面或「管理員訂單」格線皆未顯示訂單。 GitHub-34180
頁面產生器
- 現在當在Page Builder中調整大小時,影像會維持正確的外觀比例。 GitHub-37493
- 當您嘗試上傳的影像大於指定的檔案大小上限時,Page Builder現在會視需要顯示錯誤訊息。 之前,Commerce對於小於指定上限的已上傳影像檔案,會顯示警報快顯訊息。
- CMS頁面產品滑桿現在會包含任何已選取要包含在滑桿中的子產品的父產品。 過去,上層產品會從滑桿中排除。
- 停用
Magento_AsyncConfig
模組時,HTML轉換的內容現在會如預期顯示在電子郵件範本中。 以前,電子郵件範本僅包含原始HTML。
- Chrome瀏覽器中頁面產生器儲存操作的效能已改善。
- 從「頁面產生器」轉盤新增產品至購物車時,不再重複來自頁面的專案數量,因為有兩個不同的Widget顯示相同的產品。
- 當您編輯超連結並儲存範本時,Page Builder不再將
tabindex
HTML屬性新增到超連結標籤a
。
- 產品Widget和頁面產生器預覽現在可正確處理HTML特殊字元。 之前,產品Widget無法正確顯示包含
&
字元的SKU。
- 當您在預覽模式中選取並更新完整內容區塊時,頁面產生器文字元素內容現在會如預期更新。
- 現在,從一個Page Builder文字編輯器複製文字並貼上文字到另一個編輯器可以如預期運作。 Previously, the page into which you tried to paste text could not saved, and Magento Open Source displayed this console error:
[ERROR] Page Builder was rendering for 5 seconds without releasing locks.
.
- 在舊版頁面產生器中建立的頁面產生器
column-block
內容型別現在可以正確顯示。
- 改善從管理員建立產品期間篩選產品中繼資料說明的功能。 先前,如果啟用Page Builder,則會根據預設
{{name}} {{description}}
遮罩產生產品中繼資料說明。 預設產品中繼描述遮罩現在由{{name}}
組成。 GitHub-36107
- 添加沒有內容的動態塊不再觸發錯誤。
- 已解決 頁面 Builder 內容 中欄的显示問題。 之前,
column-line
內容類型不會呈現內容。 GitHub-3949
付款
- Magento Open Source現在會防止在此錯誤發生時建立訂單,以正確處理PayPal的502錯誤。 以前,儘管 PayPal 出現 502 錯誤,但仍會創建訂單,這銷售機會Magento Open Source記錄與PayPal記錄之間的不一致。
- PayPal Express Checkout 交易現在包含子產品 SKU 和完整產品標題。 該文件
Magento/Paypal/Model/Cart.php
現在收集子產品 SKU 及其父產品標題,以標識帶有子SKU的產品標題。 GitHub-36808
- Card Security Code Does Not Match 配置設置現在在 Payflow Pro 付款過程中按預期處理。以前,此評估過程從未完成,因此阻止了簽出。
- 當購物者沒有保險庫令牌時,保險櫃付款方式選項不再顯示在管理員結帳工作流程中。 GitHub-36273
- 啟用PayPal按鈕時,Venmo 按鈕現在可以隱藏。 之前,無法從購物車、迷你購物車、產品詳細資料或結帳頁面中移除 Venmo 按鈕。
- 購物者現在可以在結帳時套用優惠券代碼,同時選擇配送方式。 之前,在這些情況下,Magento Open Source會擲回錯誤,並指派統一運費給訂單。
- 已解決PayPal和PayPal信用付款方法的店面處理問題。
- 解決當本機付款啟用時,Ideal payments所支付訂單的遞補URL問題。
- 購物者無法再建立PayPal訂單而不新增姓氏。
Braintree
- 現在,每家商店都會儲存Braintree付款資訊,而購物者現在只會看到儲存在商店中的卡片資訊。 過去,購物者在結帳時可以看到所有商店儲存的卡片資訊。 GitHub-34253
- 現在,當卡片付款保險庫被禁用時,購物者可以使用Braintree付款方式結帳運送到多個位址的訂單。 GitHub-37615
- 部分開立商業發票的訂單現在會如預期擷取在部署中的正確帳戶,其中商戶在其Braintree帳戶中具有兩個相同貨幣的不同商戶帳戶ID。
- 啟用 Enable Vault for Card Payments 時,Magento Open Source不再針對Braintree支付的訂單建立第二張部份商業發票時擲回錯誤。 先前,當商家嘗試建立第二張發票時,Magento Open Source擲回此錯誤:
Your payment could not be taken. Please try again or use a different payment method. Payment method token is invalid
。
- 當購物者更新其帳單地址時,結帳工作流程中不再自動取消選取Braintree Vault付款方法選項。 以前,當購物者取消選取 My billing and shipping address are the same 按鈕時,會取消選取付款方法。
- 解決從Adobe Commerce 2.4.5-p2升級後,透過Braintree與PayPal結帳的問題。 GitHub-37242
- 電話號碼現在會如預期般轉譯,並包含Google付款模式快顯送貨位址列位中的地址。 過去,您會遺漏電話號碼。
- 當Braintree回應包含
threeDSecureInfo/eciFlag
的空白值時,現在可透過Braintree成功下訂單。 以前,當此值為空時,在簽出期間發生PHP錯誤。
- 當購物者從迷你購物車結帳Magento Open Source Pay時在訂單稽核頁面上套用優惠券時,Google不再擲回錯誤。 之前,購物者被重新導向至404頁。
- 購物者現在可以使用Braintree Payments和Magento Open Source 2.4.6 (具有隱藏的ReCAPTCHA v2或v3)完成結帳。 GitHub-37241
- 購物者無法再按一下「PayPal」按鈕來購買可設定的產品,除非先選取必要的選項。 以前,購物者可以按一下「PayPal」按鈕,隨後被重新導向回產品頁面,但出現錯誤:
- PayPal 按鈕現在會如預期顯示在購物車和迷你購物車頁面上。 之前,此按鈕不會顯示在購物車頁面上,且會在迷你購物車頁面上複製。
效能
- 在 銷售 > 訂單 頁面的整批動作下拉式選單中按多下,無法再產生多個POST要求。 GitHub-37997
- 購物者導覽至觸發301重新導向的頁面時,除非頁面的Cache-Control標頭包含
private
,否則僅會快取200
或404
回應。 先前,會快取Cache-Control標頭中具有private
的HTTP狀態200,而且會快取HTTP狀態301 (除非其Cache-Control標頭中包含private
)。 GitHub-36492
- 已從
Magento\Catalog\Model\ProductRepository
移除未使用的Magento\Catalog\Controller\Adminhtml\Product\Initialization\Helper
。 之前,ProductRepository
已載入此協助程式,它是Adminhtml
控制器。 GitHub-37864
- 改善將許多選項新增至套件產品時的頁面載入速度效能。 GitHub-29409
- 已最佳化從 Products in Category 索引標籤指派產品至類別的程式。 Add Product by SKU 索引標籤中的 Assign 和 Remove 按鈕現在已停用,直到產品完全載入格線為止。 之前,管理員使用者無法透過SKU在包含數百萬個已註冊產品的目錄中新增產品。
- 使用許多自訂產品屬性執行時,
addProductToCart
突變的效能已改善。 先前,當使用許多產品屬性(約1000)執行此變異時,Magento Open Source會嘗試載入所有產品屬性。
- 載入購物車規則使用的產品屬性時的效能問題已解決。 現在只會載入作用中購物車規則的產品屬性。
- 現在執行多次時,
bin/magento setup:perf:generate-fixtures setup/performance-toolkit/profiles/ee/small.xml
命令會順利執行。 之前,它會在執行多次時擲回此錯誤:Coupon with the same code already exists
。
促銷活動
- 搭配 Apply to shipping amount 規則套用 Fixed amount discount for whole cart 價格規則時,其影響現在會依預期在產品與運費金額之間按比例分配。 過去,折扣計算方式不正確。
- Discard Subsequent Rules 設定現在已如預期套用。 啟用此設定時,其他低優先順序的規則只能套用至不同的產品。 GitHub-35707
reCAPTCHA
- 不可見的reCAPTCHA v3現在對簽出頁面 Sign in 按鈕如預期般運作。 之前,購物者無法登入,且Commerce擲回JavaScript錯誤。
- 結帳工作流程中的Google reCAPTCHA現在可如預期般用於支票、匯票和自訂付款方法。
- 在Adobe Commerce ReCAPTCHA核取方塊載入之前,無法再提交Google表單。
- reCAPTCHA Widget現在位於付款頁面上的 Place Order 按鈕之前。 過去,Widget會顯示在頁面頂端。
報表
- 當使用非預設貨幣的商店產生訂單時,訂單報表(REPORTS > Sales > Orders)現在會包含正確的訂單值。 之前,此報表包含不正確的值。 GitHub-36742
- 為了清楚起見,已修訂銷售訂單報表表單中的誤導性資訊。
- 管理員使用者現在可以從「放棄的購物車報告」頁面搜尋包含
+
(加)符號的電子郵件記錄。 GitHub-36560
搜尋
- 標頭的迷你搜尋前端上的自動完成搜尋建議現在可如預期運作。 先前,自動完成在啟用此功能時不會填入此欄位。 GitHub-37557
- 新增索引器後,從管理員搜尋列進行的查詢效能已有所改善。 先前,
search_query
表格越大,完成查詢所需的時間就越長。
- 依名稱的字母順序排序產品現在對包含土耳其字元的名稱正確運作。
- Use in Search Results Layered Navigation 產品屬性屬性現在僅在 Use in Search 設定設為 Yes 時顯示。
- 進階搜尋價格和SKU篩選器現在可在進階搜尋中一起套用時正常運作。 GitHub-37581
- 不再對空白搜尋欄位執行搜尋。 這樣會縮減
search_query
資料表的大小。 以前,不正確的查詢或查詢空白的搜尋欄位傳回巨大的資料集,這會增加search_query
資料表的大小,並導致/tmp
的問題。
- 現在,使用下拉式自訂屬性排序目錄專案時,店面篩選器可如預期運作。
- 搜尋結果現在會依預期的屬性搜尋權重來顯示相關結果。
- 管理員 Stores > Attributes > Product 上
Search Weight
屬性的Storefront Properties
輸入欄位下的資訊性文字現在說明可能的值。 GitHub-36646
送貨
- 停用動態價格屬性時,將套件產品新增到購物車時,購物車價格規則現在會如預期運作。 無論動態屬性是啟用還是停用,都會套用免運費與正確的表格費率。 在過去,免運費並未如預期套用。
- 在建立訂單的部分出貨後,Magento Open Source現在會如預期轉換為新的出貨頁面。 之前,在建立部分出貨後,Magento Open Source並未針對訂單的其餘產品建立完整的出貨頁面。 GitHub-38063
- 系統現在會正確計算將訂單運送至多個地址的總金額。 先前,當報價包含多個送貨地址時,收集器總計會更新
$quote->getShippingAddress()
中指定之地址的送貨金額,而不是如預期由$shippingAssignment
傳遞。 GitHub-37283
- 當管理員使用者使用登入作為客戶功能時,Magento Open Source不再於使用多個運送地址進行結帳時擲回例外狀況。
- 產品現在會在建立出貨標籤後將產品新增至套件時,正確列在「建立套件」頁面的「產品」格線上。
cart
查詢現在會傳回分散式送貨折扣,作為具有唯一折扣標籤的個別送貨折扣。 新的applied_to
折扣屬性支援套用至購物車專案的折扣差異。 以前,所有運費折扣都會合併為一個硬式編碼的 Shipping Discount 值。
- 當管理員使用者建立重新訂購時,當管理員使用者按一下 Reorder 按鈕(管理員 Sales > Orders > View )時,來自初始訂購的帳單和運送地址會自動填入相關欄位。 如果購物者的通訊錄中儲存了相同的地址,則重新排序將一律納入這些地址的更新版本。 之前,送貨位址列位會預先填入更新的資料,但帳單位址列位則不會。
- 啟用 Apply custom Shipping Policy 且有自訂送貨原則時,Shipping Policy 文字方塊現在會顯示在管理商店檢視範圍內。 GitHub-36425
cart
查詢現在會傳回符合available_shipping_methods
電信業者和方法程式碼之一的selected_shipping_method
值。 先前,當其中一個選取的送貨方法包含底線時,這些電信業者/方法代碼會不相符。 GitHub-36606
- 當街道陣列中的第二個值為Null時,
setShippingAddressesOnCart
突變不再擲回錯誤。 先前擲回此例外狀況:The address failed to save. Verify the address and try again
。 GitHub-35160
Sitemap
- XML Sitemap現在在多層部署中可如預期般運作。 先前,網站地圖不包含每個存放區指派的預設頁面。 GitHub-35001
- 商戶現在可以在網站
id != 1
和單一商店模式啟用時建立和儲存產品。 先前儲存動作失敗,訊息為:SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails
。 GitHub-35009
稅金
- 現在,在設定稅捐且啟用FPT時,商業發票會顯示正確的小計。
- 針對具有 Special Price 值的產品選取自訂選項時(當 Price Display Settings 設為含稅時),Magento Open Source現在會顯示 Regular Price 值的正確值。
- 稅金現在會依預期納入組態設定所指定的結帳工作流程送貨價格中。
cart
查詢applied_taxes
回應值現在會如預期包含所有個別稅捐規則。 先前設定多個稅捐規則時,它會傳回總稅捐值。
- 稅捐規則建立期間,Additional Settings 區段的摺疊/展開圖示現在可如預期運作。 以前,只有展開圖示有效。 GitHub-37922
- 您現在可以依照預期,從「稅捐規則」編輯頁面編輯「稅率國家/地區」的值。 之前,不會儲存從該頁面所進行的編輯。
- 更新送貨方法時,購物車預估區域中的稅捐金額現在會如預期般重新整理。 以前,購物者在結帳期間變更國家/地區後,不會更新稅率。
- 在「商店檢視」範圍中建立現有可設定產品的新變體時,新建立之簡單產品的
tax class
值現在已設定為父產品的值。 此值以前設為none。 因此,購物車中的這些產品未加稅,且客戶的稅金不足。 GitHub-37180
測試
- 改善
AdminCreateOrderWithVirtualProductFromDefaultSourceWithBackorders
測試,以消除過早完成電子郵件欄位所導致的失敗。
- 已重構
StorefrontVerifyProductAfterPartialReindexOnSeveralWebsitesTest
以提高可靠性。 GitHub-38359
- 已藉由匯入額外步驟來修正
AdminSimpleProductwithTextandVisualSwatch
測試,此額外步驟明確設定要用於搜尋的屬性。
- 更正了單元測試中的
SortbyTest
錯別字。 GitHub-37792
- 刪除了對單元測試中不存在的類的引用。 GitHub-37636
- 改善
AdminCreateOrderWithVirtualProductFromDefaultSourceWithBackorders
測試,以消除過早完成電子郵件欄位所導致的失敗。
- 重構
Magento\GraphQl\Catalog\ProductSearchTest::testFilterProductsBySingleCategoryId
測試以處理查詢回應中的products
隨機類別順序。
\Magento\Test\Integrity\Di\CompilerTest::testConstructorIntegrity
測試 現在驗證由 註冊的ComponentRegistrar()
模組中的所有 PHP 類。
- 中
TableNameSniff
大型數位的性能問題已得到解決。
CollectionTest::testGetDateRangeFirstPart()
現在計入日光節約時間。
UI框架
crossorigin
已將linkTypes
HEAD
屬性添加到 for 元素。GitHub-32509
- 影像上傳程式現在可在動態列中如預期般運作。 以跨國陣列傳送影像時,現在可以正確上傳影像。 GitHub-37957
- 檔案上傳樣式在Luma主題中不再重複。 GitHub-32373
- 街道欄位客戶帳戶編輯地址表單中的街道欄位現在已正確儲存。 這些欄位現在會依表單中提供的索引鍵正確排序。 GitHub-37973
- 產品詳細資料頁面的Cumulative Layout Shift (CLS)值已有所改善。 (此量度可量化頁面配置的視覺穩定性。)GitHub-35410
- 改善範本轉譯期間發生錯誤的傳訊功能。 Magento Open Source現在會顯示資訊訊息。 以前,發生PHP錯誤時,Magento Open Source會顯示HTML洩漏。
- 自訂客戶屬性(型別
File attached
)現在可以正確處理已刪除的影像,然後上傳。 先前上傳的自訂屬性之後遭到刪除,最後又重新上傳,但無法從店面儲存。
- 修正行事曆範本檔案中的語法錯誤。 GitHub-37725
- 現在,當單一商店模式啟用時,管理員使用者可以變更店面標誌。 之前,Magento Open Source會顯示預設的遞補標誌。 GitHub-35952
- Mixin設定值不再空白,jQuery mixin現在不論載入位置為何,都能運作。 以往,jQuery mixin無法一致地跨瀏覽器載入。
- 當登入頁面上的 Show Password 核取方塊作用中時,密碼現在會如預期般顯示。
- Magento Open Source現在會顯示具有特殊價格的固定套件組合產品的正確價格。
- 更新店面頁尾範本檔案中GitHub問題清單頁面的連結。 GitHub-37214
- 「最近檢視的Widget」現在會在已分組的產品價格中顯示正確的稅捐金額。 GitHub-35881
- 管理員使用者現在可以如預期拖放針對簡單產品建立的可自訂選項。 GitHub-36051
- 產品下拉式清單屬性型別的順序現在與可設定產品頁面上的影像順序相符。 GitHub-37285
- 系統訊息現在載入得更快。 只會載入正在顯示的訊息。 以前,所有訊息都是從資料庫載入,非常耗時。
- 透過配置XML設定
remove=true
來移除階層連結節點,不再導致移除類別頁面上的頁面標題。 之前,以這種方式移除階層連結會從類別頁面中移除頁面標題。
- 現在,當客戶登錄檔單包含多選客戶屬性時,會如預期載入。 之前,Magento Open Source擲回此例外狀況:
[2023-03-05T05:57:40.032602+00:00] report.CRITICAL: Exception: Deprecated Functionality: explode(): Passing null to parameter #2 ($string) of type string is deprecated in /magento2ee/app/code/Magento/CustomAttributeManagement/Block/Form/Renderer/Multiselect.php on line 53 in /lib/internal/Magento/Framework/App/ErrorHandler.php:62
。 GitHub-37189
- 包含單引號的歡迎訊息現在會在店面上正確轉譯,不會出現主控台錯誤。 先前,如果歡迎訊息包含單引號,則在店面呈現期間不會載入歡迎訊息。 Magento Open Source也顯示主控台錯誤。
- 當您嘗試在「管理員順序」頁面中的評論歷程記錄與傳回之間快速變更檢視時,Magento Open Source不再擲回錯誤。 之前,Magento Open Source顯示這個一般錯誤:
A technical problem with the server created an error
。
- 許可權僅限一個網站的管理員使用者現在可以更新網站特定產品屬性集至
all stores view
範圍。
- 放大鏡Widget現在會在產品頁面上如預期般載入。
- 多明細行可自訂選項現在可在發票、出貨及銷退折讓單PDF檔案中正確呈現。 以前,多行文字前面會出現非預期的分頁符號,如果文字超出頁面,文字會被截斷。
- 現在,當為其他網站(其商店ID與網站ID不符)建立該客戶時,管理員使用者可以從管理員新增客戶地址。 Magento Open Source之前會顯示此快顯訊息:
Something went wrong
。 GitHub-36582
- 與在訂單詳細資訊頁面上提交評論相關的錯誤訊息,現在可提供更多資訊。 先前,當購物者按一下 Submit comment 而未變更訂單狀態或未在評論區中輸入文字時,Magento Open Source會顯示此訊息:
The comment is missing. Enter and try again
。
- 為一個欄位選取日期後,行事曆圖示現在在管理員 Marketing > Cart Price Rules 的日期範圍欄位中顯示為預期。 先前,您為一個欄位選取日期後,其他欄位不再顯示行事曆圖示,而Magento Open Source會顯示預留位置文字。 GitHub-36499
- 包含多選欄位的客戶登錄檔單現在已成功載入。 先前,此表單包含多選欄位時未載入,且已觸發下列錯誤:
report.CRITICAL: Exception: Deprecated Functionality: explode(): Passing null to parameter #2 ($string) of type string is deprecated in /magento2ee/app/code/Magento/CustomAttributeManagement/Block/Form/Renderer/Multiselect.php on line 53 in /lib/internal/Magento/Framework/App/ErrorHandler.php:62
。 GitHub-37189
- 按一下Product Gallery全熒幕模式中的視訊縮圖,現在會如預期顯示視訊。 以前不會顯示影片,且瀏覽器主控台會顯示JavaScript錯誤。 GitHub-36456
- 在每年自動更新的版權行中新增變數。 GitHub-36776
- 產品頁面上的影像滑桿現在可在行動檢視中正常運作。 以前,只成功顯示第一個影像。 GitHub-37232
URL重新寫入
- 現在會根據多存放區部署中的存放區層級可見度設定產生URL重寫。 先前,當產品可見度設定為 不可見 時,在預設存放區範圍內,不會為非預設存放區產生URL重寫。
Category::getUrl()
不再擷取301重新導向。 GitHub-38152
- 當產生自訂商店的遺失URL重寫時,Magento Open Source不再為根類別以及在多商店設定中設為 Not Visible Individually 的產品產生產品URL重寫。
- 標準URL標籤現在會反映類別URL索引鍵屬性更新後所預期的變更。 以前使用過時的類別URL,這會立即觸發重新導向至新URL。
- 當產品新增到類別時,類別產品URL重寫現在會如預期產生所有商店檢視。 GitHub-32910
- 啟用 產生類別/產品URL重寫 時,當您嘗試為產品URL建立301/302重新導向時,Magento Open Source不再擲回錯誤。 創建產品並將其分配給類別時,將創建自動重寫URL:一個用於直接URL,另一個用於通過類別路徑的產品。 建立新產品URL重寫時,會檢查產品、類別和商店之間的關聯。 此檢查現在以關聯的實體屬性(類別和產品)為基礎。 之前,這項檢查會對預先存在的URL重寫執行。
- 現在從CSV檔案匯入新類別時,會為所有存放區檢視產生類別URL重寫。
- 產品URL尾碼和類別URL尾碼設定現在符合
url_rewrite
表格中的尾碼。 先前,更新URL尾碼設定時發生競爭條件,且設定的URL尾碼與url_rewrite
資料表不符。
- 現在,在建立類別URL重寫時,Magento Open Source會在所有層級轉譯類別樹。 以前,只顯示類別的前三個層級。 GitHub-36973
- 匯入新類別期間,CSV檔案中現在會出現類別URL重新寫入。
- 沒有URL重寫的多重儲存CMS頁面現在會如預期般轉送。 以往,系統會將要求的多儲存區CMS頁面(不含URL重新寫入)重新導向至儲存區首頁,但不會導向原始CMS頁面。
Web API框架
- 當 Callback URL 和 Identity link URL 欄位空白時,Magento Open Source不再在「管理員 System > Extensions > Integrations」中顯示
Integration not secure
警告。 GitHub-36407
- 已新增
taxes
、itemized_taxes
和additional_itemized_taxes
擴充功能屬性至Magento\Sales\Api\Data\OrderInterface
。 這些屬性可讓您使用Order REST呼叫儲存套用的稅捐。
- 階層價格REST API現在支援小數數量。 以前,即使啟用 Use Decimal Quantity 設定,此API也不允許小數數量。
- 嘗試將註解新增至擱置訂單的狀態時,REST
V1/orders/{id}/comments
端點不再變更訂單的狀態。 它現在會提供資訊錯誤。 之前,此端點會在新增評論時變更順序狀態。
- REST API
GET
與POST V1/products/attributes
端點不再針對 Use in Layered Navigation 選項的Filterable(with results)
與Filterable(no results)
選項,傳回is_filterable
屬性的相同值。 以前,此端點傳回相同的值,因為is_filterable
屬性屬性是型別Boolean
,不允許將此屬性設定為Filterable(no results)
。 GitHub-37979
- 遺失的
media_gallery_entries
欄位已新增至RESTV1/configurable-products/sku/children
端點。 以前,此函式遺漏儲存和顯示media_gallery_entries
所需的程式碼。 GitHub-37607
- REST
V1/carts/mine/estimate-shipping-methods
方法現在會驗證所有層級的裝載欄位資料,並傳回400 HTTP程式碼中的無效資料。 之前,僅驗證第一層的API裝載,如果以未驗證的裝載層級傳回無效資料,Magento Open Source會傳回500狀態代碼。
- 非同步大量REST API作業,以更新具有層級價格和不同屬性集的產品,現已順利完成。 之前,無法以這種方式更新具有不同屬性集的產品,Magento Open Source會顯示此錯誤:
The product was unable to be saved. Please try again
。
POST /V1/products/tier-prices
端點現在會在層級價格建立期間使用無效的客戶群組名稱時,傳回資訊更豐富的錯誤訊息。 之前,Magento Open Source傳回類似以下的錯誤:Notice: Undefined index: XXXXX in ~/public_html/vendor/magento/module-catalog/Model/Product/Price/Validation/TierPriceValidator.php on line 474"
。 GitHub-36431
- 您現在可以執行授權的非同步大量API請求,以使用非預設群組ID建立客戶。 以前,這些請求會將群組ID重設為預設值。
- 使用大量API建立的客戶現在會收到在其指派的網站中設定的語言的客戶註冊電子郵件。 以前,所有電子郵件都會傳送到預設地區設定,而不是客戶被指派的網站的地區設定。
- Allow Guest Checkout 停用時,
POST V1/guest-carts
呼叫不再送出客體訂單。
- Magento Open Source現在已成功在
GET V1/products/sku/media
產品媒體API回應中傳回content
屬性(base64影像代碼)。content
屬性先前未出現在回應中。