Magento Open Source 2.4.5 릴리스 노트

Magento Open Source은 플랫폼 품질, 결제 방법, GraphQL 캐싱 성능 및 접근성 개선 사항을 도입했습니다. 여기에는 통합 Google 모듈에 대한 업데이트가 포함되어 있습니다.

이 릴리스에는 290개 이상의 품질 수정 및 개선 사항이 포함되어 있습니다.

NOTE
Adobe Commerce 릴리스에는 이전 버전과 호환 불가능한 변경 사항(BIC)이 포함될 수 있습니다. 이전 버전과 호환 불가능한 변경 사항을 검토하려면 BIC 참조. 주요 이전 버전과 호환 불가능한 문제는에 설명되어 있습니다. BIC 특징. 일부 릴리스에서는 주요 BIC가 제공되지 않습니다.

기타 릴리스 정보

이러한 기능에 대한 코드가 Magento Open Source 코어 코드의 분기별 릴리스와 번들로 제공되지만 이러한 프로젝트 중 일부도 독립적으로 릴리스됩니다. 이러한 프로젝트에 대한 버그 수정은 각 프로젝트에 대한 설명서에서 사용할 수 있는 별도의 프로젝트별 릴리스 정보에 설명되어 있습니다.

Magento Open Source 2.4.5의 특징

이 릴리스에서 다음 하이라이트를 확인하십시오.

향상된 보안 기능

이 릴리스에는 20개의 보안 수정 사항 및 플랫폼 보안 개선 사항이 포함되어 있습니다. 이 보안 수정 사항은 Magento Open Source 2.4.4-p1 및 Magento Open Source 2.3.7-p4로 백포트되었습니다.

현재까지 이러한 문제와 관련된 확인된 공격은 발생하지 않았습니다. 그러나 특정 취약성은 고객 정보에 액세스하거나 관리자 세션을 인수하는 데 잠재적으로 악용될 수 있습니다. 이러한 문제의 대부분은 공격자가 먼저 관리자에 대한 액세스 권한을 얻어야 합니다. 따라서 이러한 노력을 포함하되 이에 국한되지 않고 관리자를 보호하기 위해 필요한 모든 조치를 취해야 함을 알려드립니다.

  • IP 허용 목록에 추가
  • 이중 인증
  • vpn 사용
  • 대신 고유한 위치 사용 /admin
  • 올바른 암호 위생

다음을 참조하십시오 Adobe 보안 공지 이러한 수정된 문제에 대한 최신 논의를 위해

추가적인 보안 개선 사항

이 릴리스의 보안 개선 사항은 다음을 포함하여 최신 보안 모범 사례를 준수하도록 개선합니다.

  • reCAPTCHA 지원이 위시리스트 공유, 새 고객 계정 만들기 및 기프트 카드 양식에 추가되었습니다.

  • ACL 리소스가 인벤토리에 추가되었습니다.

  • 인벤토리 템플릿 보안이 향상되었습니다.

  • 다음 MaliciousCode 필터가 을 사용하도록 업그레이드되었습니다. HtmlPurifier 라이브러리입니다.

플랫폼 개선 사항

이제 Magento Open Source 2.4.5에서 다음을 지원합니다.

  • 작성기 2.2

  • TinyMCE(5.10.2) 이전 버전의 TinyMCE(v5.9.2 또는 이전 버전)에서는 특별히 제작된 URL이나 특별히 제작된 URL이 있는 이미지가 업데이트될 때 임의의 JavaScript 실행이 허용되었습니다.

  • jQueryUI (1.13.1)

  • PHPStan (제한 포함^1.5.7) GitHub-35315

DHL 통합 스키마가 v6.0에서 v6.2로 업데이트되었습니다. 이 업그레이드로 인해 제품 동작이 변경되지 않습니다.

오래된 JavaScript 라이브러리가 최신 버전으로 업데이트되고 오래된 종속성이 제거되었습니다. 이러한 변경 사항은 이전 버전과 호환됩니다.

작성기 종속성 업데이트

다음 작성기 종속성이 제한이 있는 최신 버전으로 업데이트되었습니다.

  • 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-session, laminas/laminas-text, 및 laminas/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 Services를 통해 컨텐츠를 추적하고 관리할 수 있는 기회가 확장됩니다. Adobe Commerce에는 Google 서비스와의 통합을 위해 이전 API를 활용하는 Google AdWords, Analytics, Optimizer 및 TagManager 등의 내장된 모듈 세트가 있습니다. 이 릴리스에서는 GTag 접근 방식을 사용하여 이 통합을 다시 구현했습니다​. 다음을 참조하십시오 analytics.js에서 gtag.js로 마이그레이션(범용 Analytics).

GraphQL

GraphQL 성능 개선 사항은 다음과 같습니다.

  • 개발자와 관리자는 배포 시 또는 프로덕션에서 속성을 변경할 때 통합 상점 GraphQL 스키마를 더 빠르게 다시 빌드할 수 있습니다. 또한 어떤 이유로든 GraphQL 스키마를 다시 빌드해야 하는 경우 쇼핑객은 페이지 로드 속도가 상당히 빨라집니다.

  • GraphQL API에서 JSON 웹 토큰(JWT)을 사용하여 인증 토큰의 만료 날짜/시간을 소비하는 기능이 추가되었습니다.

  • 다음 bin/magento config:set graphql/session/disable 1 명령을 사용하면 판매자가 모든 GraphQL 작업에 대한 세션 쿠키 생성을 완전히 비활성화할 수 있습니다. 기본적으로 애플리케이션 Open Source는 이러한 쿠키를 만들고 성능에 영향을 주는 인증에 사용합니다. 앞으로는 토큰을 GraphQL 요청에 대한 유일한 인증 양식으로 사용하는 것이 좋습니다. 세션 쿠키만 사용하거나 인증 토큰과 함께 사용하지 않는 것이 좋습니다. 다음을 참조하십시오 GraphQL 인증.

  • 세션 쿠키는 이제 필요한 경우에만 클래스 프록시를 사용하여 GraphQL 작업에서 실행됩니다.

  • 세션 사용량이에서 제거되었습니다. http 스토어, 고객 또는 통화 등 GraphQL의 헤더 프로세서.

다음을 참조하십시오. GraphQL 개발자 안내서 개선 사항에 대한 자세한 내용은 을 참조하십시오.

인벤토리

인벤토리 템플릿 보안이 향상되었습니다.

페이지 빌더

페이지 빌더 v.1.7.2는 Magento Open Source 2.4.5와 호환됩니다.

Page Builder 열 레이아웃에는 다음과 같은 개선 사항이 포함되어 있습니다.

  • 이제 열이 노출되므로 사용자가 상점 전면에서 열 설정을 제어할 수 있습니다.

  • 이제 열 크기 조정이 사용자 작업에 의해 트리거된 래핑을 지원합니다.

결제

이제 Apple Pay를 결제 서비스가 활성화된 상태에서 배포를 실행하는 모든 가맹점에서 사용할 수 있습니다. 이 결제 방법에서는 쇼핑객이 신용 또는 직불 카드 세부 사항을 입력할 필요가 없습니다. Apple Pay는 제품 세부 사항 페이지, 미니 장바구니, 장바구니 및 체크아웃 워크플로우에서 사용할 수 있습니다. 판매자는 이 기능을 전환할 수 있습니다.

PayPal

  • 스페인과 이탈리아의 상인들은 이제 쇼핑객들에게 나중에 페이팔 페이를 제공할 수 있습니다.

  • 이제 PayPal, Credit 및 Pay Later 버튼의 미리 보기를 체크아웃, Minicart, Cart 및 제품 페이지에서 사용할 수 있습니다. 미리보기에서는 이러한 버튼이 상점 앞에서 활성화되어 렌더링될 때 표시되는 방식을 보여 줍니다.

Braintree

  • Braintree이 KMOUNT 사기 행위 보호 통합을 중단했습니다. Magento Open Source 코드베이스에서 제거되었습니다.

  • 다음 항상 3DS 요청 옵션이 관리자에 추가되었습니다.

PWA Studio

PWA Studio v.12.5.x는 Magento Open Source 2.4.5와 호환됩니다.

이 릴리스의 새로운 기능은 다음과 같습니다.

  • 쇼핑객 행동 데이터는 웹 분석 서비스를 위한 PWA Studio 상점에서 수집됩니다. 가맹점은 이제 필요에 따라 이러한 이벤트를 구독하고 연장할 수 있다.

  • 이제 판매자는 관리자(Google 태그 관리자)에서 배포할 서비스를 선택할 수 있습니다.

개선 사항 및 버그 수정에 대한 자세한 내용은 을 참조하십시오. 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

접근성

  • 다음 쇼핑백 이제 button은 상태를 프로그래밍 방식으로 또는 텍스트로 표시합니다. 화면 판독기 사용자는 이 단추를 클릭하면 다른 콘텐츠가 확장되거나 연결된 콘텐츠가 확장되거나 축소된다는 알림을 받습니다. 이전에는 이 단추가 그 상태를 프로그래밍 방식으로 또는 텍스트로 나타내지 않았습니다.
  • 결제 정보 신용카드 옵션 텍스트 요소 또는 텍스트 이미지는 이제 표준 텍스트인 18pt(24px) 또는 14pt(19px)의 경우 WCAG 2.0의 필수 최소 색상 대비 비율(4.5:1)을 충족합니다. 이전에는 예상 명암비를 충족하지 못했습니다.
  • 주소록 > 커뮤니케이션 > 계정 정보 이제 사용자 지정 포커스 표시기가 배경색에 대해 최소 3:1의 대비 비율을 제공합니다.
  • 필터정렬 이제 단추 텍스트가 굵게 표시되는 경우 표준 텍스트인 18pt(24px) 또는 14pt(19px)의 경우 WCAG 2.0에 필요한 최소 색상 대비 비율 4.5:1을 충족합니다. 이전에는 캐러셀의 탐색 단추가 이러한 최소 대비 요구 사항을 충족하지 않았습니다.
  • 화면 판독기는 Venia 머리글과 바닥글로 이동할 때 "Venia"라는 단어를 한 번만 알려줍니다. 이전에도 같은 단어가 두 번 연속 발표됐다.
  • 이제 드롭다운을 트리거하는 단추는 확장 또는 축소 상태와 액세스 가능한 이름을 나타내는 정보를 화면 판독기에 제공합니다.
  • 화면 판독기 사용자는 새 페이지 보기가 렌더링될 때 알림을 받습니다. 기존에는 페이지 제목이 변경되면 제목 변경이 공지되지 않았다.

Adobe Stock

  • 이제 사용자가 Adobe Stock에서 성공적으로 로그아웃할 수 있습니다.

번들 제품

  • 이제 다음을 사용할 수 있습니다. PUT /V1/products 특정 웹 사이트에 대한 제품 가격 속성을 업데이트하는 종단점입니다. 이전에는 일부 제품 속성이 특정 스토어 보기에 대해 재정의된 경우 동일한 스토어 보기에서 해당 제품에 대한 가격 속성을 업데이트할 수 없었습니다.
  • 이제 Magento Open Source은 제품 하위 선택 규칙이 적용될 때 번들 제품에 대한 장바구니 합계를 올바르게 계산합니다.

캐시

  • Magento Open Source 캐시를 플러시하고 을 때 전체 페이지 캐시가 더 이상 관리자에서 비활성화 상태로 표시되지 않습니다 use_stale_cache 이(가) 활성화되었습니다.
  • 이제 캐시가 플러시되면 New Relic 배포 마커가 예상대로 작동합니다. GitHub-32649

장바구니 및 체크아웃

  • 체크아웃 워크플로우의 청구 단계에서 주소 검색 팝업으로 인해 더 이상 DOM 오류가 발생하지 않습니다.
  • 다음 addProductsToCart 돌연변이는 이제 여러 제품에서 올바르게 작동합니다. 이전에는 이 쿼리가 정확한 소계를 사용하여 첫 번째 제품을 반환했지만 다른 제품에 대해서는 소계 0을 반환했습니다.
  • 이제 SKU에서 추가한 제한된 제품에 대해 권한 예외가 처리됩니다. 이제 구매자에게 상점 정면에 적절한 메시지가 표시되며, 오류 테이블의 수량 필드는 비활성화됩니다. 이전에는 applicationOpen Source에서 다음과 같은 예외를 throw했습니다. There has been an error processing your request.
  • 장바구니 가격 규칙을 사용하지 않도록 설정한 후 영향을 받는 견적을 업데이트하는 SQL 쿼리가 전체 견적 테이블을 잠그지 않도록 최적화되었습니다.
  • 게스트 체크아웃을 사용하지 않도록 설정한 경우 글로벌 계정을 공유하는 구매자는 더 이상 다중 사이트 배포에서 보조 웹 사이트에 다시 로그인할 필요가 없습니다. 이제 쇼핑객이 하위 도메인으로 이동할 때 고객 데이터가 로드됩니다. 쇼핑객에게 더 이상 다시 로그인하라는 메시지가 표시되지 않고 이전 장바구니 콘텐츠가 표시됩니다.
  • 다중 주소 체크아웃 시 단일 수량 주소 항목을 제거하면 체크아웃 워크플로의 주소 드롭다운 값이 견적의 나머지 항목에 대해 더 이상 변경되지 않습니다. 이전에는 여러 주소를 체크아웃하는 동안 제품이 견적에서 제거되면 주소 드롭다운 값이 모든 제품에 대해 기본값으로 변경되었습니다.
  • 다음 cart 제품이 품절된 경우 쿼리가 더 이상 null 응답을 반환하지 않습니다. 새 항목 errors 오류 메시지가 포함된 요소가 응답에 도입되었습니다. 이전에는, 품절 제품으로 쿼리를 실행할 때 애플리케이션 오픈 소스에 null 값: items 섹션에 있는 마지막 항목이 될 필요가 없습니다 다음을 참조하십시오 장바구니 쿼리.
  • 이제 고객 쇼핑객이 체크아웃을 진행하기 전에 장바구니에 제품을 추가한 후 계정을 만들 때 예상대로 배송 방법을 사용할 수 있습니다. 이전에는 고객이 계정을 만들기 전에 장바구니에 제품을 추가할 때 체크아웃 중에 배송 방법을 사용할 수 없었습니다. 다른 제품을 장바구니에 추가한 후 배송 방법을 사용할 수 있게 되었습니다.
  • 이제 쇼핑객은 장바구니에 옵션이 없을 때 제품을 추가할 수 있습니다. 국가 허용 필드가 선택되었습니다.
  • 이제 다음 경우에 세션 시간이 초과되면 예상대로 장바구니 콘텐츠 및 로그인 상태가 다시 로드됩니다. 지속성 활성화 이(가) (으)로 설정됨 . GitHub-35182
  • 이제 쇼퍼가 여러 배송 주소가 있는 주문에 대해 체크아웃 워크플로우에서 배송 페이지에서 장바구니 페이지로 이동할 때 미니 장바구니 소계가 올바르게 업데이트됩니다. 이전에는 소계가 두 배로 증가했습니다.
  • 이제 다음 경우에 세션 시간 제한 후 미니 장바구니에 이전에 추가한 제품이 표시됩니다. 지속성 활성화 이(가) 활성화되었습니다. GitHub-35183
  • 판매자는 이제 다음을 포함하는 대변 메모를 생성할 수 있습니다. 환불 배송(포함) 세금) 는 -0.01로 설정되어 있으며, 이제 이 값을 0으로 설정할 수 있습니다. 이전에는 이러한 조건에서 대변 메모를 작성할 수 없었습니다.

장바구니 가격 규칙

  • 다음 Parent Only 이제 속성 범위가 장바구니 규칙 조건에서 제대로 사용됩니다.

카탈로그

  • 를 통해 제품 이름을 업데이트할 때 제품 URL 키는 변경되지 않습니다. PUT /V1/products/ 스토어 조회용. 이전에는 새 제품 이름을 기반으로 새 URL 키가 생성되고 해당 스토어 보기의 URL 키를 재정의한 제품에 할당되었습니다.
  • 캐러셀 모드로 설정된 페이지 빌더 제품 위젯에서 카테고리에 제품을 추가해도 더 이상 페이지 재로드가 트리거되지 않습니다.
  • 로 설정된 제품 개별적으로 보이지 않음 카탈로그의 고급 검색 결과에 더 이상 나타나지 않습니다.
  • 이제 일괄 속성 갱신 페이지에서 동적 번들 속성이 올바르게 갱신됩니다. 이전에는 동적 SKU 속성이 (으)로 설정됨 일괄 업데이트 페이지에서 비활성화되었더라도
  • 이제 카탈로그 규칙이 전체 다시 색인이 아닌 증분 색인을 사용하여 올바르게 적용됩니다.
  • 이제 다중 페이지 제품 목록의 목록 보기와 격자 보기 간을 성공적으로 전환할 수 있습니다. 이전에는 다중 페이지 제품 목록 보기의 마지막 페이지로 이동한 후 그리드 보기로 전환하면 애플리케이션 오픈 소스에 다음과 같은 오류가 표시되었습니다. Unfortunately there are no products in this category on our website currently.
  • 이제 관리 작업 로그 보고서에 업데이트된 제품 ID와 업데이트된 상태 정보가 예상대로 표시됩니다.
  • 이제 트리거가 예상대로 로 복원됩니다. catalogrule_product_price 전체 색인 재지정 후 테이블. 이전에는 트리거가 catalogrule_product_price 다음 항목 뒤에 표 catalogrule_rule 또는 catalogrule_product 전체 색인 재지정.
  • 제품을 범주에 할당하는 데 사용되는 범주 규칙이 더 이상 임의로 변경되지 않습니다.
  • 범위가 제한된 액세스 권한을 가진 관리자가 범주를 더 이상 전역적으로 업데이트할 수 없습니다. 기존에는 여러 웹사이트가 같은 카테고리를 사용했지만 다른 제품을 사용하고, 한 스토어로 권한이 제한된 관리자가 해당 카테고리의 제품을 변경하면 다른 스토어에 대해서도 제품 선택이 변경됐다.
  • 이제 지정된 로케일에 대해 기본값이 아닌 통화가 사용되는 경우 제품 세부 정보 페이지에 올바른 가격이 표시됩니다. 이전에는 상점 첫 화면에서 예상대로 숫자가 현지화되지 않았습니다.
  • 이제 중복 레코드가 있는 제품의 계층 가격을 검색하려고 할 때 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가 포함됩니다. 다음 recently_viewed_product 고객 ID 및 방문자 ID가 null인 경우 이제 응답의 섹션이 비어 있습니다. 그 결과 customer/section/load Ajax 요청이 전송되면 애플리케이션 오픈 소스는 고객 또는 방문자 ID를 기반으로 최근에 본 제품을 올바르게 필터링할 수 있습니다. 이전에는 응답에에서 사용할 수 있는 모든 데이터가 포함되었습니다. catalog_product_frontend_action 빈 고객 또는 방문자 ID를 확인하지 않았기 때문에 데이터베이스 테이블입니다.
  • 이제 관리자는 관리 슬라이드 패널에서 장바구니의 구성 가능한 제품 옵션을 변경할 수 있습니다. 이전에는 슬라이드 패널이 제대로 작동하지 않았습니다.
  • 이제 하위 제품에 대한 변경 사항이 저장될 때 구성 가능한 상위 제품에 대해 예상대로 페이지 캐시가 지워집니다. 이전에는 캐시가 지워지지 않아 Storefront 구성 제품 페이지에서 변경 사항이 선택되지 않았습니다. GitHub-34508
  • 이제 제품 목록이 관리자에서 올바르게 렌더링됩니다. 이전에는 제품 목록이 렌더링되지 않았으며 Magento Open Source에 이 오류가 표시되었습니다. Item (Magento\Catalog\Model\Product\Interceptor) with the same ID "<ID>" already exists. GitHub-33145
  • 이제 카탈로그 가격 범위가 다음 위치에서 변경된 후 다중 스토어 배포의 제품 세부 사항 페이지 및 상점 검색에서 제품 가격이 동일합니다. 웹 사이트글로벌. 이전에는 카탈로그 검색 결과 페이지에 글로벌 가격이 표시되고 제품 세부 사항 페이지에 웹 사이트 가격. GitHub-34074
  • 이제 계층식 탐색에는 예상대로 가격이 가장 높은 제품이 표시됩니다. 가격 탐색 단계 계산 이(가) (으)로 설정됨 수동.
  • 이제 다음과 같은 경우 카테고리 내에 표시되는 페이지당 제품 제한을 변경할 수 있습니다. 범주 페이지 매김 기억 이(가) 활성화되었습니다. 이전에는 쿠키가 form_key 및 UI form_key 이(가) 다르고 Magento Open Source에 다음 오류가 표시되었습니다. Invalid Form Key. Please refresh the page.
  • 이제 EAV 인덱서가 제품 ID를 유형으로 처리합니다 int 가능한 성능 문제를 방지하기 위해
  • 이제 이름이 ''를 포함하는 새 이미지를 추가한 후 새 제품 캐시가 성공적으로 생성됩니다. 제품에 저장한 다음 이미지 캐시를 정리합니다. GitHub-32699
  • 이제 Magento Open Source은 관리자 필드를 완료하지 않고 제품 페이지에서 속성을 만들려고 할 때 예상대로 오류 메시지를 표시합니다. GitHub-33099

  • 이제 홈 페이지에 여러 카탈로그 목록이 포함되어 있으면 모든 카탈로그 제품 목록에서 제품 등급이 올바릅니다. GitHub-33867

구성 가능한 제품

  • 이제 Magento Open Source은 제품 세부 사항 페이지에서 수량을 변경한 후 선택한 옵션을 사용하여 구성 가능한 제품에 대한 올바른 제품 가격을 표시합니다. 기존에는 물량이 변경된 후 가격이 초기값으로 재설정됐다.
  • 다음 products 이제 쿼리는 다음을 정확하게 반영하는 구성 가능한 제품의 가격을 검색합니다. 품절 표시 구성 설정입니다. 이전에는 쿼리가 정확한 가격을 반환하지 않았습니다.
  • 구성 가능한 옵션은 이제 를 사용하여 관리자에서 만든 구성 가능한 제품에 연결됩니다. POST /V1/configurable-products/configurable1/child.
  • 이제 다중 선택 속성이 제품 편집 중에 올바르게 저장됩니다. 이전에는 applicationOpen 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 62. GitHub-28860

  • 이제 선택적 사용자 지정 옵션을 사용하여 구성 가능한 제품의 순서를 변경할 수 있습니다. 이전에는 순서 재지정 시도가 실패하여 다음 오류가 표시되었습니다. Some of the selected options are not currently available. GitHub-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 명령은에 이미 설정된 캐시 ID 접두사를 더 이상 무시하지 않습니다. app/etc/env.php.
  • 다음 bin/magento setup:static-content:deploy -s compact 이제 명령에는 예상대로 하위 테마의 스타일이 포함됩니다. 이전에는 테마 CSS 파일이 배포 후 상점 앞에 존재하지 않았습니다.
  • 슬래시 닫기 사용 여부를 확인하기 위해 새 스니프가 추가되었습니다. void 요소.
  • 새 소스를 제품에 할당하고 수량을 변경한 후에 Magento Open Source에서 더 이상 SQL 오류가 발생하지 않습니다. GitHub-35262
  • 이제 속성 정렬 순서가 di.xml 업데이트 후 파일입니다.
  • 다음 updateCartCurrency 이제 함수는 장바구니 개체 내에 개체 대신 문자열을 설정합니다. 이전에는 applicationOpen Source에서 getQuote 이유: updateCartCurrency 함수 는 장바구니 개체 내에 문자열 대신 개체를 설정합니다. GitHub-34199
  • 다음 이유로 인해 단위 테스트에서 더 이상 사용 중단 알림이 발생하지 않습니다.\DateTimeFormatter::formatObject(). 이제 이 메서드는 의 숫자 값을 사용하여 예상대로 작동합니다. $format.
  • Magento Open Source에 더 이상 preg_replace() 관리자 오류가 발생했습니다. 세 번째 인수($subject)은(는) 이제 유형입니다. array|string 대신 bool.
  • 다음 isFreeShipping 이제 메서드가 부울이 아닌 정수를 반환합니다.GitHub-35164
  • 클래스의 메서드에 대한 플러그인을 만들 때 Magento Open Source에서 더 이상 다음 오류가 발생하지 않습니다 vendor/magento/module-backend/Model/Menu.php: Error: Call to undefined method ReflectionUnionType::getName(). GitHub-35292
  • 이제 Magento Open Source으로 이동하면 500 오류 대신 404 오류가 반환됩니다. /checkout/sidebar/updateItemQty/?item_qty=error 가게 앞에서요 이전에는 이 오류가 표시되었습니다. Warning: A non-numeric value encountered in /vendor/magento/module-checkout/Controller/Sidebar/UpdateItemQty.php on line 69. GitHub-34380
  • Magento Open Source이 더 이상 trim(): Passing null to parameter #1 ($string) of type string is deprecated ssl 구성 없이 AMPQ 연결이 구성된 경우 오류가 발생합니다.
  • 을(를) 수정했습니다. longblog 데이터베이스 정의 대상 long blob. GitHub-35108
  • 이제 작은 따옴표가 포함된 녹아웃 텍스트를 번역할 수 있습니다. GitHub-34319
  • A TypeError 위치: magento2/app/code/Magento/Security/Model/AdminSessionsManager.php 다음에서 수정됨: intstring. GitHub-34415
  • .htpasswd 이(가) 의 금지된 위치에 추가되었습니다. nginx 구성 파일입니다. GitHub-35150
  • 을(를) 추가하여 카테고리 제품 목록 페이지의 로드 시간이 개선되었습니다. Magento_Ui/js/core/app as a depsapp/code/Magento/Ui/view/frontend/requirejs-config.js. GitHub-34847
  • 다음 ProductRepository.php:get 이제 메서드가 캐시 키를 한 번 반환합니다. 이전에는 두 번 반환되었습니다. GitHub-34958
  • cron 작업의 예외 처리기에서 만든 새 예외에 오류 메시지가 추가되었습니다. GitHub-34941
  • 다음에 대한 ReadMe 파일 GraphQl-GroupedProductGraphQl 모듈이 업데이트되었습니다. GitHub-34951
  • 상점 인쇄 주문/송장/대변 메모 페이지에는 웹 사이트에 표시하기 위해 지정된 로고 대신 기본 Luma 로고가 더 이상 표시되지 않습니다. GitHub-34942

일반 수정 사항

  • 최대 세션 크기를 0으로 설정(관리자 저장 > 설정 > 구성 - 고급) 더 이상 관리자를 로그아웃하지 않습니다. GitHub-35312
  • 이제 기본 웹 사이트가 아닌 웹 사이트에 할당된 관리자의 새 고객 주소를 추가할 때 고객이 할당된 웹 사이트를 기반으로 고객 주소 속성 구성 설정이 올바르게 로드됩니다.
  • Magento Open Source 빌더를 통해 번들 제품을 추가할 때 Page에서 더 이상 예외가 발생하지 않습니다.
  • 이제 iOS 장치에서 이름, 중간 또는 성에 기울어진 아포스트로피(')를 사용하여 고객 계정을 만들 수 있습니다. 이전에는 직선 아포스트로피만 허용되었으며 iOS 11+ 기본 경사 아포스트로피를 사용하면 다음이 발생합니다. Name is not valid! 오류.
  • 다음 products 이제 쿼리 가 "관련 제품 표시" 구성을 정확하게 반영하는 제품 정보를 반환합니다. 다음 related_products, upsell_products, 및 crosssell_products 이제 GraphQL ProductInterface의 필드가 관련 제품 표시, 상향 판매 제품 표시 및 교차 판매 제품 표시 구성에 따라 각각 확인됩니다.
  • 다음 제품을 새로운 시작 날짜로 설정 이제 속성에는 다음과 같은 경우 올바른 날짜가 표시됩니다. 제품을 새 제품으로 설정 속성은 대량 제품 벌크 업데이트를 통해 설정됩니다. 이전에는 제품을 새로운 시작 날짜로 설정 다음과 같이 표시됨 1970년 1월 1일.
  • 제한된 역할을 가진 사용자는 더 이상 새 모듈에 대한 액세스 권한을 자동으로 부여받지 않습니다.
  • 이제 관련 제품 규칙 조건이 가 포함된 제품에서 예상대로 작동합니다. multiselect 속성.
  • 판매자는 이제 계층 가격 속성(tier_price) 와 제품 비교. 이전에는, 상점에서 비교 가능 이 속성에 대한 설정이 활성화되었습니다. GitHub-35244
  • 이제 잘못된 쿠키 도메인을 설정할 때 Magento Open Source에 오류 메시지가 표시됩니다(저장 > 구성 > > 기본 쿠키 설정 쿠키 도메인). 이전에는 웹 사이트가 충돌했습니다. GitHub-35048
  • 단일 웹 사이트로 범위가 지정된 역할을 가진 관리자가 PageBuilder를 사용하여 콘텐츠 요소에 제품을 추가할 때 Magento Open Source에서 더 이상 오류가 발생하지 않습니다. 이전에는 applicationOpen Source에서 SQL 오류가 발생했습니다.
  • 주소 편집 및 추가 페이지에서 주소 주소의 두 번째 줄에 유효성 검사가 추가되었습니다. 이제 초 단위로 지정된 최소 및 최대 텍스트 길이가 적용됩니다.
  • 업그레이드 후 관리자에서 카탈로그 규칙을 만드는 동안 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.
  • Magento Open Source에서 를 활성화할 때 더 이상 오류가 발생하지 않습니다. 위시리스트에 RSS 피드를 연결하려면 여기를 클릭하십시오. 클릭 전 확인란 위시리스트 공유. 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
  • A price_including_tax 필드가에 추가되었습니다. CartItemPrices. GitHub-29057
  • 다음 new_from_datanew_to_datefields 위치: ProductInterface 더 이상 사용되지 않습니다. GitHub-34783
  • 다음 categories 파일 시스템에서 찾을 수 없는 이미지가 포함된 범주 목록을 가져올 때 쿼리에서 더 이상 예외가 발생하지 않습니다. 이전에는 applicationOpen Source에서 다음 예외를 throw했습니다. Category image not found. GitHub-34266
  • 다음 products 이제 쿼리가 category_uid (예상대로 집계) GitHub-32557
  • 다음 updateCartItems 돌연변이는 이제 제품 재고가 최대 재고 양에 도달했을 때 예상대로 제품을 제거합니다. GitHub-30220
  • 다음 urlResolver 이제 쿼리는 여러 홈 페이지에 동일한 식별자가 있을 때 경로 구분 기호(/)를 올바르게 확인합니다. 이전에는 쿼리가 구분 기호를 확인하지 않고 null을 반환했습니다. GitHub-33615
  • customer 이제 쿼리는 주문을 쿼리할 때 예상대로 번들 제품 다중 선택 옵션을 가져옵니다. GitHub-34717
  • GraphQL 요청이 수행된 후 Magento Open Source 세션이 더 이상 종료되지 않습니다. 이전에는 ClearCustomerSessionAfterRequest 플러그인이 쇼핑객을 로그아웃했습니다. GitHub-34550
  • 에서 구성 가능한 제품 가격 범위 products 이제 쿼리 응답이 품절 제품 표시 구성 설정을 사용할 수 있습니다. 이전에는, 비활성화된 옵션은 최소 및 최대 가격 계산에서 고려되었습니다.
  • 다음 products 이제 위치별로 정렬할 때 쿼리가 올바르게 필터링된 여러 카테고리를 반환합니다.
  • setShippingAddressesOnCart 요청이 이제 지역 ID의 유효성을 성공적으로 검사했습니다. 이전에는 지역 코드 대신 지역 ID를 사용할 때 applicationOpen Source에서 오류가 발생했습니다.
  • products 이제 쿼리는 요청에서 전달된 스토어와 연결된 카테고리만 반환합니다.
  • 다음 categoryList 이제 query는 헤더에서 저장소가 지정될 때 쿼리된 저장소의 루트 카테고리를 반영하는 결과를 반환합니다. 이전에는 헤더에 다른 저장소가 지정되었더라도 기본 루트 범주의 범주가 결과에 포함되었습니다.
  • 다음 products 다음 경우에 쿼리가 더 이상 속성을 집계로 반환하지 않습니다. 검색 결과 레이어 탐색에 사용 설정이 비활성화되었습니다. GitHub-33318
  • 다음 cart 이제 쿼리는 자유 주문에 대해 하나의 결제 방법만 반환합니다. 이전에는 모든 활성 결제 방법이 쿼리 응답에서 반환되었습니다. GitHub-34036
  • products 쿼리가 더 이상 반환되지 않음 price_range 비활성화된 변형의 영향을 받는 구성 가능한 제품의 값입니다. GitHub-33629
  • 이(가) 다음 앞에 플러그인을 추가했습니다. collectQuoteTotals 스토어 크레딧이 여러 번 적용되지 않도록 를 호출합니다.
  • 다음 generateCustomerTokenAsAdmin 돌연변이는 이제 예상대로 고객 토큰을 검색합니다. 이전에는 토큰이 반환되지 않았으며 이 오류가 반환되었습니다. Customer email provided does not exist.
  • 이제 사용자 지정 시 GraphQL 스키마가 유효합니다. type 제품 속성이 정의되었습니다. 이전에는, type 제품 유형의 속성이 사용자 지정에 의해 덮어쓰기되었습니다. type 특성. GitHub-34929
  • 고객이 로 추가되거나 업데이트됨 createCustomer, createCustomerV2, updateCustomer, 또는 updateCustomerV2 이제 돌연변이가 활성 뉴스레터 구독과 함께 추가됩니다. 이전에는 요청에 적절한 입력 매개 변수가 포함되어 있어도 뉴스레터 구독을 취소했습니다. GitHub-33599
  • 다음 products 이제 특정 스토어 보기에 대한 쿼리는 다중 사이트 배포에서 특정 웹 사이트의 루트 범주에 있는 카테고리만 반환합니다. 이전에는 쿼리가 다른 웹 사이트의 루트 범주에서 범주를 반환했습니다. GitHub-34570
  • 다음 products 이제 쿼리 는 제공된 범주 ID의 하위 범주만 반환합니다. 이전에는 모든 카테고리를 반환했습니다. GitHub-35220
  • 다음 customerOrders 이제 쿼리가 예상대로 응답합니다. gift_message 개체가 응답에 지정되었지만 선물 메시지가 없습니다. 이전에는 쿼리에서 다음 메시지를 반환했습니다. Can't load gift message for order is returned. GitHub-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-35204, GitHub-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 violation. GitHub-34210

인프라

  • 사용되지 않는 컨텍스트 메뉴 플러그인이 플러그인 목록에서 제거되었습니다.
  • 페이지 빌더 모듈의 TinyMCE 편집기 도구 모음 관련 로직이 delayedRender TinyMCE에서 도구 모음에 대한 논리입니다.
  • 경합 조건은 더 이상 의 생성을 방해하지 않습니다. contentUpdated 이벤트 리스너. GitHub-32068
  • 다음 getTypeID 이제 함수는 제품 ID가 아닌 제품 유형 ID를 반환합니다. GitHub-35458
  • jQuery UI 슬라이더 및 SelectMenu 매핑이에서 수정되었습니다. vendor/magento/module-theme/view/base/requirejs-config.js.

  • 다음에 배치된 관찰자 sales_order_state_change_before 이제 order 개체에서 데이터 검색을 지원합니다. 다음 sales_order_state_change_before event 인수가 업데이트되었습니다. GitHub-26789

  • indexer:reset 호출하도록 리팩터링되었습니다. $indexer->invalidate(). GitHub-34988
  • 이제에서 콜론 기호를 사용할 수 있습니다. htmlClass 속성 값: Tailwind UI와 같은 추가 구성 요소의 사용을 지원합니다. GitHub-34430

로깅

  • 이제 고객, 고객 주소 및 주문 작업이 관리 작업 보고서에 올바르게 기록됩니다. 이전에는 다음 경우에 applicationOpen Source가 작업을 기록하지 않았습니다. postDispatch 구성 설정에 핸들러가 지정되지 않았습니다.

MTF

작업 그룹

다음 테스트에서는 반복 작업이 조치 그룹으로 대체되었습니다.

AdminConfigurableProductChildrenOutOfStockTest GitHub-32378
AdminCreateStoreViewTest GitHub-34631

새 테스트

AdminUnlockAdminUserEntityTest GitHub-34836

StorefrontNewsletterSubscriptionWithEnabledNeedToConfirmConfigTest GitHub-33344

리팩터링된 테스트

AdminCancelTheCreatedOrderWithCashOnDeliveryPaymentMethodTest GitHub-33692

뉴스레터

  • 로그인한 고객은 더 이상 관리자 >에서 게스트로 표시되지 않습니다. 마케팅 > 뉴스레터 구독자.
  • 이제 뉴스레터 구독 확인 이메일에 올바른 스토어 특정 이메일 주소가 있습니다. 출처: 고객이 기본값이 아닌 저장소에 할당되고 관리자로부터 구독 또는 구독 취소한 경우 필드입니다. 이전에는 고객이 의 기본 이메일이 포함된 이메일을 수신했습니다. 출처: 머리글입니다. GitHub-34963
  • 이제 뉴스레터 이메일 템플릿의 구독 취소 URL이 예상대로 작동합니다. GitHub-33310

주문

  • 이제 주문이 편집된 후 게스트 고객 세부 정보가 정상적으로 저장되었습니다. 이전에는 다음을 포함한 일부 고객 세부 정보가 손실되었습니다 customer_firstnamecustomer_lastname, x_forwarded_for.
  • 판매자는 다음의 경우 총 수량이 소수인 대변 메모를 더 이상 생성할 수 없습니다. 소수점 수 은 제품 또는 글로벌 설정 수준에서 비활성화됩니다. 이전에는, 가맹점이 적용되지 않는 십진수 총 수량에 대해 대변 메모를 만들 수 있었습니다.
  • 이제 환경 설정에 설정된 시간대가 로컬 컴퓨터에 설정된 시간대와 다를 경우 날짜별 필터링이 송장, 선적, 대변 메모, CMS 페이지 및 CMS 블록 그리드에 대해 제대로 작동합니다. 이전에는 날짜를 잘못 구문 분석하고 필터링된 결과에 설정된 날짜 범위를 벗어나는 데이터가 포함되었습니다.
  • Magento Open Source은 관리자 계정 편집 페이지에서 고객에게 할당된 기본 이메일 주소를 변경할 때 더 이상 주문에 할당된 사용자 정의 이메일 주소를 변경하지 않습니다. 이전에는 고객의 기본 이메일 주소를 편집하면 해당 고객에 대해 생성된 모든 주문에 새 이메일 주소가 할당되었습니다. GitHub-34397
  • 이제 Magento Open Source은 PHP 7.4를 실행하는 배포의 신용 메모 표 페이지에 요청된 저장소의 레코드를 표시합니다. 이전에는, 응용 프로그램 오픈 소스로 사용자가 대변 메모를 생성하고 보려고 하면 다음 오류가 발생합니다. 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:75. GitHub-35122
  • 이제 Magento Open Source은 관리자 및 상점 송장 페이지 합계에 무료 배송 비용(0)을 표시합니다. 이전에는 주문의 배송이 0일 때 오픈 소스 애플리케이션에서 송장 페이지의 배송 총계에 배송 금액을 표시하지 않았습니다.
  • 다음 increment_id 열의 sales_order 테이블이 증가했습니다. 이전에는 다음과 같이 가정한 타사 모듈 sales_order.increment_id 에는 50자 길이이며 의 처음 32자만 저장되었습니다. increment_id. GitHub-34521

결제 방법

  • 이제 관리자는 PayPal PayflowPro 결제 방법을 사용하여 관리자에게 주문할 수 있습니다. 이전에는 applicationOpen Source에서 다음 오류를 표시했습니다. No such entity with cartId = 0.
  • 이제 Venmo, PayPal Later 또는 PayPal로 결제할 때 체크아웃 워크플로의 결제 검토 페이지에 올바른 결제 방법 이름이 표시됩니다.
  • 다음 cart 더 이상 쿼리가 무료 주문에 대한 모든 활성 결제 방법을 반환하지 않습니다. GitHub-34036

Braintree

  • 가맹점은 이제 Braintree을 통해 Apple 페이로 결제한 주문의 일부 환불을 제출할 수 있습니다. 이는 Magento Open Source 2.4.4에서 알려진 문제입니다.

PayPal

  • 이제 Magento Open Source에 PayPal로 지불한 게스트 주문에 올바른 고객 이름이 표시됩니다. 이전에는 고객 이름이 게스트로 표시되었습니다.
  • createPaypalExpressToken 돌연변이에 대한 해결자가 use_paypal_credit 입력 필드에 지정된 값을 올바르게 사용하도록 업데이트되었습니다. 이전에는 잘못된 를 사용하려고 했습니다 paypal_credit 필드. GitHub-35180

성능

  • 구성 가능한 제품의 관련 제품 데이터 캐시에 대한 TTL(만료 날짜)을 추가하여 Redis 캐시 관리를 개선했습니다. 이전에는 Redis 키 제거 정책이 휘발성 제거 정책으로 구성된 경우 TTL 값이 누락되어 이러한 캐시가 제거되지 않았습니다.
  • 새로운 Grid Filter Condition Type 고객/고객 주소 속성은 속성 필터가 데이터베이스의 속성 값에 대해 일치하는 방식을 제어합니다. 옵션에는 다음이 포함됩니다. Partial Match, Prefix Match, 및 Full Match.
  • 카탈로그 검색 전체 텍스트 인덱서가 스토어 루프 외부에 재배치되어 색인 재지정이 간소화되었습니다. GitHub-33984

가격 책정

  • 기본 범위에 값이 없지만 스토어 뷰 수준에서 정의된 가격 속성이 이제 제대로 인덱싱됩니다. 이전에는 EAV 테이블에서 가격 속성 값을 검색하는 SQL 표현식에서 기본 범위에 값이 정의되지 않은 시나리오를 고려하지 않았습니다.
  • 이제 제품 세부 사항 페이지에 나열된 가격은 선택한 수량별로 다른 계층 가격의 경우 체크아웃 워크플로우에 나열된 가격과 동일합니다(예: 2개 품목 대 5개 품목 구매에 따라 가격이 다른 제품). 기존에는 체크아웃 가격이 제품 수량이 가장 적은 가격을 반영했다.

ReCAPT차

  • 다음 제출 이제 ReCaptcha가 완전히 로드될 때까지 로그인 및 계정 만들기 페이지의 버튼이 비활성화됩니다.

역할

  • 다음 저장 > 구성 > 서비스 이제 리소스 액세스를 로 설정하면 페이지에 Magento Open Source 웹 API 정보가 예상대로 표시됩니다. 사용자 정의 역할 리소스 탭에서 확인할 수 있습니다. GitHub-35506

검색 search-heading

  • 레이어 탐색에서 색상 견본별로 제품을 필터링하면 수정 후 제품에 대한 올바른 이미지가 표시됩니다.
  • 이제 Elasticsearch 쿼리가 예상대로 작동합니다. int 는 검색 가능한 백엔드로 구성됩니다. type 특성. 이전에는 applicationOpen Source에서 Elasticsearch\Common\Exceptions\BadRequest400Exception 예외.
  • 이제 검색 동의어를 와 함께 사용할 수 있습니다. 일치시킬 최소 용어 Elasticsearch 쿼리의 매개 변수입니다. 이전에는 설정에 이 매개 변수를 지정하고 특정 키워드에 대한 검색어를 추가한 경우 검색 결과가 반환되지 않았습니다.
  • 이제 [Magento Open Source]는 [검색 제안] 및 이 표시되는 배포의 상점 첫 화면에 정확한 검색 결과 제안 카운트를 표시합니다. 각 제안에 대한 결과 개수 표시 설정이 활성화되었습니다. 이전에는 키워드 옆에 표시된 수가 0이었습니다.
  • 이제 카탈로그 페이지에서 사용자 지정 특성별로 정렬된 제품이 예상 순서로 표시됩니다. 이전에는 제품이 속성에 추가되는 순서를 반영하는 속성 옵션 값 ID로 정렬되었습니다. GitHub-33810
  • 이제 레이어 탐색에서 색상 견본별로 제품을 필터링하면 올바른 제품 이미지가 표시됩니다. 이전에는 계층화된 탐색 PageCache 키에 구성 가능한 제품에 대한 필터 매개 변수가 포함되지 않았습니다.
  • 에서 PHP 오류가 수정되었습니다. catalogsearch/advanced/resultcatalogsearch/advanced/index 페이지. 이전에는 고급 검색 문자열에서 배열이 전달될 때 Magento Open Source이 이 오류를 표시했습니다. Warning: trim() expects parameter 1 to be string, array given | magento/module-catalog-search. GitHub-33586

배송

  • 허용된 배송 방법을 선택하지 않은 경우 UPS 배송 비율을 로드할 때 Magento Open Source에서 더 이상 오류가 발생하지 않습니다. 이전에는 이러한 조건에서 구매자가 체크아웃 워크플로에 배송 주소를 입력하면 다른 배송 방법이 표시되지 않고 Magento Open Source이 상점 첫 화면에 오류를 표시했습니다. GitHub-34411
  • 가상 제품 가격은 이제 계산표 요율 배송 금액에서 제외됩니다. 이전에는 이러한 제품의 배송비가 올바르게 계산되지 않았습니다.GitHub-35185
  • 0 가격이 적용된 테이블 단가 배송 요금은 이제 할인 쿠폰이 적용된 주문에 대한 체크아웃 워크플로우 주문 요약 블록에 올바르게 표시됩니다. 이전에는 배송 방법이 표시되지 않았습니다.

세금

  • 이제 장바구니에 있는 제품에 대한 고정 제품 세금(FPT)이 올바르게 표시됩니다. 이전에는 장바구니에 있는 여러 제품에 고정 제품 세금(FPT)FPT에 세금 적용 이 활성화되면 모든 FPT가 장바구니의 마지막 제품에 할당되고 다른 제품에 대해 재설정되었습니다.
  • 이제 체크아웃 워크플로우의 주문 요약 섹션에 대한 고정 제품 세금(FPT) 합계가 올바르게 계산됩니다.
  • 이제 Magento Open Source은 단순 제품의 수량이 변경된 후 제품 페이지의 단순 제품에 대한 세금 계층 가격을 예상대로 업데이트합니다.
  • 드롭다운 목록에서 선택한 국가가 EU 국가 목록에 있는지 확인하기 위해 저장소 구성 페이지에 유효성 검사가 추가되었습니다. 다음 VAT 번호 유효성 검사 이제 EU 국가에서만 단추가 표시됩니다. 이전에는 영국을 포함한 모든 국가에서 버튼이 표시되었습니다.
  • 다음의 경우에 계층 가격이 올바르게 계산됨 카탈로그에 제품 가격 표시 다음 중 하나로 설정됩니다. 세금 제외 또는 세금 포함 및 제외. 이전에는 제품 세부 사항 페이지에 설정에도 불구하고 세금이 포함된 계층 가격이 표시되었습니다.
  • 이제 포르투갈어 로케일을 사용하는 상점 내 유효한 주소의 주문에 대해 세금이 올바르게 적용됩니다. GitHub-34271
  • 다음 cart 반환 시 쿼리에 세금이 더 이상 포함되지 않음 subtotal_with_discount_excluding_tax. GitHub-33905
  • 주문 데이터에 대한 웹 API 요청 (GET /V1/orders/)는 더 이상 행 합계에 대해 음수 값을 반환하지 않습니다.

테스트

  • 수정된 오류 Magento.GraphQl.CatalogGraphQl.ProductSearchTest.testSearchSuggestions AWS Elasticsearch 구성으로 실행하는 경우.
  • 다음 testCreateProductOnStoreLevel 통합 테스트로 인해 더 이상 데이터베이스에 중첩 트랜잭션이 발생하지 않습니다.

  • 제품 이미지가 PHP 8.1에 설정되지 않은 경우 친구 보내기 기능에 대해 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 deprecated. GitHub-34864

번역 및 로케일

  • 이제 인라인 번역 도구를 사용하여 동일한 요소를 두 번 더 편집할 수 있습니다. 이전에는 이 도구를 사용하여 수행한 첫 번째 변경 사항만 포함되었습니다.
  • 관리자 텍스트나 레이블을 편집할 때 저장소 보기 선택기가 더 이상 번역 창을 차단하지 않습니다. 이제 번역 창에서 이러한 기능을 편집할 수 있으며 를 클릭하면 인터페이스에 이러한 변경 사항이 표시됩니다. 제출.
  • 이제 포르투갈어(브라질) 및 프랑스어 로케일의 관리 날짜-시간 형식이 유효합니다.
  • 억음 악센트 기호 추가됨 [`] 를 이름 유효성 검사기에 추가하여 이 악센트가 포함된 이름이나 성에 대해 고객 계정을 만들 수 있도록 합니다.
  • 다음에 대한 텍스트 장바구니에 추가 이제 제품 세부 사항 페이지의 단추가 관련 로케일에 지정된 언어로 번역된 상태로 유지됩니다. 이제 번역 파일은 영역, 테마 및 로케일에 따라 해당하는 JavaScript 파일로 변환됩니다. translate_strategy=embedded. 이전에는 제품을 장바구니에 추가한 후 텍스트가 영어로 되돌아갔습니다.
  • 이제 검색 동의어는 할당된 스토어 범위를 준수합니다. 이전에는 특정 스토어에 할당된 동의어를 다른 스토어에서 검색할 수 있었습니다.
  • 필리핀(필리핀) 로케일 문제가 해결되었습니다. GitHub-33996

UI

  • 의 긴 제품 이름 카탈로그 > 제품 이제 격자가 한 줄에 표시되지 않고 단어 단위로 줄바꿈됩니다.
  • 이제 최소 및 최대 생일 범위가 올바른 타임스탬프로 저장된 다음 올바른 타임스탬프에서 올바른 날짜 형식으로 변환됩니다.
  • 다음의 이용 불가 magento.com 더 이상 관리자 로그인 중에 성능 문제가 발생하지 않습니다. 릴리스 알림 가져오기 요청에 대한 시간 제한이 추가되었습니다.
  • 이제 관리 주문, 고객 및 제품 격자 필터의 결과가 Chrome 브라우저에 표시될 때 예상대로 유지됩니다.
  • 이제 다음과 같은 경우 관리에서 고객을 만들 수 있습니다. Magento_LoginAsCustomerAdminUi 활성화됨 및 로그인할 보기 저장 은 수동 선택으로 설정됩니다. 이전에는 applicationOpen Source에서 다음 오류가 발생했습니다. (Magento\Framework\Exception\LocalizedException): Unable to get Customer ID. GitHub-33096
  • 쇼핑객이 제품 이미지 갤러리의 마지막 썸네일 이미지에 도달하면 이제 예상대로 다음 화살표가 비활성화됩니다.
  • 다음 키워드로 검색 이제 입력 필드에 aria-label 의 자리 표시자 대신 요소 카탈로그 > 제품 페이지를 가리키도록 업데이트하는 중입니다.
  • 이제 관리자 바닥글의 개인정보 처리방침 링크가 새 Adobe 개인정보 처리방침으로 연결됩니다.
  • 이제 관리자는 프로덕션 모드에서 JavaScript 번들링을 사용할 수 있을 때 관리 메뉴 옵션에 액세스할 수 있습니다. GitHub-35325
  • 이제 관리자는 현재 사용자의 만료 날짜를 2038보다 높게 설정하고 사용자를 저장할 수 있습니다. 이전에는 로그아웃한 후 만료일이 변경된 사용자가 다시 로그인할 수 없었습니다.
  • 이제 Magento Open Source이 관리자가 관리자에 과도한 번화가 있는 주소를 저장하려고 할 때 정보 오류 메시지를 표시합니다 저장 > 속성 > 고객 주소. 이제 관리자는 추가 주소 정보를 삭제하고 주소를 저장할 수 있습니다. 이전에는 applicationOpen Source에서 추가 줄을 커밋했지만 데이터는 저장하지 않았습니다.
  • 데이터베이스 및 로컬 저장소의 제품 목록 보기 구성이 업데이트되었습니다. 이제 사용자 지정 그리드 보기는 페이지 다시 로드 및 보기 변경 중 저장됩니다.
  • 이제 웹 사이트 제한이 활성화되면 스토어 보기 간에 전환할 수 있습니다. 이전에는 스토어 보기 전환기에 문제가 발생하여 스토어 보기를 전환할 수 없었습니다.
  • 이제 favicon 업로드 양식에서 을 지원합니다. .ico 파일 유형. 이전에는 관리자에서 이 확장 유형의 파비콘 파일을 업로드하려고 할 때 애플리케이션 오픈 소스에 다음 오류가 표시되었습니다. 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 64. GitHub-34858
  • 관리 그리드의 드롭다운 선택 메뉴 관련 표시 문제가 수정되었습니다. GitHub-35386

URL 재작성

  • 특정 스토어 보기에서만 제품의 URL이 이제 url_rewrite 특정 스토어 보기에 대한 속성 코드 가시성 상태가 변경된 후 테이블 및 관리자 개별적으로 보이지 않음. 이전에는 의 제품에 대해 모든 URL이 제거되었습니다. url_rewrite 테이블. GitHub-34937

비디오

  • 이제 페이지 빌더를 사용하여 YouTube URL 매개 변수를 사용하여 새 비디오를 추가할 수 있습니다. 이전에는 이러한 매개 변수가 URL에서 자동으로 제거되었습니다.
  • 이제 Vimeo 비디오를 의 백그라운드에서 실행하도록 설정할 수 있습니다. banner csp가 로 설정된 경우 요소 restrict mode. 이전에는 applicationOpen Source에서 JavaScript 오류가 발생했습니다.

웹 API 프레임워크

  • 동시 요청에 의해 업데이트하는 동안 경합 조건을 방지하기 위해 주문에 대해 뮤텍스가 구현되었습니다. 이전에는 동시 REST API 호출 중에 경합 상태가 발생하면 관리 항목 순서 테이블의 배송 상태 정보가 덮어쓰기되었습니다.
  • 이제 REST API를 통해 특정 스토어 보기에서 제품을 업데이트할 때 페이로드에 명시적으로 정의되지 않는 한 제품 이미지 역할 상속이 유지됩니다.
  • Swagger 스키마(/rest/schema)는 이제 고유한 작업 ID를 사용합니다.
  • 다음을 통해 생성된 장바구니 가격 규칙 POST /V1/salesRules/ 이제 상태를 비활성화에서 활성화로 변경한 후에도 엔드포인트는 기존 쿠폰 코드 값을 유지합니다. GitHub-35298
  • 다음을 통해 생성된 장바구니 가격 규칙 POST /V1/salesRules/ 이제 끝점에 올바른 항목이 포함되어 있습니다. from_dateto_date 값. GitHub-35265
  • CartItemInterface 이제 포함 customizable_options. GitHub-31180
  • 이제 REST API 벌크 PUT 및 DELETE 요청은 Magento_ReCaptchaWebapiRest 모듈이 활성화되었습니다. GitHub-35348
  • 이제 Bulk 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

위시리스트

  • 이제 위시리스트 페이지에서 품목 수량을 업데이트하면 제품 세부 사항 페이지의 수량이 예상대로 업데이트됩니다. 이제 애플리케이션 오픈 소스가 제품 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에도 포함됩니다.

커뮤니티 기여

더 넓은 Magento Open Source 커뮤니티에 감사하며 이번 릴리스에 대한 기여를 인정하고자 합니다.

커뮤니티 엔지니어링 팀 Magento 기여자 월별, 분기별 및 연도별로 최상위 기여 개인 및 파트너 목록을 유지 관리합니다. 해당 기여자 페이지에서 GitHub의 병합된 PR에 대한 링크를 따라갈 수 있습니다.

파트너 기여

다음 표에는 파트너가 수행한 기여가 요약되어 있습니다. 이 표에는 끌어오기 요청에 기여한 파트너, 외부 끌어오기 요청 번호 및 이와 연결된 GitHub 문제 번호(사용 가능한 경우)가 나열됩니다.

개인 기여자 기여

다음 표는 커뮤니티 구성원의 기여를 식별합니다. 이 표에는 끌어오기 요청에 기여한 커뮤니티 구성원, 외부 끌어오기 요청 번호 및 이와 연결된 GitHub 문제 번호(사용 가능한 경우)가 나열됩니다.

시스템 요구 사항

우리의 기술 스택은 PHP와 MySQL을 기반으로 구축됩니다. 자세한 내용은 시스템 요구 사항.

설치 및 업그레이드 지침

다음을 사용하여 Magento Open Source 2.4.5를 설치할 수 있습니다. 작성기.

recommendation-more-help
1d4eef6c-fef1-4e61-85eb-b58d7b9ac29f