平台增強功能

此版本的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命令支援索引器狀態的動態管理。 管理員使用者可以使用此命令將索引子狀態變更為suspendedinvalidvalid。 此功能在大量大量作業(例如產品匯入或更新)期間管理系統效能時,特別有用,因為它允許控制索引器何時由系統的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_enabledorder_cancellation_reasons.description回應欄位
      查詢支援使用者啟動的訂單取消請求。 請參閱查詢商店的訂單取消設定
  • 對自訂屬性的增強支援。 GraphQL已透過豐富API資料來支援所有屬性型別,進而增強自訂屬性支援。 GraphQL EAV屬性方案現在支援在管理員中擴充客戶屬性和客戶位址物件,以及使用GraphQL擷取它們。 特定的增強功能包括:

    • 擴充/新增自訂屬性對特定領域的支援,例如客戶和客戶地址
    • 新增自訂屬性的快取
    • 增強產品的現有自訂屬性支援
  • 增強的GraphQL快取功能可改善頁面載入速度。 快取功能已新增到這些查詢,改善了大部分PWA頁面的頁面載入時間速度:

  • 已改善GraphQL剖析器效能。 透過減少每個請求呼叫剖析方法的次數,GraphQL剖析器效能已有所改善。 現在只呼叫一次。 之前,至少呼叫過剖析器三次。

現有變動的新欄位

  • 已將quickorder_active欄位新增至storeConfigavailableStores查詢。 此欄位指出是否啟用快速訂購功能。

  • 已將下列欄位新增至setBillingAddressOnCartsetShippingAddressesOnCart變動:

    • fax
    • middlename
    • prefix
    • suffix

新的查詢和變動

已棄用的查詢和變更

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 GETPOST 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)和isFilterableint值為: 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:upgradebin/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現在會顯示資訊更豐富的錯誤訊息。 錯誤訊息現在包含檔案名稱。