撰寫器相依性更新

下列撰寫器相依性已更新至具有限制的最新版本:

  • colinmollenhour/credis (1.13.0)
  • guzzlehttp/guzzle (^7.4.2)
  • laminas/laminas-captcha (以條件約束^2.12更新)
  • laminas/laminas-db (^2.15.0)
  • laminas/laminas-di (^3.7.0)
  • laminas/laminas-escaper (~2.10.0)
  • laminas/laminas-eventmanager (^3.5.0)
  • laminas/laminas-feed (^2.17.0)
  • laminas/laminas-mail (^2.16.0)
  • laminas/laminas-mvc (^3.3.3)
  • laminas/laminas-server (^2.11.1)
  • laminas/laminas-servicemanager (^3.11.0)
  • laminas/laminas-validator (^2.17.0)
  • league/fly (2.4.3)
  • monolog/monolog (^2.5)
  • phpmd/phpmd (^2.12.0)
  • phpstan/phpstan (^1.5.7)
  • phpunit/phpunit (~9.5.20)
  • php-cs-fixer (^3.4.0)
  • webonyx/graphql-php (14.11.6)

已移除laminas/laminas-sessionlaminas/laminas-textlaminas/laminas-view相依性。

其他升級和取代

  • DHL整合結構描述已從v6.0更新至v6.2。

  • USPS送貨的預設閘道URL已更新為使用https而非http

  • 已將Froogaloop資料庫取代為Vimeo Player.js資料庫(2.16.4)。

  • grunt-eslint (NPM)程式庫已升級至最新版本。

  • 已將jQuery Storage資料庫取代為julien-maurel/js-storage

  • php-cs-fixerphpcs靜態程式碼分析工具現在相容於PHP 8.x。

  • glob.js相依性(使用條件約束升級至~7.2.0)

  • serve-static.js相依性(以條件約束~1.14.2升級)

  • underscore.js相依性(NPM) (1.14.2)

  • moment-timezone-with-data.js (0.5.34)

  • 資料庫jquery/jquery-cookie已取代為js-cookie/js-cookie

  • 已更新jarallax.jsjaralax-video.js資料庫,以使用最新版的Vimeo REST API。

協助工具更新

此版本的重點在於在Venia (PWA)上建立更易感知、可操作、可理解和強大的店面體驗。 這些增強功能包括:

  • 搜尋結果摘要資訊現在會向熒幕助讀程式使用者宣佈
  • 現在會在新頁面檢視載入時通知熒幕朗讀程式
  • 已改善對比和鍵盤協助工具

Google Analytics

Google已透過與GTag的整合更新網頁應用程式中AdWords和Analytics的追蹤和整合機制。 將Google功能整合至網站頁面,可讓您更有機會透過Google服務追蹤及管理內容。 Adobe Commerce有一組內建模組,包括Google AdWords、Analytics、Optimizer和TagManager,可運用舊API與Google服務整合。 在此版本中,我們已使用GTag方法重新實施作業這項整合​。 請參閱從analytics.js移轉至gtag.js (Universal Analytics) 🔗

GraphQL

GraphQL效能增強功能包括:

  • 開發人員和管理員在部署時或在變更生產環境中的屬性時,可更快速地重建統一的店面GraphQL架構。 如果因為任何原因必須重建GraphQL結構描述,購物者體驗到的頁面載入速度也會大幅加快。

  • 新增在GraphQL API中使用JSON Web權杖(JWT)來使用授權權杖到期日期/時間的功能。

  • bin/magento config:set graphql/session/disable 1命令可讓商家針對所有GraphQL作業完全停用工作階段Cookie的建立。 依預設,應用程式Open Source會建立這些Cookie並仰賴它們來取得授權,而這會影響效能。 日後,我們建議使用權杖作為GraphQL要求的唯一授權形式。 我們不建議單獨使用工作階段Cookie或將其與授權Token搭配使用。 請參閱GraphQL授權

  • 現在起,您只需在需要時使用類別代理程式,便可在GraphQL作業中啟動工作階段Cookie。

  • 工作階段使用已從GraphQL中的http標題處理器(例如商店、客戶或貨幣)中移除。

如需這些增強功能的詳細資訊,請參閱GraphQL開發人員指南

詳細目錄

已增強詳細目錄範本安全性。

頁面產生器

Page Builder v.1.7.2與Magento Open Source 2.4.5相容。

頁面產生器欄版面配置包含下列增強功能:

  • 欄現在已公開,允許使用者控制店面的欄設定。

  • 欄大小調整現在支援由使用者動作觸發的換行。

付款

Apple Pay現在可供所有執行部署並啟用Payment Services的商家使用。 此付款方式不需要購物者輸入其信用卡或扣帳卡詳細資料。 Apple Pay可在產品詳細資料頁面、迷你購物車、購物車和結帳工作流程中取得。 商家可以開啟此功能。

PayPal

  • 西班牙和義大利的商戶現在可以提供PayPal Pay Later給購物者。

  • 現在,管理員可以在結帳、迷你圖、購物車和產品頁面中預覽PayPal、點數和「稍後付款」按鈕。 預覽會顯示這些按鈕在店面啟用和呈現時的外觀。

Braintree

  • Braintree已終止KOUNT防欺詐整合。 該工具已從Magento Open Source程式碼基底中移除。

  • 已將​ 永遠要求3DS ​選項新增至Admin。

PWA Studio

PWA Studio v.12.5.x與Magento Open Source 2.4.5相容。

此版本的新功能包括:

  • 購物者行為資料會收集至PWA Studio店面,以供網站分析服務使用。 商家現在可以根據需要訂閱及延長這些活動。

  • 商家現在可以從管理員(Google Tag Manager)選取要部署的服務。

如需有關增強功能和錯誤修正的資訊,請參閱PWA Studio發行版本。 如需PWA Studio版本及其相容的Magento Open Source核心版本的清單,請參閱版本相容性

已修正的問題

我們已修正Magento Open Source 2.4.5核心程式碼中的數百個問題。

安裝、升級、部署

  • 您現在可以重新命名資料修補程式,並將舊類別名稱新增為patch_list資料庫表格中的別名。 Magento Open Source現在會在套用修補程式之前,檢查資料庫中是否已有資料修補程式別名。 之前,applicationOpen Source在這些情況下會擲回錯誤。
  • 當您嘗試從管理員將管理員URL變更為自訂URL時,Magento Open Source不再擲回例外狀況。 之前,在變更管理員URL後,您無法登入。 GitHub-35416
  • 商戶現在可以成功從具有Klarna的Magento Open Source 2.4.2部署升級至Magento Open Source 2.4.3。GitHub-33760
  • Magento Open Source Analytics的路徑不再以硬式編碼顯示。 以前,當一台伺服器上安裝多個Magento Open Source執行個體時,這個硬式編碼路徑會導致衝突。 GitHub-29373

協助工具

  • 購物袋 ​按鈕現在提供其狀態的程式化或文字指示。 熒幕助讀程式的使用者會獲知按一下此按鈕將展開其他內容,或相關內容會展開或收合。 以前,此按鈕不提供其狀態的程式化或文字指示。
  • 付款資訊信用卡選項文字元素或文字影像現在已符合WCAG 2.0的要求,標準文字的最低色彩對比率為4.5:1 (24px)或14pt (19px) (若是粗體)。 先前,這些量度不符合預期的對比率。
  • 通訊錄 > 通訊 > 帳戶資訊 ​自訂焦點指標現在提供的對比率至少是背景顏色的3:1。
  • 篩選器 ​和​ 排序 ​按鈕文字現在符合WCAG 2.0要求的標準文字18pt (24px)或14pt (19px)的最低色彩對比率4.5:1 (若是粗體顯示)。 以前,輪播的導覽按鈕不符合這些最低對比要求。
  • 熒幕助讀程式只會在導覽至Venia頁首和頁尾時朗讀「Venia」這個字。 之前,同一個字詞會連續宣佈兩次。
  • 觸發下拉式清單的按鈕現在會提供資訊給熒幕助讀程式,以指示其展開或收合狀態以及可存取的名稱。
  • 呈現新頁面檢視時,會通知熒幕助讀程式使用者。 先前,當頁面標題變更時,不會宣佈標題變更。

Adobe Stock

  • 使用者現在可以成功登出Adobe Stock。

套裝產品

  • 您現在可以使用PUT /V1/products端點來更新特定網站的產品價格屬性。 先前,如果針對特定商店檢視覆寫了某些產品屬性,您就無法在該商店檢視中更新該產品的價格屬性。
  • 現在,套用產品子選取規則時,Magento Open Source可正確計算套件組合產品的購物車總價。

快取

  • 清除Magento Open Source快取並啟用use_stale_cache時,Admin中不再顯示完整頁面快取為已停用。
  • 快取清除後,New Relic部署標籤現在會如預期運作。 GitHub-32649

購物車與結帳

  • 結帳工作流程帳單步驟上的地址搜尋快顯視窗不再造成DOM錯誤。
  • addProductsToCart突變現在可正確搭配多個產品運作。 以前,此查詢傳回第一個具有精確小計的產品,但傳回其他產品的小計0。
  • 現在已處理SKU新增之受限制產品的許可權例外。 購物者現在會在店面看到適當的訊息,且錯誤表格中的數量欄位已停用。 之前,applicationOpen Source擲回類似以下的例外狀況: There has been an error processing your request
  • 在停用購物車價格規則後更新受影響報價的SQL查詢已最佳化,以避免鎖定整個報價表。
  • 訪客結帳停用時,具有全域帳戶共用的購物者便不再需要在多網站部署中登入次要網站。 現在,當購物者導覽至子網域時,系統會載入客戶資料。 購物者不再被要求再次登入,並且會顯示先前的購物車內容。
  • 當多重地址結帳中移除單一數量地址專案時,結帳工作流程中的地址下拉式清單值不再變更報價中的剩餘專案。 先前,在多位址結帳期間,當產品從報價單中移除時,所有產品的位址下拉式清單值都會變更為預設值。
  • 當產品無存貨時,cart查詢不再傳回null回應。 已將包含錯誤訊息的新errors元素匯入回應。 先前,當您使用無庫存產品執行查詢時,應用程式Open Source在回應中的items區段下顯示null值。 請參閱購物車查詢
  • 當訪客購物者在將產品新增至購物車之後建立帳戶,再繼續結帳時,現在可如預期使用送貨方法。 過去,當訪客在建立帳戶之前將產品加入購物車時,結帳期間無法使用送貨方法。 將其他產品加入購物車後,即可使用送貨方法。
  • 未選取​ 允許國家/地區 ​欄位中的選項時,購物者現在可以將產品新增至購物車。
  • 當​ 啟用持續性 ​設定為​ ​時,在工作階段逾時後,購物車內容和登入狀態現在會如預期重新載入。 GitHub-35182
  • 當購物者針對擁有多個送貨地址的訂單從出貨頁面導覽至結帳工作流程中的購物車頁面時,迷你購物車小計現在會正確更新。 以前,小計是兩倍。
  • 啟用​ 啟用持續性 ​時,迷你購物車現在會在工作階段逾時後顯示先前新增的產品。 GitHub-35183
  • 商戶現在可以建立​ 退款送貨的銷退折讓單(包括 稅捐) ​設為–0.01,現在可以將此金額設為0。 之前,無法在下列條件下建立銷退折讓單。

購物車價格規則

  • Parent Only屬性範圍現在已在購物車規則條件中正確使用。

目錄

  • 透過商店檢視的PUT /V1/products/更新產品名稱時,產品URL金鑰現在保持不變。 之前,系統會根據新產品名稱產生新的URL金鑰並指派給產品,這會覆寫該商店檢視中的URL金鑰。
  • 從頁面產生器產品Widget設定為轉盤模式,將產品新增至類別不再觸發頁面重新載入。
  • 設定為​ 不個別顯示的產品 ​不再出現在目錄進階搜尋結果中。
  • 現在可在「大量屬性更新」頁面上正確更新動態套件組合屬性。 先前,動態SKU ​屬性仍設為​ ,即使這些屬性已在大量更新頁面上停用。
  • 目錄規則現在可以使用增量索引子正確套用,而不是完全重新索引。
  • 您現在可以成功地在多頁產品清單的清單與格線檢視之間切換。 先前,當您在切換至格線檢視之前導覽至多頁產品清單檢視的最後一頁時,應用程式「開啟Source」會顯示此錯誤: Unfortunately there are no products in this category on our website currently
  • 管理員動作記錄報告現在會依預期顯示更新的產品ID和更新的狀態資訊。
  • 在完整重新索引後,觸發程式現在會如預期般還原到catalogrule_product_price資料表。 先前,在catalogrule_rulecatalogrule_product完整重新索引後,從catalogrule_product_price資料表中移除觸發程式。
  • 用於將產品指派給類別的類別規則不再隨機變更。
  • 具有領域限制存取權的管理員無法再全域更新類別。 先前,當多個網站使用相同類別但不同產品,以及許可權僅限於一個商店的管理員變更類別中的產品時,其他商店的產品選擇也會變更。
  • 當使用指定地區設定的非預設貨幣時,產品詳細資訊頁面現在會顯示正確的價格。 之前,店面上的編號未如預期本地化。
  • 現在,嘗試擷取具有重複記錄之產品的層級價格時,API和店面會顯示相同的錯誤訊息。 以前,PUT /V1/products/tier-prices傳回不正確的錯誤訊息。
  • Magento Open Source現在會在您嘗試新增尾端有連字型大小的產品URL金鑰時提供驗證錯誤訊息。 也提供資訊性工具提示文字。
  • 新的ConfigurableWishlistItem.configured_variant欄位已取代ConfigurableWishlistItem.child_sku欄位。 當客戶希望清單包含未設定的可設定產品時,後一個欄位會觸發內部錯誤。
  • 現在,在大量屬性更新期間,只會針對選取的存放區產生URL重寫,以變更產品可見度。 之前,大量屬性更新會為錯誤的存放區建立URL重寫。
  • 啟用Synchronize widget products with backend storage設定時,應用程式Open Source會將最近的檢視產品資料新增至catalog_product_frontend_action資料庫資料表。 新增記錄時包含客戶或訪客ID。 如果客戶ID和訪客ID為Null,回應中的recently_viewed_product區段現在為空白。 因此,在傳送customer/section/load Ajax要求時,應用程式「開啟Source」可依據客戶或訪客ID正確篩選最近檢視的產品。 以前,回應會包含catalog_product_frontend_action資料庫資料表中所有可用的資料,因為沒有檢查空白的客戶或訪客ID。
  • 管理員現在可以從「管理員幻燈片」面板變更購物者購物車中的可設定產品選項。 之前,「幻燈片」面板無法正常工作。
  • 現在頁面保存對子產品的更改時,將按預期清除可配置產品父級的緩存。 以前,由於未清除緩存,因此不會在店面配置產品頁面上選擇更改。 GitHub-34508
  • 產品清單現在可在「管理」中正確呈現。 之前,產品清單不會呈現,Magento Open Source顯示此錯誤: Item (Magento\Catalog\Model\Product\Interceptor) with the same ID "<ID>" already existsGitHub-33145
  • 目錄價格範圍從​ 網站 ​變更為​ 全域 ​後,產品詳細資料頁面和多商店部署中的店面搜尋中的產品價格現在相同。 先前,「目錄搜尋結果」頁面顯示​ 全域 ​價格,而產品詳細資料頁面顯示​ 網站 ​價格。 GitHub-34074
  • 當​ 價格導覽步驟計算 ​設定為​ 手動 ​時,階層導覽現在會顯示具有預期最高價格的產品。
  • 啟用​ 記住類別分頁 ​時,您現在可以變更類別中顯示的每頁產品限制。 先前Cookie form_key和UI form_key不同,Magento Open Source會顯示此錯誤: Invalid Form Key. Please refresh the page
  • EAV索引子現在會以型別int處理產品ID,以避免可能的效能問題。
  • 現在,當您新增名稱包含「。」的新影像後,可成功產生新產品快取 然後儲存產品並清除影像快取。 GitHub-32699
  • 當您嘗試從產品頁面建立屬性而未完成「管理員」欄位時,Magento Open Source現在會如預期顯示錯誤訊息。 GitHub-33099

  • 當首頁包含多個目錄清單時,所有目錄產品清單上的產品評等現在都是正確的。 GitHub-33867

可設定的產品

  • 在產品詳細資訊頁面上變更數量後,Magento Open Source現在會針對已選取選項的可設定產品顯示正確的產品價格。 以前,價格會在數量變更後重設為初始值。
  • products查詢現在會擷取可設定產品的價格,這些價格能正確反映​ 顯示缺貨 ​組態設定。 以前,查詢不會傳回準確的價格。
  • 可設定的選項現在已連結至使用POST /V1/configurable-products/configurable1/child在Admin中建立的可設定產品。
  • 多選屬性現在會在產品編輯期間正確儲存。 之前,應用程式開啟Source在儲存產品時,會儲存非選取屬性的預設選項以及選取的屬性。
  • Magento Open Source現在會透過修補程式指令碼建立全域select屬性時,如預期顯示可設定的屬性。 以前,符合條件的全域屬性會隱藏。
  • addConfigurableProductsToCart突變現在可用來新增具有自訂選項的可設定產品。 之前,applicationOpen Source擲回此錯誤: Magento 2.3.4 graphql Notice: Undefined index: option_value in /var/www/html/mg234/vendor/magento/module-configurable-product-graph-ql/Model/Resolver/ConfigurableCartItemOptions.php on line 62GitHub-28860

  • 您現在可以使用選用的自訂選項來重新排序可設定的產品。 以前,重新排序嘗試失敗,表示顯示此錯誤: Some of the selected options are not currently availableGitHub-35409

  • addConfigurableProductsToCart突變現在可如預期般與多個產品搭配運作。 之前,系統傳回不正確的產品資訊,或傳回無效的錯誤訊息。 GitHub-30948

客戶

  • Magento Open Source現在會根據店面的網站設定,正確顯示預先定義的EAV系統屬性。 之前,在一個網站上啟用的網站層級客戶屬性和在另一個網站上停用的網站層級客戶屬性,在兩個網站上都顯示為已啟用。

可下載

  • 您現在可以從可下載的產品中移除範例連結和檔案。 GitHub-31887

電子郵件

  • 系統核發的電子郵件現在已成功傳送給具有"。 — 」時,才會追蹤退出連結。
  • 客戶現在會收到電子郵件提醒,提醒他們依照正確排程放棄購物車。 新的TIMESTAMPDIFF(DAY, ,) SQL函式已取代TO_DAYS()函式,並根據日期和時間計算時間戳記的差異。 以前,不會根據排程傳送電子郵件提醒,因為計算購物車放棄的兩個日期時間值(任何時區)和伺服器時間(UTC)不正確。
  • 當購物者按一下​ 下訂單 ​後輸入無效的電子郵件格式時,Magento Open Source現在會在「送貨」頁面上顯示錯誤訊息。 以前,錯誤訊息會顯示在「付款」頁面上。 [GitHub-33590]​(https://github.com/magento/magento2/issues/33590

框架

  • bin/magento setup:config:set命令不再覆寫app/etc/env.php中已設定的快取ID首碼。
  • bin/magento setup:static-content:deploy -s compact命令現在會如預期包含子佈景主題的樣式。 以前,佈景主題CSS檔案在部署後不會出現在店面上。
  • 已新增新斜線以檢查void元素中是否使用結尾斜線。
  • 將新來源指派給產品並變更其數量後,Magento Open Source不再擲回SQL錯誤。 GitHub-35262
  • 更新後,屬性排序順序現在可如同di.xml檔案中指定的方式運作。
  • updateCartCurrency函式現在會設定字串,而不是在cart物件內設定物件。 之前,applicationOpen Source未使用getQuote載入引號,因為updateCartCurrency函式設定了物件,而非購物車物件內的字串。 GitHub-34199
  • 由於\DateTimeFormatter::formatObject(),單元測試中不再出現棄用通知。 此方法現在可如預期般處理$format的數值。
  • Magento Open Source不再在管理員上顯示preg_replace()錯誤。 第三個引數($subject)現在屬於型別array|string而非bool
  • isFreeShipping方法現在會傳回整數而非布林值。GitHub-35164
  • 當您為類別vendor/magento/module-backend/Model/Menu.php的任何方法建立外掛程式時,Magento Open Source不再擲回下列錯誤: Error: Call to undefined method ReflectionUnionType::getName()GitHub-35292
  • Magento Open Source現在會在您導覽至店面的/checkout/sidebar/updateItemQty/?item_qty=error時傳回404錯誤,而非500錯誤。 先前擲回此錯誤: Warning: A non-numeric value encountered in /vendor/magento/module-checkout/Controller/Sidebar/UpdateItemQty.php on line 69GitHub-34380
  • 在沒有SSL設定的情況下設定AMPQ連線時,Magento Open Source不再觸發trim(): Passing null to parameter #1 ($string) of type string is deprecated錯誤。
  • 資料庫 longblog 定義更正為 long blobGitHub-35108
  • 現在可翻譯包含單引號的去底文字。 GitHub-34319
  • A TypeError in magento2/app/code/Magento/Security/Model/AdminSessionsManager.php 已從 更正stringintGitHub-34415
  • .htpasswd 已新增至配置檔案中的 nginx 禁止位置。 GitHub-35150
  • Magento_Ui/js/core/app新增為depsapp/code/Magento/Ui/view/frontend/requirejs-config.js,以改善類別產品清單頁面的載入時間。 GitHub-34847
  • ProductRepository.php:get方法現在會傳回一次快取金鑰。 之前會傳回兩次。 GitHub-34958
  • 新增錯誤訊息至在cron作業的例外狀況處理常式中建立的新例外狀況。 GitHub-34941
  • 已更新GraphQl-GroupedProductGraphQl模組的ReadMe檔案。 GitHub-34951
  • 店面列印訂單/發票/銷退折讓單頁面不再顯示預設的Luma標誌,而是已指定要在網站上顯示的標誌。 GitHub-34942

一般修正

  • 將工作階段大小上限設定為0 (管理員​ 存放區 > 設定 > 設定 — 進階)不會再登出管理員。 GitHub-35312
  • 現在,當您從管理員新增指派給非預設網站的客戶地址時,系統會根據指派給客戶的網站正確載入客戶地址屬性組態設定。
  • 當您透過頁面產生器新增套件組合產品時,Magento Open Source不再擲回例外狀況。
  • 您現在可以在iOS裝置上建立客戶帳戶,並在其名字中加上斜線撇號(')。 之前,只允許使用直撇號,使用iOS 11+預設的斜撇號會造成Name is not valid!錯誤。
  • products查詢現在會傳回正確反映「顯示相關產品」設定的產品資訊。 GraphQL ProductInterface中的related_productsupsell_productscrosssell_products欄位現在分別依據「顯示相關產品」、「顯示追加銷售產品」和「顯示交叉銷售產品」設定來解析。
  • 透過大量產品大量更新設定​ Set Product as New ​屬性時,Set Product as New From Date ​屬性現在會顯示正確的日期。 之前,設定為新的起始日期 ​會顯示為​ 1970年1月1日
  • 不再自動授予具有受限制角色的使用者存取新模組的許可權。
  • 相關產品規則條件現在可如預期般搭配包含multiselect屬性的產品運作。
  • 商戶現在可以新增階層價格屬性(tier_price)至產品比較。 之前,產品比較頁面在為此屬性啟用​ 店面上的比較 ​設定時當機。 GitHub-35244
  • 當您設定無效的Cookie網域(商店 > 設定 > 網頁 > 預設Cookie設定Cookie網域)時,Magento Open Source現在會顯示錯誤訊息。 之前,網站會當機。 GitHub-35048
  • 當管理員將角色範圍限定為單一網站,並使用PageBuilder將產品新增至內容元素時,Magento Open Source不再擲回錯誤。 之前,applicationOpen Source擲回SQL錯誤。
  • 驗證已新增到編輯和新增地址頁面上街道地址的第二行。 現在會強制執行在第二個指定的最小和最大文字長度。
  • 升級後,在Admin中建立目錄規則期間,Magento Open Source不再擲回下列錯誤: A technical problem with the server created an error. Try again to continue what you were doing. If the problem persists, try again later
  • 當您在按一下​ 分享願望清單 ​之前,啟動​ 核取此處將RSS摘要連結至您的願望清單 ​核取方塊時,Magento Open Source不再擲回錯誤。 GitHub-34998
  • 顯示密碼 ​核取方塊的標題(客戶登入、客戶註冊、客戶編輯(變更密碼區段)和客戶設定新密碼表單)現在可翻譯。 GitHub-34857
  • 更新app/code/Magento/NewRelicReporting/etc/adminhtml/system.xml中的標籤和註解說明。 GitHub-31947
  • 已移除不需要的csp_whitelist.xml個檔案。 GitHub-30607

GraphQL

  • 遺失的price_range屬性已新增到GraphQL BundleItemOption型別。 GitHub-35010
  • 停用​ 在搜尋結果中使用 ​分層導覽設定時,products查詢不再傳回作為彙總的屬性。 GitHub-33318
  • price_including_tax欄位已新增到CartItemPricesGitHub-29057
  • ProductInterface中的new_from_datanew_to_datefields不再被取代。 GitHub-34783
  • 擷取類別清單時,categories查詢不再擲回例外狀況,其中一個類別包含檔案系統上找不到的影像。 之前,applicationOpen Source擲回此例外狀況: Category image not foundGitHub-34266
  • products查詢現在會如預期般傳回category_uid作為彙總。 GitHub-32557
  • 當產品庫存達到最大庫存量時,updateCartItems突變現在會如預期移除產品。 GitHub-30220
  • 當多個首頁具有相同的識別碼時,urlResolver查詢現在會正確解析路徑分隔符號(/)。 以前,查詢未解析分隔符號並傳回null。 GitHub-33615
  • customer個查詢現在會在查詢訂單時,如預期擷取套件組合產品多選選項。 GitHub-34717
  • 發出Magento Open Source請求後,GraphQL工作階段不再結束。 之前,ClearCustomerSessionAfterRequest外掛程式會登出購物者。 GitHub-34550
  • 啟用​ 顯示缺貨產品 ​組態設定時,products查詢回應中可設定的產品價格範圍現在可正確計算。 過去,停用的選項會在計算最高和最低價格時列入考量。
  • 依位置排序時,products查詢現在會傳回正確篩選的多個類別。
  • setShippingAddressesOnCart個要求現在已成功驗證地區ID。 之前,當您使用地區ID而非地區代碼時,applicationOpen Source會擲回錯誤。
  • products 查詢現在僅返回與在請求中傳遞的商店關聯的類別。
  • categoryList在標頭中指定商店時,查詢現在返回的結果反映了查詢商店的根類別。以前,預設根類別中的類別包含在結果平均中,但在標題中指定了另一個商店。
  • 禁用“在Search結果中使用分層導航”設置時,products查詢不再將屬性作為聚合返回。GitHub-33318
  • 對於 cart 免費訂單,查詢現在只會傳回一種付款方式。 以前,查詢回應中會傳回所有使用中的付款方法。 GitHub-34036
  • products查詢不再傳回受停用變體影響之可設定產品的price_range值。 GitHub-33629
  • collectQuoteTotals呼叫之前新增外掛程式,以確保未多次套用商店積分。
  • generateCustomerTokenAsAdmin突變現在會如預期擷取客戶Token。 以前不會傳回權杖,而且會傳回此錯誤: Customer email provided does not exist
  • 定義自訂type產品屬性時,GraphQL結構描述現在有效。 先前,結構描述無效,因為產品型別的type屬性已由自訂type屬性覆寫。 GitHub-34929
  • 使用createCustomercreateCustomerV2updateCustomerupdateCustomerV2突變新增或更新的客戶現在已新增使用中的電子報訂閱。 以前,即使請求包含正確的輸入引數,客戶也會取消訂閱電子報。 GitHub-33599
  • 特定商店檢視的products查詢現在只會傳回位於多網站部署中特定網站的根類別中的類別。 之前,查詢會從其他網站的根類別傳回類別。 GitHub-34570
  • products查詢現在只會傳回所提供類別ID的子類別。 之前,它會傳回所有類別。 GitHub-35220
  • 當回應中指定了gift_message物件,但禮品訊息不存在時,customerOrders查詢現在會如預期般回應。 以前,查詢傳回此訊息: Can't load gift message for order is returnedGitHub-28957
  • 修正catalog_category_product索引子導致products查詢從其他存放區傳回類別的錯誤。 GitHub-31253
  • 在產生客戶權杖之後,generateCustomerToken突變現在會在customer_log中如預期建立專案。 GitHub-33378

Google Analytics

  • 程式碼基底已新增Google標籤模組,可支援在2023年7月轉換至Google Analytics 4。 您目前可以在Google Universal Analytics屬性中使用和收集新資料,但Google Universal將於2023年7月終止服務。 GitHub-35204GitHub-35376

影像

  • 產品詳細資料頁面上的影像不再閃爍,且影像會如預期般保持置中。 先前,在產品詳細資料頁面完成載入影像後,影像會明顯向下位移。

匯入/匯出

  • 在重新產生CSV檔案之前,從管理員中刪除交叉銷售產品後,匯出CSV中相關的、追加銷售和交叉銷售產品位置現在都是正確的。 以前,移除交叉銷售產品後不會重新計算交叉銷售產品位置,且產品位置訂單不正確。
  • Magento Open Source現在會在匯出報表時篩選欄之前,檢查自訂檢視。 以前,匯出的報告不考慮自訂檢視,並且匯出的欄不正確。
  • Magento Open Source現在已成功匯入檔案名稱較長的影像。 之前,applicationOpen Source未匯入影像,並擲回此錯誤: Imported resource (image) could not be downloaded from external resource due to timeout or access permissions in row(s):
  • 已排程的匯出篩選器現在提供類別ID屬性。
  • 將包含問號(?)的產品捆綁銷售 由於改進了populateExistingOptions方法內的查詢產生器,現在可以成功匯入選項標題中的。 選項標題也會正確顯示。 先前,在初始匯入後,後續匯入會導致行為損毀和選項加倍。 購物者也無法新增產品至購物車。
  • 在匯入期間新增類別名稱的驗證。 之前,applicationOpen Source不會驗證類別名稱,導致類別名稱超過255個字元時發生錯誤。
  • catalog_url_rewrite_product_category資料表中的現有記錄現在會在插入新記錄之前刪除。 先前,在多存放區產品匯入期間發生下列錯誤: SQLSTATE[23000]: Integrity constraint violationGitHub-34210

基礎架構

  • 已棄用的內容功能表外掛程式已從外掛程式清單中移除。
  • 由於在TinyMCE中為TinyMCE中的工具列引入delayedRender邏輯,頁面產生器模組中的工具列相關邏輯已更新。
  • 競爭條件不再中斷contentUpdated事件接聽程式的建立。 GitHub-32068
  • getTypeID函式現在會傳回產品型別識別碼,而非產品識別碼。 GitHub-35458
  • 已在vendor/magento/module-theme/view/base/requirejs-config.js中更正jQuery UI滑桿和SelectMenu對應。

  • 放置在sales_order_state_change_before上的觀察者現在支援從訂購物件擷取資料。 sales_order_state_change_before event引數已更新。 GitHub-26789

  • indexer:reset已重構為呼叫$indexer->invalidate()GitHub-34988
  • 您現在可以在htmlClass屬性值中使用冒號符號,這支援使用其他元件,例如Tailwind UI。 GitHub-34430

記錄

  • 客戶、客戶地址及訂單動作現在會在管理員動作報表中正確記錄。 以前,如果未在組態設定中指定postDispatch處理常式,applicationOpen Source就不會記錄動作。

MFTF

動作群組

下列測試中的重複動作已由動作群組取代:

AdminConfigurableProductChildrenOutOfStockTest GitHub-32378
AdminCreateStoreViewTest GitHub-34631

新測試

AdminUnlockAdminUserEntityTestGitHub-34836

StorefrontNewsletterSubscriptionWithEnabledNeedToConfirmConfigTestGitHub-33344

重構測試

AdminCancelTheCreatedOrderWithCashOnDeliveryPaymentMethodTestGitHub-33692

電子報

  • 在「管理員> 行銷 > 電子報訂閱者」中,已登入的客戶不再標示為訪客。
  • 如果客戶被指派到非預設商店,並且訂閱或取消訂閱管理員的帳戶,則Newsletter訂閱確認電子郵件現在在​ 寄件者 ​欄位中有正確的商店特定電子郵件地址。 之前,客戶收到一封電子郵件,預設電子郵件位於​ From ​標題中。 GitHub-34963
  • 新聞稿電子郵件範本中的取消訂閱URL現在可如預期運作。 GitHub-33310

訂購

  • 編輯訂單後,現在已成功儲存訪客客戶詳細資料。 先前遺失部分客戶詳細資料,包括customer_firstnamecustomer_lastname, x_forwarded_for
  • 在產品或全域設定層級上停用​ 小數數量 ​時,商家無法再建立包含小數總計數量的銷退折讓單。 以前,商家可以建立小數總數量的銷退折讓單,但不適用。
  • 當偏好設定中的時區與本機電腦上設定的時區不同時,依日期篩選現在可正確用於發票、出貨、銷退折讓單、CMS頁面和CMS區塊格線。 以前,日期剖析不正確,篩選的結果包含設定日期範圍以外的資料。
  • 當您在管理員帳戶編輯頁面上變更指派給客戶的主要電子郵件地址時,Magento Open Source不再變更指派給訂單的自訂電子郵件地址。 先前,當您編輯客戶的主要電子郵件地址時,新電子郵件地址會指派給為該客戶建立的每個訂單。 GitHub-34397
  • Magento Open Source現在會在執行PHP 7.4的部署中,於銷退折讓單網格頁面上顯示要求的存放區中的記錄。之前,在您建立銷退折讓單並嘗試檢視之後,applicationOpen Source擲回下列錯誤: The store that was requested wasn't found. Verify the store and try again
  • Magento Open Source現在會在「銷退折讓單網格」頁面上,針對從商店檢視建立的訂單,顯示其名稱前面有數字的銷退折讓單。 之前,applicationOpen Source顯示錯誤: The store that was requested wasn't found. Verify the store and try again. Exception in /var/www/html/vendor/magento/module-store/Model/StoreRepository.php:75GitHub-35122
  • Magento Open Source現在會在管理員和店面發票頁面總計上顯示免運費(0)。 先前,當訂單的出貨量為零時,應用程式「開啟Source」不會在發票頁面上的出貨總計中顯示出貨總金額。
  • sales_order資料表中的increment_id資料行已增加。 先前,假設sales_order.increment_id長度為50個字元的第三方模組只儲存increment_id的前32個字元。 GitHub-34521

付款方法

  • 管理員現在可以使用PayPal PayflowPro付款方式向管理員下訂單。 之前,applicationOpen Source會顯示此錯誤: No such entity with cartId = 0
  • 使用Venmo、PayPal Later或PayPal付款時,結帳工作流程中的「付款複查」頁面現在會顯示正確的付款方式名稱。
  • cart查詢不再針對免費訂單傳回所有使用中的付款方法。 GitHub-34036

Braintree

  • 商戶現在可以針對透過Braintree以Apple Pay支付的訂單,提交部分退款。 這是Magento Open Source 2.4.4中的已知問題。

PayPal

  • Magento Open Source現在會在透過PayPal支付的訪客訂單中顯示正確的客戶名稱。 之前,客戶名稱會顯示為Guest。
  • createPaypalExpressToken變異的解析程式已更新,以正確使用use_paypal_credit輸入欄位中指定的值。 之前,它嘗試使用無效的paypal_credit欄位。 GitHub-35180

效能

  • 為可設定產品相關聯的產品資料快取新增TTL (到期日),改善了Redis快取管理。 先前,如果Redis金鑰驅逐原則設定為變動驅逐原則,則這些快取不會因為缺少TTL值而被驅逐。
  • 新的Grid Filter Condition Type客戶/客戶地址屬性控制屬性篩選器如何與資料庫中的屬性值比對,選項包括Partial MatchPrefix MatchFull Match
  • 目錄搜尋全文檢索索引器已重新放置於存放區回圈之外,這會簡化重新索引。 GitHub-33984

定價

  • 預設範圍中沒有值(但定義於存放區檢視層次)的價格屬性,現在會正確編制索引。 先前,從EAV表格擷取價格屬性值的SQL運算式並未考慮預設範圍中未定義值的案例。
  • 產品詳細資料頁面上列出的價格,現在與階層價格(根據所選數量而有所不同)的結帳工作流程中列出的價格相同(例如,根據購買2個專案與5個專案而定價不同的產品)。 之前,結帳價格會反映最低產品數量的價格。

ReCAPTCHA

  • 在ReCaptcha完全載入之前,「登入」和「建立帳戶」頁面上的​ Submit ​按鈕現在處於非使用中狀態。

角色

  • 當[角色資源]索引標籤上的資源存取設為​ 自訂 ​時,存放區 > 組態 > 服務 ​頁面現在會如預期顯示Magento Open Source Web API資訊。 GitHub-35506

搜尋

  • 在分層導覽上依色票篩選產品,可在修正後顯示產品的正確影像。
  • int設定為可搜尋的後端type屬性時,Elasticsearch查詢現在會如預期般運作。 之前,applicationOpen Source擲回Elasticsearch\Common\Exceptions\BadRequest400Exception例外狀況。
  • 您現在可以在Elasticsearch查詢中,搭配使用搜尋同義字以及​ 符合 ​引數的最小字詞。 以前,如果在設定中指定此引數,並為特定關鍵字新增搜尋詞,則搜尋未傳回任何結果。
  • 在啟用「搜尋建議」和​ 顯示每個建議的結果計數 ​設定的部署中,Magento Open Source現在會在店面顯示準確的搜尋結果建議計數。 以前,關鍵字旁邊顯示的計數為零。
  • 目錄頁面上依自訂屬性排序的產品,現在會依預期順序顯示。 之前,產品會依其屬性選項值ID排序,以反映將其新增至屬性的順序。 GitHub-33810
  • 在分層導覽中依色票篩選產品時,現在會顯示正確的產品影像。 之前,階層式導覽PageCache索引鍵不包含可設定產品的篩選引數。
  • 修正catalogsearch/advanced/result和上的PHP錯誤 catalogsearch/advanced/index頁。 之前,在任何進階搜尋字串中傳遞陣列時,Magento Open Source會顯示此錯誤: Warning: trim() expects parameter 1 to be string, array given | magento/module-catalog-searchGitHub-33586

送貨

  • 若未選取允許的送貨方法,Magento Open Source載入UPS運費時就不會再擲回錯誤。 先前,在這些條件下,當購物者在結帳工作流程中輸入運送地址時,沒有顯示其他運送方式,而Magento Open Source在店面顯示錯誤。 GitHub-34411
  • 計算表格費率運費金額現在不包含虛擬產品價格。 以前,這些產品的運輸成本計算不正確。GitHub-35185
  • 針對已套用折扣券的訂單,零價格的表格費率出貨費率現在會在結帳工作流程「訂單摘要」區塊中正確顯示。 以前不顯示送貨方法。

稅金

  • 購物車中的產品現在會正確顯示固定產品稅(FPT)。 先前,如果購物車中的多個產品具有​ 固定產品稅額(FPT) ​和​ 對FPT套用稅額 ​已啟用,則所有FPT都會指派給購物車中的最後一個產品,並重設其他產品。
  • 結帳工作流程之訂單摘要區段的「固定產品稅捐(FPT)」總計現已正確計算。
  • Magento Open Source現在會在簡單產品的數量變更後,依預期更新產品頁面上簡單產品的排除稅捐層級價格。
  • 已將驗證新增到商店設定頁面,以驗證從下拉式清單中選取的國家是否位於歐盟國家/地區清單中。 驗證VAT編號 ​按鈕現在僅對歐盟國家可見。 之前,按鈕在所有國家/地區皆可見,包括英國。
  • 當​ 目錄中的顯示產品價格 ​設定為​ 排除稅捐 ​或​ 包含與排除稅捐 ​時,現在已正確計算層級價格。 之前,產品詳細資訊頁面會顯示含稅層級價格(儘管有設定)。
  • 現在,使用葡萄牙語地區設定的訂單,可正確套用稅捐至店面中的任何有效地址。 GitHub-34271
  • 傳回subtotal_with_discount_excluding_tax時,cart查詢不再包含稅捐。 GitHub-33905
  • 訂單資料(GET /V1/orders/)的Web API要求不再傳回列總計的負值。

測試

  • 修正使用AWS Elasticsearch設定執行時Magento.GraphQl.CatalogGraphQl.ProductSearchTest.testSearchSuggestions發生的錯誤。
  • testCreateProductOnStoreLevel整合測試不會再造成資料庫上的巢狀交易。

  • 在PHP 8.1上未設定產品影像時,執行Send Friend功能的WebAPI測試時不再發生下列例外狀況: exception main.ERROR: /var/www/html/lib/internal/Magento/Framework/DataObject.php:131 strpos(): Passing null to parameter #1 ($haystack) of type string is deprecatedGitHub-34864

翻譯與地區設定

  • 您現在可以使用翻譯內嵌工具,多次編輯相同的元素。 以前,只包括使用此工具進行的第一次變更。
  • 當您編輯管理員文字或標籤時,商店檢視選擇器不再封鎖翻譯窗格。 您現在可以從翻譯窗格編輯這些功能,當您按一下​ 提交 ​時,介面會顯示這些變更。
  • 巴西葡萄牙文和法文地區設定的管理日期 — 時間格式現在有效。
  • 在名稱驗證程式中新增抑音符號(&amp;grave;)字元,以便針對包含此抑音符號的名字或姓氏建立客戶帳戶。
  • 「產品詳細資料」頁面上​ 加入購物車 ​按鈕上的文字現在仍會翻譯成相關地區設定中指定的語言。 當translate_strategy=embedded時,翻譯檔案現在會根據區域、主題和區域設定轉換為對應的JavaScript檔案。 之前,將產品新增到購物車後,文字會回覆為英文。
  • 搜尋同義字現在會遵循其指派的存放區範圍。 之前,指派給特定存放區的同義字可在任何其他存放區上搜尋。
  • 菲律賓(菲律賓)地區設定的問題已解決。 GitHub-33996

UI

  • 目錄 > 產品 ​格線中的冗長產品名稱現在會以文字換行,而非以單行顯示。
  • 最小和最大出生日期範圍現在會儲存為正確的時間戳記,然後從有效的時間戳記轉換為有效的日期格式。
  • magento.com的不可用性不會再於管理員登入期間造成效能問題。 已新增擷取發行通知要求的逾時。
  • 現在,當管理員訂單、客戶和產品格線篩選器的結果顯示在Chrome瀏覽器中時,會如預期般持續存在。
  • 您現在可以在啟用Magento_LoginAsCustomerAdminUi且​ 要登入的存放區檢視 ​設定為手動選取時,從管理員建立客戶。 之前,applicationOpen Source擲回此錯誤: (Magento\Framework\Exception\LocalizedException): Unable to get Customer IDGitHub-33096
  • 當購物者達到產品影像庫中的最後一個縮圖影像時,「下一步」箭頭現在會如預期停用。
  • 依關鍵字搜尋 ​輸入欄位現在有aria-label專案,而不是​ 目錄 > 產品 ​頁面上的預留位置。
  • 管理員頁尾的隱私權政策連結現在會連結至新的Adobe隱私權政策。
  • 現在當在生產模式中啟用JavaScript套件組合時,管理員可以存取管理員功能表選項。 GitHub-35325
  • 管理員現在可以將目前使用者的到期日設定為高於2038年,並成功儲存使用者。 之前,到期日期變更的使用者無法在登出後重新登入。
  • 當管理員嘗試在管理員​ 商店 > 屬性 > 客戶地址 ​中儲存帶有過多街道行的地址時,Magento Open Source現在會顯示資訊性錯誤訊息。 管理員現在可以刪除額外的位址資訊,並成功儲存位址。 之前,applicationOpen Source會認可額外的行,但不會儲存資料。
  • 已更新資料庫和本機儲存體中的產品清單檢視組態。 自訂網格檢視現在會在頁面重新載入和檢視變更期間儲存。
  • 啟用網站限制後,您現在可以在商店檢視之間切換。 以前,商店檢視切換器的問題會阻止切換商店檢視。
  • Favicon圖示上傳表單現在支援.ico檔案型別。 先前,當您嘗試在Admin中上傳具有此副檔名型別的Favicon檔案時,應用程式Open Source會顯示此錯誤: Warning: imagecreatefromstring(): one parameter to a memory allocation multiplication is negative or zero, failing operation gracefully in /var/www/html/vendor/magento/module-media-storage/Model/File/Validator/Image.php on line 64GitHub-34858
  • 修正管理格線中下拉式選取功能表的顯示問題。 GitHub-35386

URL重新寫入

  • 特定商店檢視中產品的URL現在會從url_rewrite表格和Admin中移除,因為特定商店檢視的屬性代碼可見性狀態已變更為​ 不個別顯示。 之前,已在url_rewrite表格中移除產品的所有URL。 GitHub-34937

影片

  • 您現在可以使用頁面產生器使用YouTube URL引數來新增影片。 之前,這些引數會自動從URL中移除。
  • 當CSP設為restrict mode時,您現在可以將Vimeo視訊設定為在banner元素的背景中執行。 之前,applicationOpen Source擲回JavaScript錯誤。

Web API框架

  • 已對訂單實作Mutex,以防止在並行請求更新期間出現競爭條件。 先前,同時執行REST API呼叫時的競爭條件會導致「訂購的管理專案」表格中的出貨狀態資訊遭到覆寫。
  • 產品影像角色繼承現在會保留,除非透過REST API更新特定商店檢視中的產品時,已在裝載中明確定義。
  • Swagger結構描述(/rest/schema)現在使用唯一的作業ID。
  • 透過POST /V1/salesRules/端點建立的購物車價格規則,現在會在狀態從停用變更為啟用後,保留現有優惠券代碼值。 GitHub-35298
  • 透過POST /V1/salesRules/端點建立的購物車價格規則現在包含有效的from_dateto_date值。 GitHub-35265
  • CartItemInterface現在包含customizable_optionsGitHub-31180
  • 啟用Magento_ReCaptchaWebapiRest模組時,REST API大量PUT和DELETE要求現在可如預期運作。 GitHub-35348
  • 大量Rest API現在可與可設定產品的bySku選項搭配使用。 之前,它傳回500錯誤。
  • 使用POST /V1/products/special-price端點建立新的特殊價格排程現在可如預期般運作。 之前,端點傳回此錯誤: Future Update already exists in this time range. Set a different range and try again
  • /V1/products/base-prices端點現在可如預期般搭配​ 目錄價格模式 — 網站 ​運作。 GitHub-30132

希望清單

  • 現在,從希望清單頁面更新專案數量時,會如預期更新產品詳細資料頁面上的數量。 應用程式「開啟Source」現在會從產品URL中擷取更新的值,並從願望清單本身填入產品詳細資料頁面的qty欄位。

已知問題

問題:啟用Braintree時,管理員使用者無法從管理員建立客戶的訂單或重新訂單。 當管理員使用者按一下​ 訂單 ​或​ 重新訂單 ​時,Adobe Commerce不會提交訂單,而system.log會顯示此錯誤: report.CRITICAL: Error: Call to a member function getMethodInstance() on null in /app/vendor/paypal/module-braintree-core/Block/Form.php:174因應措施BUNDLE-3137-composer.patch現已可用。 請參閱啟用Braintree付款時,管理員無法建立訂單/重新排序知識庫文章,以取得此問題的討論及修補程式的存取權。 Adobe Commerce 2.4.5-p1中也會包含修正。