Adobe Commerce 2.4.7 릴리스 노트

Adobe Commerce 2.4.7에서는 PHP 8.3에 대한 지원을 도입했습니다. 수백 가지 품질 수정 사항 및 개선 사항을 소개합니다. Core Composer 종속성 및 타사 라이브러리가 사용 가능한 최신 버전으로 업그레이드되었습니다. 이 릴리스에는 여러 옵션이 있는 복잡한 제품의 제품 목록 페이지 로드 속도 증가, 인덱서 관리를 위한 개선 등 상당한 성능 개선 사항이 포함되어 있습니다. 이번 릴리스로 인해 사용자 지정 특성 및 GraphQL resolver 캐시에 대한 GraphQL 적용 범위가 늘어났습니다. 최근 업데이트된 FedEx 및 UPS 서비스에 대한 지원도 도입한다.

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

기타 릴리스 정보

이러한 기능에 대한 코드는 Adobe Commerce 코어 코드 릴리스와 함께 번들로 제공되지만 이러한 프로젝트 중 일부(예: B2B 및 Progressive Web Application(PWA) Studio)도 독립적으로 릴리스됩니다. 이러한 프로젝트에 대한 버그 수정은 각 프로젝트에 대한 설명서에서 사용할 수 있는 별도의 프로젝트별 릴리스 정보에 설명되어 있습니다.

Adobe Commerce 2.4.7의 특징

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

향상된 보안 기능

이 릴리스에는 Adobe Commerce 2.4.6-p5, 2.4.5-p7 및 2.4.4-p8에 포함된 동일한 보안 수정 사항 및 플랫폼 보안 개선 사항이 포함되어 있습니다. 이러한 고정 문제에 대한 최신 논의는 Adobe 보안 게시판을 참조하십시오.

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

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

추가적인 보안 개선 사항

이 릴리스의 보안 개선 사항은 최신 보안 모범 사례를 통해 규정 준수를 향상시킵니다.

  • 생성되지 않은 캐시 키의 동작을 변경합니다:

    • 이제 블록에 대해 생성되지 않은 캐시 키에는 자동으로 생성되는 키의 접두사와 다른 접두사가 포함됩니다. (생성되지 않은 캐시 키는 템플릿 지시문 구문 또는 setCacheKey 또는 setData 메서드를 통해 설정된 키입니다.)
    • 이제 블록의 생성되지 않은 캐시 키에는 문자, 숫자, 하이픈(-) 및 밑줄(_)만 사용해야 합니다.
  • 자동 생성된 쿠폰 코드 수에 대한 제한. 이제 Commerce에서 자동으로 생성되는 쿠폰 코드 수를 제한합니다. 기본 최대값은 250,000입니다. 판매자는 새 Code Quantity Limit 구성 옵션(Stores > Settings:Configuration > Customers > Promotions)을 사용하여 쿠폰을 많이 사용하여 시스템을 압도하지 않도록 할 수 있습니다.

  • 기본 관리자 URL 생성 프로세스의 최적화. 기본 관리 URL의 생성은 생성된 URL의 예측 가능성을 낮추는 무작위성의 증가에 최적화되었습니다.

  • SRI(Subresource Integrity) 지원이 추가됨 결제 페이지에서 스크립트 무결성을 확인하기 위한 PCI 4.0 요구 사항을 준수합니다. SRI(Subresource Integrity) 지원은 로컬 파일 시스템에 있는 모든 JavaScript 자산에 무결성 해시를 제공합니다. 기본 SRI 기능은 관리자 및 상점 영역의 결제 페이지에서만 구현됩니다. 그러나 판매자는 기본 구성을 다른 페이지로 확장할 수 있습니다. Commerce PHP 개발자 안내서 ​의 하위 리소스 무결성을 참조하십시오.

  • CSP(콘텐츠 보안 정책)에 대한 변경 사항—PCI 4.0 요구 사항을 준수하도록 Adobe Commerce CSP(콘텐츠 보안 정책)에 대한 구성 업데이트 및 개선 사항입니다. 자세한 내용은 Commerce PHP 개발자 안내서 ​의 콘텐츠 보안 정책을 참조하십시오.

    • Commerce 관리 및 상점 영역의 결제 페이지에 대한 기본 CSP 구성은 이제 restrict 모드입니다. 다른 모든 페이지의 경우 기본 구성은 report-only 모드입니다. 2.4.7 이전 릴리스에서 CSP는 모든 페이지에 대해 report-only 모드로 구성되었습니다.

    • CSP에서 인라인 스크립트를 실행할 수 있도록 임시 공급자를 추가했습니다. nonce 공급자는 각 요청에 대해 고유한 nonce 문자열을 쉽게 생성할 수 있습니다. 그러면 문자열이 CSP 헤더에 연결됩니다.

    • 관리자의 주문 만들기 페이지와 상점 첫 화면의 체크아웃 페이지에 대한 CSP 위반을 보고하도록 사용자 지정 URI를 구성하는 옵션이 추가되었습니다. 관리자 또는 URI를 config.xml 파일에 추가하여 구성을 추가할 수 있습니다.

      note note
      NOTE
      CSP 구성을 restrict 모드로 업데이트하면 Admin 및 Storefront의 결제 페이지에서 기존 인라인 스크립트가 차단될 수 있으며, 이로 인해 페이지가 로드될 때 다음 브라우저 오류가 발생합니다. Refused to execute inline script because it violates the following Content Security Policy directive: "script-src. 필수 스크립트를 허용하도록 화이트리스트 구성을 업데이트하여 이러한 오류를 수정합니다. Commerce PHP 개발자 안내서 ​의 문제 해결을 참조하십시오.
  • 새 전체 페이지 캐시 구성 설정을 사용하면 HTTP {BASE-URL}/page_cache/block/esi 끝점과 관련된 위험을 완화할 수 있습니다. 이 끝점은 Commerce 레이아웃 핸들과 블록 구조에서 제한되지 않고 동적으로 로드된 콘텐츠 조각을 지원합니다. 새 Handles params size 구성 설정은 API당 허용되는 최대 핸들 수를 결정하는 이 끝점의 handles 매개 변수의 값을 설정합니다. 이 속성의 기본값은 100입니다. 판매자는 관리자(Stores > Settings:Configuration > System > Full Page Cache > Handles params size)에서 이 값을 변경할 수 있습니다. Vannish를 사용하도록 Commerce 응용 프로그램 구성을 참조하십시오.

  • REST 및 GraphQL API를 통해 전송되는 결제 정보에 대한 기본 속도 제한. 이제 판매자는 REST 및 GraphQL을 사용하여 전송되는 결제 정보에 대해 속도 제한을 구성할 수 있습니다. 이렇게 추가된 보호 계층은 카드 공격의 예방을 지원하고 한 번에 여러 신용카드 번호를 테스트하는 카드 공격의 양을 잠재적으로 줄입니다. 기존 REST 끝점의 기본 동작이 변경된 것입니다. 속도 제한을 참조하세요.

  • isEmailAvailable GraphQL 쿼리와 (V1/customers/isEmailAvailable) REST 끝점의 기본 동작이 변경되었습니다. 기본적으로 이제 API는 항상 true을(를) 반환합니다. 판매자는 관리자의 게스트 체크아웃 로그인 활성화 옵션을 yes(으)로 설정하여 원래 동작을 활성화할 수 있지만, 이렇게 하면 인증되지 않은 사용자에게 고객 정보가 노출될 수 있습니다.

플랫폼 개선 사항

이 릴리스에 대한 플랫폼 업그레이드는 최신 보안 모범 사례를 통해 규정 준수를 개선합니다.

Adobe Commerce 2.4.7에는 다음 플랫폼 업그레이드가 포함됩니다.

  • PHP 8.3 호환성. 이 릴리스는 PHP 8.3에 대한 지원을 소개합니다. Commerce은 이제 PHP 8.3과 8.2를 모두 지원합니다. PHP 8.2는 2025년 12월 서비스 종료(EOS) 날짜까지 지원됩니다. 2025년 12월 이후에는 2.4.7 배포를 실행하는 모든 판매자가 PHP 8.3으로 마이그레이션해야 합니다.

Adobe Commerce 2.4.7은 업그레이드 목적으로만 PHP 8.1과 호환됩니다. PHP 8.1은 지원되지 않으며 권장되지 않습니다. Adobe Commerce 2.4.7 코어 코드, 모든 번들 확장, 모든 Adobe 소유 확장 및 SaaS 서비스는 PHP 8.3과 호환됩니다.

  • RabbitMQ 3.13 지원. 이 릴리스는 RabbitMQ 3.13의 최신 버전과 호환됩니다. RabbitMQ 3.11 및 3.12와의 호환성은 2024년 8월 및 2024년 12월까지 각각 지원되지만, Adobe은 RabbitMQ 3.13에서만 Adobe Commerce 2.4.7을 사용하는 것을 권장합니다.

  • 작성기 2.7.x. Composer 2.2.x와의 호환성이 유지됩니다.

  • Varnish 캐시 7.4 지원. 이 릴리스는 최신 버전의 Varnish Cache 7.4와 호환됩니다. 6.0.x 및 7.2.x 버전과의 호환성은 유지되지만, Adobe Commerce 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 라이브러리가 제거되었습니다.

Adobe Commerce 핵심 코드의 모든 JavaScript 라이브러리 및 NPM 종속성이 사용 가능한 최신 버전으로 업데이트되었습니다. 모든 Laminas 라이브러리 종속성이 PHP 8.3과 호환되는 최신 버전으로 업데이트되었습니다.

추가 업그레이드

  • 주문당 여러 개의 쿠폰 지원. 판매자는 이제 새로운 Maximum number of coupons per order 구성 옵션을 사용하여 주문당 적용할 수 있는 최대 쿠폰 수를 구성할 수 있습니다. 이 값은 기본적으로 1로 설정됩니다. 이제 REST 또는 GraphQL을 사용하여 장바구니에 여러 쿠폰을 적용할 수 있습니다.

  • UPS에서 API 보안 모델을(를) 업데이트하기 위해 Commerce UPS XML API 게이트웨이가 새 Commerce UPS REST API(으)로 마이그레이션되었습니다. (UPS는 모든 API에 대해 OAuth 2.0 보안 모델(전달자 토큰)을 구현하고 있습니다.) 이전의 모든 Commerce UPS XML API는 Adobe Commerce 2.4.7 코드 베이스에서 제거되었습니다.

  • FedEx와 Adobe Commerce 통합이(가) 레거시 FedEx WSDL 웹 서비스에서 최신 FedEx RESTful API로 마이그레이션되었습니다. FedEx 웹 서비스 추적, 주소 유효성 검사 및 우편 번호 유효성 검사 WSDLS는 2024년 5월에 중단됩니다.

  • 새로운 USPS Ground Advantage 배송 방법에 대한 지원이 추가되었습니다. 이는 2023년 7월에 출시된 USPS의 새로운 배송 방식인 USPS Ground Advantage와의 기본 통합입니다. 이 새로운 통합은 배송 요금을 검색하고 USPS 배송 서비스를 통해 배달 및 반품을 예약하는 데 사용할 수 있습니다. USPS Ground Advantage 배송 방법은 USPS Ground Advantage 배송 방법이 출시되었을 때 폐기되었던 다음 배송 방법을 대체합니다.

    • USPS 소매 기반
    • 퍼스트 클래스 패키지 서비스
    • 지면 택배 선택
  • Temando 배송 모듈을 핵심 Commerce 코드 베이스에서 제거했습니다. 이 기능은 Adobe Commerce 2.4.4에서 더 이상 사용되지 않습니다.

향상된 성능 및 확장성

Commerce 2.4.7에는 다음과 같은 Commerce 성능 및 확장성 개선 사항이 포함되어 있습니다.

  • 이제 엔터프라이즈 가맹점은 장바구니 및 체크아웃 작업의 성능 저하 없이 Adobe Commerce에서 최대 백만 개의 활성 쿠폰 기반 장바구니 가격 규칙 ​을 구성할 수 있습니다.

  • 향상된 인덱서 관리. 새 indexer:set-status 명령은 인덱서 상태의 동적 관리를 지원합니다. 관리자 사용자는 이 명령을 사용하여 인덱서 상태를 suspended, invalid 또는 valid(으)로 변경할 수 있습니다. 이 기능은 시스템의 cron 작업에 의해 인덱서가 자동으로 트리거되는 시기를 제어할 수 있도록 하여 제품 가져오기 또는 업데이트와 같은 대규모 작업 동안 시스템 성능을 관리하는 데 특히 유용합니다. 인덱서 관리를 참조하세요.

  • 옵션이 많은 복잡한 제품에 대한 제품 목록 페이지. 100개 이상의 옵션이 있는 복잡한 제품을 포함하는 제품 목록 페이지의 로드 시간이 개선되었습니다. 제품을 카테고리별로 나열하기 위한 GraphQL 요청의 성능도 향상되었습니다.

  • 이제 REST API 가져오기 ​에 대해 JSON 형식이 지원됩니다. 판매자는 이제 분당 최대 100,000개의 레코드를 JSON 형식으로 Adobe Commerce에 가져올 수 있습니다.

  • 판매 규칙 성능 개선. 많은(약 100,000개) 활성 영업 규칙을 사용하여 엔터프라이즈 배포 성능을 개선했습니다. 프로모션을 많이 구현하는 엔터프라이즈 배포는 많은 활성 장바구니 규칙을 배포하는 경우가 많습니다. Commerce 2.4.7을 실행하는 이러한 유형의 엔터프라이즈 배포에서는 체크아웃 작업 중 구성된 장바구니 가격 규칙 수와 관련된 성능 저하가 나타나지 않습니다.

  • 많은 스토어가 있는 배포에 대한 스토어 수준 구성의 저장 작업 속도 향상. 저장소가 500개를 초과하는 배포에 구성 설정을 저장하는 것은 시간이 많이 걸릴 수 있습니다. 새 비동기 구성 모듈을 사용하면 소비자가 메시지 큐에서 저장 작업을 처리하는 크론 작업을 실행하여 비동기 구성 저장 작업을 수행할 수 있습니다. AsyncConfig는 기본적으로 비활성화되어 있습니다.

  • 대규모 구성에 대한 구성 캐시를 더 빠르게 생성. 이제 구성 캐시가 사용되면 bin/magento cache:clean config 명령이 구성 캐시를 미리 준비합니다. 따라서 대규모 구성에 대한 구성 캐시를 생성하는 데 필요한 가동 중지 시간이 줄어듭니다. 구성 저장 작업은 캐시에 데이터를 쓰기 전에 더 이상 config_scopes 캐시를 정리하지 않으므로 구성 데이터를 쓰는 동안 다른 요청이 잠기는 시간도 줄어듭니다.

GraphQL 애플리케이션 서버

GraphQL Application Server을(를) 사용하면 Adobe Commerce에서 Commerce GraphQL API 요청 중 상태를 유지할 수 있으며 부트스트래핑이 필요하지 않으므로 모든 GraphQL API에 대해 높은 처리량과 낮은 대기 시간 및 효율적인 리소스 사용이 가능합니다. 프로세스 간에 애플리케이션 상태를 공유하면 GraphQL API 요청의 효율성이 크게 향상되고 GraphQL API 응답이 평균 30% 빨라집니다.

GraphQL Application Server는 Adobe Commerce에만 사용할 수 있습니다. Magento Open Source에 사용할 수 없습니다. Pro 프로젝트에서 Adobe Commerce Application Server를 사용하려면 GraphQL 지원 제출 티켓을 제출해야 합니다.

NOTE
GraphQL Application Server는 현재 Amazon Simple Storage Service (AWS S3)과(와) 호환되지 않습니다. 현재 원격 저장소에 대해 AWS S3을(를) 사용하는 클라우드 인프라의 Adobe Commerce 고객은 Adobe이 2024년 말에 핫픽스를 릴리스할 때까지 GraphQL Application Server를 사용할 수 없습니다.

Adobe Commerce 확장 메타패키지

이 릴리스에서는 이 코어 릴리스와 함께 선택 Adobe Commerce 확장 기능을 자동으로 번들로 제공하는 Adobe Commerce 확장 메타패키지 v2.0.0이 도입되었습니다. composer update을(를) 실행할 때 이 메타패키지에 포함된 이러한 확장 버전이 설치되어 최신 코어 릴리스로 업그레이드할 때 이러한 확장 업그레이드 프로세스를 간소화합니다. 이러한 확장은 독립적인 릴리스 일정을 유지합니다.

Adobe Commerce 2.4.7용 Adobe Commerce 확장 메타패키지에는 다음 확장이 포함되어 있습니다.

이 확장 메타페이지의 향후 버전에는 추가 확장이 포함될 수 있습니다.

Adobe Commerce webhooks

Commerce webhooks(v1.2.0 )를 사용하면 개발자는 Adobe Commerce 이벤트가 트리거될 때 외부 시스템에 대한 호출을 실행하도록 동기 로직을 구성할 수 있습니다. Commerce에서 타사 끝점을 사용하여 주문 합계, 세금 또는 지불과 같은 값을 즉시 계산하거나 유효성을 확인한 다음 결과를 Adobe Commerce에 다시 써야 하는 경우 동기 호출이 필요합니다.

이제 Commerce webhooks가 기본적으로 설치됩니다. Adobe Commerce Webhooks 개요를 참조하세요.

Adobe Stock

이제 Adobe Stock 패키지(adobe-stock-integration)가 더 빈번한 업데이트를 지원하기 위해 Commerce 확장 메타 패키지(extensions-metapackage)에 패키지됩니다.

B2B

NOTE
2.4.7 릴리스는 B2B 1.4.2와 호환됩니다. 그러나 Adobe은 고객에게 PHP 8.3에 대한 지원이 포함된 업그레이드 전에 다가오는 B2B 1.5.0 GA 릴리스를 기다리라고 권장합니다. B2B 릴리스 정보를 참조하세요.

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 - 로그인한 고객이 향후 거래에 사용할 수 있도록 Commerce 스토어 계정에 Apple Pay 결제를 저장/저장할 수 있습니다. 이렇게 하면 체크아웃 단계 수가 줄어들고 재방문 고객이 더 빠른 체크아웃 경험을 할 수 있습니다.

  • Vault Google Pay Payments - 로그인한 고객이 향후 거래에 사용할 수 있도록 Commerce 스토어 계정에 Google Pay 결제를 저장/저장할 수 있습니다. 이렇게 하면 체크아웃 단계 수가 줄어들고 재방문 고객이 더 빠른 체크아웃 경험을 할 수 있습니다.

  • Vault Venmo Payments - 로그인한 고객이 향후 트랜잭션에 사용할 Venmo 계정을 Commerce 스토어 계정에 자격 증명 모음/저장할 수 있습니다. 이렇게 하면 체크아웃 단계 수가 줄어들고 재방문 고객이 더 빠른 체크아웃 경험을 할 수 있습니다.

  • Vault ACH Payments - 로그인한 고객이 향후 거래에 사용할 Commerce 스토어 계정에 ACH 결제를 저장/저장할 수 있습니다. 이렇게 하면 체크아웃 단계 수가 줄어들고 재방문 고객이 더 빠른 체크아웃 경험을 할 수 있습니다.

  • 체크아웃 상단에 있는 Express Payment개 버튼—더 빠른 체크아웃 환경을 제공하기 위해 체크아웃 시작 시 Express Payment개 옵션을 도입했습니다. 이제 고객은 PayPal, PayPal Pay Later, Apple Pay 및 Google Pay Express 결제까지 결제할 수 있습니다.

  • 관리자 구성 내의 Braintree릴리스 노트 및 지원 링크 - 이제 판매자가 Commerce 관리에서 지원 및 릴리스 노트를 온라인으로 Braintree에 직접 연결할 수 있습니다.

  • Venmo​ 을(를) 제외한 모든 Braintree 결제 방법에 대해 GraphQL 지원—더 많은 구성이 GraphQL API에 노출됩니다. 이는 Headless 애플리케이션에 특히 유용합니다.

  • Vaulting계정 영역의 결제—로그인한 고객은 이제 고객 계정 영역에서 새 신용/직불 카드 및 PayPal 계정을 저장/저장할 수 있습니다. 이전에는 고객이 체크아웃에서 트랜잭션을 완료할 때 나중에 사용하기 위해 결제를 저장할 때만 저장/저장할 수 있었지만, 이제 새 트랜잭션을 만들 필요 없이 새 신용/직불 카드 및 PayPal 계정을 저장할 수 있습니다.

  • 무마찰 거래 - 무마찰 거래는 온라인 신용/직불 카드 거래를 완료하기 위한 고객 클릭/단계 수를 줄여 결제 프로세스를 가속화합니다. 이전에는(3DS가 활성화된 경우) 모든 고객이 3DS에 도전했습니다. 새로운 마찰 없는 거래 기능을 통해 고객은 은행에서 요청할 때만 3DS에 대한 도전을 받게 됩니다. 이렇게 하면 장바구니 포기가 줄어들고 전환율이 증가하며 더 많은 매출을 올릴 수 있습니다.

  • 웹 후크 분쟁 - 고객이 Braintree에서 거래에 대해 분쟁 중인 경우 이제 분쟁 상태가 Commerce에 전달됩니다. Sales > Order 그리드에서 검색하고 각 순서에 첨부할 수 있습니다.

Adobe IMS와 Commerce 통합

이제 Adobe IMS 통합 패키지(adobe-commerce/adobe-ims-metapackage)가 더 빈번한 업데이트를 지원하기 위해 Commerce 확장 메타 패키지(extensions-metapackage)에 패키지화되었습니다.

GraphQL

Commerce 2.4.7에는 향상된 GraphQL 캐싱 기능, 사용자 지정 특성에 대한 GraphQL 스키마 지원, headless 주문 취소 지원 및 향상된 resolver 캐싱이 포함되어 있습니다.

  • 보다 유연한 장바구니 관리. 이제 clearCart 돌연변이로 인해 지정된 장바구니의 콘텐츠가 한 번의 작업으로 지워집니다. 더 이상 사용되지 않는 clearCustomerCart 돌연변이를 대체합니다.

  • 장바구니 돌연변이 만들기의 개선 사항. 더 이상 사용되지 않는 createEmptyCart 돌연변이를 대체하기 위해 createGuestCart 돌연변이가 추가되었습니다. 이전에는 createEmptyCart을(를) 사용한 경우 장바구니가 손님 대상인지 또는 로그인한 고객 대상인지 확인할 수 없었습니다.

  • 주문 항목에 제품 이미지가 포함되어 있습니다. OrderItemInterface은(는) 제품 이미지를 노출하므로 이미지를 주문한 제품과 연결하여 보다 효율적으로 로드할 수 있습니다. GitHub-32369

  • 확인자 캐싱에 대한 지원이 확장되었습니다. 이제 GraphQL Resolver Resolver Results 캐시에서 다음 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 응답 필드
      쿼리는 사용자가 시작한 주문 취소 요청을 지원합니다. 스토어의 주문 취소 구성 쿼리를 참조하세요.
  • 사용자 지정 특성에 대한 지원이 향상되었습니다. 모든 속성 유형을 지원하도록 API 데이터를 보강하여 GraphQL 사용자 지정 속성 지원이 향상되었습니다. 이제 GraphQL EAV 특성 스키마는 관리에서 고객 특성 및 고객 주소 개체를 확장하고 GraphQL을 사용하여 검색할 수 있도록 지원합니다. 향상된 특정 영역:

    • 고객 및 고객 주소와 같은 특정 영역에 대한 사용자 지정 특성 지원 확장/추가
    • 사용자 지정 특성에 대한 캐싱이 추가되었습니다.
    • 제품에 대한 기존 사용자 정의 속성 지원 개선
  • 향상된 GraphQL 캐싱 기능으로 페이지 로드 속도가 향상되었습니다. 이러한 쿼리에 캐싱 기능이 추가되어 대부분의 PWA 페이지에 대한 페이지 로드 시간이 빨라집니다.

  • GraphQL 파서 성능이 향상되었습니다. 요청당 구문 분석 메서드가 호출되는 횟수를 줄여 GraphQL 파서 성능이 향상되었습니다. 이제 한 번 호출됩니다. 이전에는 파서가 적어도 세 번 호출되었습니다.

기존 돌연변이에 대한 새 필드

  • storeConfigavailableStores 쿼리에 quickorder_active 필드를 추가했습니다. 이 필드는 빠른 주문 기능이 활성화되었는지 여부를 나타냅니다.

  • setBillingAddressOnCartsetShippingAddressesOnCart 돌연변이에 다음 필드를 추가했습니다.

    • fax
    • middlename
    • prefix
    • suffix

새로운 쿼리 및 변형

더 이상 사용되지 않는 쿼리 및 돌연변이

Inventory management

Inventory management(v1.2.7)는 제품 인벤토리를 관리하는 도구를 제공합니다. 커뮤니티에 의해 개발된 이 기능은 Adobe Commerce 및 Magento Open Source 코어 코드와 함께 번들로 제공됩니다.

결제

  • Venmo를 제외한 모든 결제 방법에 대한 핵심 작업에 GraphQL 지원이 추가되었습니다. 결제 서비스의 새 GraphQL 끝점은 체크아웃에 설명되어 있습니다.

  • 벤모를 제외한 모든 결제수단에 대해 신용카드 비우기가 강화됐다. 이제 구매자는 ACH 결제를 보관하거나 저장하고 계정 페이지에서 이를 보거나 삭제할 수 있습니다. 판매자는 관리자의 ACH 보관된 결제를 활성화하고 비활성화할 수 있습니다.

  • 이제 체크아웃 워크플로우에는 PayPal, Google Pay 및 Apple Pay Express 단추를 제공하는 신속 결제 섹션이 포함됩니다.

결제 옵션에서 지원되는 결제 방법을 소개합니다.

PWA Studio

PWA Studio v14.0은 Adobe Commerce 2.4.7과 호환됩니다. 여기에는 액세스 가능성을 개선하기 위한 여러 개선 사항이 포함되어 있습니다. 버그 수정에 대한 자세한 내용은 PWA Studio 릴리스를 참조하십시오. PWA Studio 버전 및 호환 가능한 Adobe Commerce 핵심 버전 목록은 버전 호환성을 참조하십시오.

웹 API 프레임워크

장바구니당 여러 쿠폰을 사용하여 작업

새 REST 엔드포인트는 장바구니와 연결된 여러 쿠폰을 보고, 추가하고, 삭제할 수 있도록 지원합니다.

NOTE
처음으로 여러 REST 끝점 경로에 V1 대신 V2 문자열이 포함되어 있습니다. 예: GET /rest/default/V2/carts/{cartId}/coupons. Commerce 판매자의 경우 이러한 끝점은 V1 버전의 끝점을 대체하기 위한 것입니다. 이러한 끝점은 Adobe Commerce에서만 사용할 수 있습니다.

장바구니와 연결된 모든 쿠폰 코드 반환:

GET /rest/{store_code}/V2/carts/{cartId}/coupons
GET /rest/{store_code}/V2/carts/mine/coupons

장바구니에 쿠폰 코드 추가:

POST /rest/{store_code}/V2/carts/{cartId}/coupons/{couponCode}
POST /rest/{store_code}/V2/carts/mine/coupons/{couponCode}

장바구니에서 쿠폰 코드 바꾸기:

PUT /rest/{store_code}/V2/carts/{cartId}/coupons
PUT /rest/{store_code}/V2/carts/mine/coupons

장바구니에서 쿠폰 코드 제거:

POST /rest/{store_code}/V2/carts/{cartId}/coupons/deleteByCodes
POST /rest/{store_code}/V2/carts/mine/coupons/deleteByCodes

추가 끝점
이 릴리스에서는 REST API GETPOST V1/products/attributes 끝점으로 인한 제한을 해결하는 방법을 제공하는 두 개의 새 REST 끝점을 도입했습니다. 이러한 끝점은 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).

해결된 문제

Adobe Commerce 2.4.7 코어 코드에서 수백 개의 문제를 해결했습니다. 이 릴리스에 포함된 해결된 문제의 하위 집합은 아래에 설명되어 있습니다. 이전 Commerce 2.4.7 베타 릴리스에 포함된 수정 사항도 설명되어 있습니다.

설치, 업그레이드, 배포

  • 불필요한 캐시 조작이 설정 프로세스에서 제거되었습니다. 이전에는 Commerce이 bin/magento setup:db-data:upgrade 또는 bin/magento setup:upgrade을(를) 실행할 때 불필요하게 디스크에 구성을 기록했으며, 이로 인해 설치하는 동안 일부 모듈에 문제가 발생했습니다. GitHub-38124
  • 메모리 부족 및 큰 테이블로 인한 배포 문제가 해결되었습니다. 큰 MySQL 테이블과 관련된 메모리 초과 오류로 인해 bin/magento setup:upgrade 명령이 더 이상 실패하지 않습니다.
  • app/etc/config.php이(가) 삭제된 후 bin/magento setup:install이(가) 정상적으로 완료됩니다. 이전에는 설치 중에 누락된 파일이 다시 생성되지 않았으며 Commerce에서 오류가 발생했습니다. GitHub-37805
  • 테이블 및 연결된 mview 인덱서를 모두 설치하는 새 모듈을 설치할 때 bin/magento setup:upgrade이(가) 성공적으로 실행되도록 리팩터링되었습니다. GitHub-37304
  • 구분 기호 오류로 인해 더 이상 데이터베이스 복원이 실패하지 않습니다. 이전에는 bin/magento setup:rollback --db이(가) 실행될 때 Commerce에서 이 오류가 발생했습니다. 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 ;;.
  • MySQL 메모리 제한 관련 오류 PHP Fatal error: Allowed memory size of 4294967296 bytes exhausted (tried to allocate 20480 bytes) 유형으로 bin/magento setup:upgrade 명령이 더 이상 실패하지 않습니다. 다중 선택 특성 마이그레이션이 setup:upgrade 동안 메모리를 적게 사용하도록 최적화되었습니다.
  • 이제 데이터베이스 백업 생성이 관리자 및 명령줄 모두에서 예상대로 작동합니다. 이전에는 Adobe Commerce에서 다음 오류가 발생했습니다. 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 ;;.
  • --lock-db-prefix 매개 변수를 지정하지 않고 setup:config:set을(를) 실행하면 env.php 파일에서 현재 값이 더 이상 지워지지 않습니다.
  • 게스트 사용자가 다른 고객 그룹과 관련된 캐시된 콘텐츠에 액세스할 수 없도록 니스 구성이 업데이트되었습니다.
  • 이제 Checkout Async ​이(가) 활성화된 경우 쇼핑객이 분할 데이터베이스를 구현하는 배포에 주문을 할 수 있습니다. 이전에는 Adobe Commerce에서 다음 오류가 발생했습니다. An error occurred on the server. Please try to place the order again.
  • 테이블 및 연결된 mview 인덱서를 모두 설치하는 새 모듈을 설치하면 bin/magento setup:upgrade이(가) 성공적으로 완료됩니다.
  • 이제 bin/magento setup:upgrade은(는) 메시지 대기열 주제에 주제 이름이 포함되지 않은 경우 더 자세한 오류 메시지를 표시합니다. GitHub-34246
  • 병합된 XML 파일이 잘못되면 bin/magento setup:upgrade에 더 자세한 오류 메시지가 표시됩니다. 이제 오류 메시지에 파일 이름이 포함됩니다.

관리자 UI

  • 이제 대시보드에서 차트가 기본적으로 비활성화되었습니다. GitHub-38430
  • 이제 Admin Sales 메뉴에 하위 메뉴가 올바르게 표시됩니다. 이전에는 열 나누기가 제대로 작동하지 않거나 일부 하위 메뉴가 표시되지 않았습니다. GitHub-37812
  • 그리드에서 여러 페이지를 선택하면 이제 관리자 Content > Pages ​에 Select 드롭다운 메뉴 옵션이 표시됩니다. GitHub-35386
  • 구성 설정에서 경로를 기본값인 system/dashboard/enable_charts(으)로 수정했습니다. 차트가 이제 예상대로 관리자에 표시됩니다. 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
  • 이제 보관된 주문 그리드가 예상대로 새 주문 상태로 비동기적으로 업데이트됩니다. 아카이브 그리드에서 주문 상태를 업데이트하는 이벤트 기반 접근 방식은 대변 후 메모 환불을 포함하여 정확한 주문 상태를 제공합니다.
  • 이제 관리 그리드 작업 드롭다운 메뉴를 Content > Pages ​에 대해 선택한 링크(및 B2B 모듈의 공유 카탈로그) 위로 예상대로 마우스를 가져갈 수 있습니다. 이전에는 이 메뉴가 대부분 숨겨졌으며 관리자는 옵션을 보려면 스크롤해야 했습니다. GitHub-36710

분석

  • 이제 기본 제품 이미지에 제품 세부 정보 페이지 meta itemprop="image"meta itemprop="description" 속성을 사용할 수 있습니다. GitHub-37497
  • 이제 Catalog Price Scope ​이(가) Website(으)로 설정된 경우 장바구니에 있는 제품 표의 보고서 섹션에 올바른 제품 가격이 표시됩니다. 기존에는 기본 웹 사이트가 아닌 다른 웹 사이트에 상품을 지정할 때 상품 가격이 0으로 표시됐다.
  • 이제 매출 보고서가 Google Analytics(GA4) 포털에 예상대로 표시됩니다. GitHub-37605
  • 이제 Google Tag Manager 데이터 레이어의 pricequantity 값이 예상대로 Google Analytics 값으로 전송됩니다. 이전에는 이러한 값이 문자열로 전송되었습니다.
  • New Relic 모듈로 배포 데이터를 보낼 때 헤더 데이터를 처리하는 데 발생하는 오류가 해결되었습니다.
  • 이제 Google Analytics 4 태그가 비활성화되면 Google Analytics 3 태그가 예상대로 트리거됩니다.

배너

  • 과도한 데이터베이스 쿼리를 제거하기 위해 배너 콘텐츠를 로드하는 방식을 리팩터링하여 장바구니 로드 시간을 개선했습니다.

번들 제품

  • Display Out Of Stock*​을(를) 사용하도록 설정하면 범주 제품 수가 번들 제품을 올바르게 처리합니다.
  • 이제 customerCart 쿼리가 예상대로 번들 제품에 적용된 모든 할인을 반환합니다. 기존에는 묶음 상품에 적용되던 총 할인액이 0으로 돌아갔다.
  • 이제 제품 세부 사항 페이지에 100% 할인이 적용된 번들 제품의 올바른 가격이 표시됩니다. 기존에는 Commerce이 상품 가격을 묶기 위해 100% 할인을 적용하지 않았다.
  • 이제 장바구니 가격 규칙은 동적 가격의 번들 제품에 대해 각 하위 제품이 아닌 제품 번들에 적용됩니다.
  • POST V1/shipment 끝점을 사용하여 번들 제품이 포함된 선적을 만들 때 발생하는 오류를 해결했습니다. 이제 끝점이 항목을 예상대로 추가하고 더 이상 이 오류를 반환하지 않습니다. The shipment couldn't be saved.
  • 이제 무기한 예약된 업데이트가 있는 간단한 제품을 포함하는 번들 제품의 예약된 업데이트를 저장할 수 있습니다. 번들 제품 스냅숏이 만들어지면 이제 연결된 제품을 ID, 엔티티 ID 및 SKU로 가져옵니다. 기존에는 단순 제품의 현재 버전 대신 번들 제품의 예정된 업데이트를 저장하면 단순 제품의 원본 버전을 확인하였다.
  • 이제 제품에 together 배송 유형이 설정되어 있을 때 GET V1/shipment/ API 경로를 사용하여 번들 제품으로 배송을 만들 수 있습니다. 번들 제품은 이제 배송 유형 속성을 기반으로 유효성이 검사됩니다.
  • 이제 쇼핑객은 상점 앞의 장바구니에서 번들 제품의 수량을 편집할 수 있습니다. 이전에는 상점 앞 장바구니에서 제품을 편집하고 오류를 표시할 때 Adobe Commerce에서 ItemId에 대해 null 값을 처리하지 않았습니다. GitHub-37696
  • 이제 슬래시(/) 문자가 포함된 SKU를 사용하여 번들 제품을 관리 주문에 추가할 수 있습니다. 이전에는 관리자 사용자가 이 방법을 사용하여 제품을 관리자 주문에 추가할 수 없었고, Commerce에서 JavaScript 오류가 발생했습니다.
  • 이제 해당 단순 제품에 대해 Qty Uses Decimal ​을(를) 사용하도록 설정한 경우 관리자는 새로 추가된 번들 옵션에 대해 10진수 기본값을 설정할 수 있습니다. 이전에는 저장된 선택 영역에 대해서만 십진수 값을 설정할 수 있었습니다.
  • 옵션 수가 많은 번들 제품을 절약할 수 있는 최적의 성능
  • 이제 번들 제품을 제품 옵션에서 SKU를 복제하지 않고 성공적으로 가져왔습니다. 이전에는 Adobe Commerce에서 중복 항목이 있는 번들 제품을 가져올 때 제품 옵션에서 여러 개의 중복 SKU를 만들었습니다.
  • 이제 번들 제품 가격이 번들 내 제품 중 하나가 품절되었을 때 제대로 계산됩니다. 기존에는 번들에 포함된 상품이 품절됐다면 가격 산정에서 뺐다.
  • 이제 필요한 하위 제품을 마지막으로 구매하면 번들 제품이 품절로 표시됩니다. 기존에는 단순 상품이 품절됐을 때 묶음 상품을 매장 앞에 재고로 표시했다.
  • addBundleProductsToCart 돌연변이를 사용하여 필수 옵션이 아닌 번들 제품을 장바구니에 추가할 때 발생하는 성능 문제가 해결되었습니다.
  • Show out-of-stock products 구성 설정을 사용하도록 설정하면 categoryList 쿼리가 모든 번들 옵션을 예상대로 반환합니다. 이전에는 품절 옵션이 쿼리 응답에 포함되지 않았습니다.
  • 카탈로그 가격 범위가 website(으)로 설정된 경우 POST V1/products(으)로 만들어진 번들 제품이 성공했습니다. 이전에는 무결성 제약 조건 위반이 발생했습니다. GitHub-35595

캐시

  • 이제 캐시가 Fastly CDN(Caching Application=Fastly CDN)으로 설정된 스토어의 쇼핑객이 범주를 볼 수 있습니다. 이는 고객 쇼핑객과 등록 고객 모두에게 영향을 주었습니다.
  • 로그인 후 캐시 쿠키는 이제 웹 사이트를 탐색한 후 동일합니다. 이전에는 로그인 컨트롤러가 잘못된 캐시 쿠키를 보냈으며, 페이지가 여러 번 캐시되었을 수 있습니다.
  • CMS 블록이 포함된 CMS 페이지의 GraphQL GET 작업에서 받은 응답이 이제 Fastly 캐시에서 예상대로 지워집니다. 이제 후속 일정 업데이트에 이러한 페이지에 대한 정확한 업데이트 콘텐츠가 표시됩니다.
  • 이제 하위 제품 중 하나가 관리자에서 저장되면 상위 제품에 대해 예상대로 페이지 캐시가 지워집니다. 인덱서 상태(예약됨 또는 실시간)에 관계없이 다른 제품 유형과 유사한 구성 가능한 변형에 대한 캐시 무효화에 도달하기 위해 플러그인 검사가 도입되었습니다. 이전에는 관리자에서 구성 가능한 변형이 업데이트된 후 상점 첫 화면에서 가격이 제대로 업데이트되지 않았습니다.
  • AWS 자격 증명에 대한 캐싱 메커니즘을 추가했습니다. 이제 자격 증명 공급자는 Commerce 캐시를 사용하여 EC2 구성을 위해 AWS에서 검색한 자격 증명을 캐시합니다.
  • 구성 가능한 제품과 연계된 간단한 제품을 저장할 때 구성 가능한 캐시 태그를 추가하는 것이 목적인 플러그인은 이제 예상대로 작동합니다. 간단한 제품이 POST V1/products에 의해 업데이트되면 모든 관련 구성 가능한 캐시 태그가 예상대로 제거됩니다. 이전에는 모든 가격이 상점 앞에 업데이트되지는 않았으며 캐시는 수동으로 지워야 했습니다. GitHub-36726

장바구니 및 체크아웃

  • 이제 Commerce은 영구적 장바구니가 활성화된 경우 PDP(제품 세부 사항 페이지) 및 CMS 페이지와 같은 전체 페이지 캐시 가능 페이지를 생성할 때 사용자별 견적 데이터를 로드하지 않음으로써 성능을 최적화합니다. 이전에는 이러한 페이지를 생성하는 동안 시스템에서 사용자별 세션 및 견적 데이터를 불필요하게 로드하므로 성능에 영향을 주었습니다.
  • 이제 사용자 지정 주소 사용자 지정 특성이 예상대로 데이터베이스에 저장됩니다. 이전에는 데이터베이스에 저장된 속성 값 앞에 속성 코드가 있었습니다.
  • 제품 특성에 대한 장바구니 규칙 필터 텍스트 생성이 개선되었습니다. 개별 제품은 더 이상 여러 번 로드되지 않습니다.
  • 이제 Adobe Commerce은 체크아웃 중에 오류가 발생하여 더 이상 쇼퍼를 이전 체크아웃 단계로 되돌리지 않을 때 유용한 오류 메시지를 표시합니다. 이전에, 쇼핑객은 배송 페이지로 돌아왔습니다.
  • cart 쿼리가 더 이상 가상 카트에 대한 배송 방법 및 주소를 반환하지 않습니다. 이전에는 장바구니에 실제 제품과 가상 제품이 모두 포함되고 모든 실제 제품이 제거된 경우, 장바구니 쿼리 응답에 배송 정보가 계속 포함되었습니다.
  • 이제 Commerce에 장바구니에 추가 작업이 트리거될 때 유용한 메시지가 표시됩니다. 이전에는 The requested qty is not available이(가) 항상 상점 앞에 필요에 따라 표시되지는 않았습니다.
  • 주소록이 큰 고객의 체크아웃 페이지 로드 시간이 개선되었습니다. 이제 Commerce은 Customer Addresses Limit 설정에 지정된 고객 주소 수만 처리합니다. 이전에는 Commerce이 전체 주소록을 로드했습니다.
  • 이제 하나의 품목이 품절되었을 때 재고 품목에 대한 예상대로 장바구니에서 제품 수량을 변경할 수 있습니다. 기존에는 재고 부족 시 구매자는 상품 수량을 전혀 변경할 수 없었다.
  • 이제 AdvancedSalesRule 제품 특성 필터가 십진수 특성 백 엔드 유형에서 올바르게 작동합니다. 따라서 이제 Coupon Type이(가) No Coupon(으)로 설정된 장바구니 규칙이 예상대로 작동합니다.
  • 이제 번들 및 구성 가능한 제품이 모두 포함된 장바구니에 대한 전체 장바구니 할인액의 전체 금액이 예상대로 적용됩니다.
  • 이제 고객 섹션 쿠키는 쿠키의 도메인 설정을 따릅니다. 이전에는 세션이 공유되었더라도 하위 도메인이 포함된 저장소에서 미니 장바구니가 예상대로 업데이트되지 않았습니다.
  • 주문을 여러 주소로 배송하면 지역 ID 처리 중에 더 이상 오류가 트리거되지 않습니다.
  • 장바구니 수준에서 적용되는 고정 할인 금액이 이제 정확합니다.GitHub-37496
  • 이제 구매 고객이 정액 배송 방법을 선택한 후 쿠폰을 적용하면 배송 방법이 조건으로 설정된 장바구니 가격 규칙이 적용되는 주문에 쿠폰이 성공적으로 적용됩니다. 이전에는 장바구니에 "쿠폰이 유효하지 않습니다."라는 오류가 표시되었으며 쿠폰이 적용되지 않았습니다. 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 값만 표시되었습니다. 이 문제는 Adobe Commerce이 관리자에서 기본 지역 ID를 설정하는 조건문을 호출하기 전에 지역 ID를 정의되지 않음으로 설정했기 때문에 발생했습니다.
  • 영구 장바구니 Invalid state change requested을(를) 사용하도록 설정한 경우 Adobe Commerce에서 체크아웃 중에 이 오류가 더 이상 발생하지 않습니다. 이전에는 이 오류가 발생하면 동일한 quote_id을(를) 가진 여러 주문이 가끔 생성되었습니다.
  • 이제 미니 장바구니에 장바구니 세금 구성 설정을 반영하는 번들 제품 가격이 표시됩니다. 기존에는 미니 장바구니에 번들 제품 가격에 항상 세금이 포함됐다.
  • 활성 장바구니에 의존하는 고객 세그먼트 규칙의 성능이 개선되어 제품을 장바구니에 추가하는 데 필요한 시간이 단축되었습니다.
  • 장바구니 페이지에서 제공된 배송 예상이 이제 정확합니다. collectShippingRates은(는) 이제 한 번만 설정됩니다. 이전에는 배송 견적이 중복되었습니다. GitHub-36648
  • 지정된 장바구니의 제품이 품절되었을 때 cart 쿼리가 더 이상 오류를 반환하지 않습니다. 이전에는 항목이 품절되어 체크아웃 페이지가 비어 있을 때 이 쿼리를 사용하여 구매하는 고객이 구매를 완료할 수 없었습니다.
  • 모바일 환경에서 로그인하는 동안 페이지가 다시 로드되는 경우 POST V1/guest-carts/<cartId>/shipping-information에 대한 게스트 API 요청이 더 이상 cancel 상태를 반환하지 않습니다. 이전에는 Adobe Commerce에서 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 확장이 비활성화된 새 장바구니 가격 규칙을 저장할 수 있습니다. 이전에는 Adobe Commerce에서 다음 오류가 발생했습니다. report.ERROR: Warning: Undefined array key "simple_free_shipping". GitHub-37580
  • 이제 장바구니 가격 규칙은 한 배송 방법과 관련된 장바구니 가격 규칙이 스토어에 대해 구성되어 있고 이 배송 방법이 체크아웃 중에 다른 배송 방법으로 변경될 때 예상대로 적용됩니다. 이전에는 sales_order_item 테이블에서 applied_rule_ids 값이 변경되지 않았으며 장바구니 가격 규칙이 주문에 적용되지 않았습니다.

카탈로그

  • bin/magento cache:clean 또는 bin/magento cache:flush을(를) 실행하면 지정된 경우가 아니면 전체 기본 제공 또는 Vannish 전체 페이지 캐시가 더 이상 플러시되지 않습니다. GitHub-38301
  • catalog_product_price dimensions-mode이(가) website(으)로 설정된 경우 판매자는 제품 캐러셀을 사용하여 CMS 블록을 만들 수 있습니다. 이전에는 Commerce에서 블록을 저장하지 않았으며 이 SLQ 오류 report.CRITICAL: PDOException: SQLSTATE[42S02]: Base table or view not found: 1146 Table이(가) 발생했습니다.
  • 제품 세부 사항 페이지에서 제품 색상을 변경할 때 Commerce에 더 이상 중복 이미지가 표시되지 않습니다. GitHub-36243
  • 대규모 다중 스토어 환경에서 새 스토어를 추가하거나 기존 스토어를 변경한 후 웹 사이트별 값을 동기화하는 알고리즘을 최적화했습니다.
  • pub/media/catalog/product 폴더에 숨겨진 디렉터리가 생성되지 않도록 캐시된 이미지 파일에 대한 정리 프로세스가 개선되었습니다. 이전에는 숨겨진 디렉터리로 인해 정리 작업 중에 디스크 공간 문제가 발생했습니다. 작업을 종료할 수 있으며, 이로 인해 삭제되지 않은 임시 숨겨진 디렉터리가 남아 있습니다.
  • 이제 번들 제품 가격이 올바르게 계산되며 가격 계산 시 작동 순서 문제가 해결되었습니다. GitHub-35665
  • catalog_product_price 인덱스 쿼리에서 불필요한 절을 제거했습니다. 이로 인해 큰 카탈로그가 있는 스토어에서 이 인덱서의 성능이 향상되었습니다. GitHub-32382
  • 이 필드를 비워 두면 Commerce에서 제품 설명 텍스트를 제품 세부 사항 페이지 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 끝점이 여러 미디어 이미지의 동시 업로드를 처리할 수 있습니다. 이전에는 여러 요청을 동시에 처리하는 동안 일관되지 않은 데이터가 만들어졌으며 이 데이터를 데이터베이스에 저장할 때 Commerce에서 오류가 발생했습니다.
  • 이제 새로 생성된 고객 계정을 사용하는 쇼핑객이 로그아웃할 때 고객 세그먼트 배너가 예상대로 작동합니다. 이전에는 로그인한 고객 세그먼트에 대해 만든 배너가 해당 계정 세션이 종료된(즉, 등록된 구매자가 로그아웃된) 후에도 표시되었습니다.
  • 카테고리 제품 및 제품 카테고리 인덱서에 대한 부분 색인 재지정 성능이 개선되었습니다. 이전에는 indexer_update_all_views cron 작업이 단일 제품 또는 카테고리당 다시 인덱서를 여러 번 실행했습니다.
  • 재고 구성(수량)에 따라 제품 재고 상태가 재고가 없는 상태로 자동 업데이트되면 재고 수량이 업데이트될 때 재고 상태가 재고로 자동 업데이트됩니다. 이전에는 제품의 재고 구성이 재고 구성으로 업데이트될 때 stock_status_changed_auto 설정이 무시되었습니다.
  • Remember Category Pagination 설정을 사용하면 도구 모음 정렬이 검색 페이지에서 예상대로 작동합니다. GitHub-33220
  • 저장소 보기 범위에서 Use Default Value 확인란을 선택하면 다중 선택 특성이 예상대로 저장됩니다. 이전에는 제품을 편집하고 기본값을 저장할 때 이 확인란이 선택 취소되었습니다.
  • 이제 웹 사이트 제한 액세스 권한이 있는 관리자는 자신의 범위 내에 있는 제품에 이미지를 추가할 수 있습니다. 관리자 사용자에게 제품에 대한 액세스 권한이 없는 경우 Commerce에 정보 메시지가 표시됩니다. 이전에는 웹 사이트 제한 액세스 권한이 있는 관리자가 액세스할 수 있는 제품에 이미지를 추가할 수 없었습니다.
  • 스토어 보기 범위에서 제품을 편집할 때 사용자 정의 special_from_date, special_to_date, news_from_datenews_to_date 값이 재정의되지 않습니다.
  • 이제 Commerce은 제품 이름이 저장소별로 다른 다중 스토어 배포에서 관리자 > Category > Products in category ​에서 이름으로 제품을 정렬한 후 올바른 이름을 표시합니다. GitHub-36208
  • addProductsToCart 돌연변이는 이제 데이터를 사용하여 사용자 지정 가능한 옵션을 반환합니다. 이전에는 사용자 지정 가능한 빈 옵션만 반환했습니다. GitHub-37599
  • 이제 관리자가 캐시를 지운 후 카테고리 페이지를 다시 로드하지 않고 카테고리에 새 제품을 추가할 때 제품 위치 및 ID 선택 사항이 올바르게 표시됩니다. 이전에는 제품 위치와 선택이 일치하지 않고 잘못 표시되었습니다.
  • 이제 판매자는 다운로드 가능한 제품에 대해 예정된 변경 날짜나 시간을 미래 시작 날짜나 시간으로 업데이트할 수 있습니다. 이전에는 Adobe Commerce에서 다운로드 가능한 제품 The downloadable link isn't related to the product. Verify the link and try again의 향후 시작 날짜 또는 시간을 업데이트하는 동안 이 오류가 발생했습니다.
  • 이제 제품 미납 주문 상태가 상점 정면에 올바르게 표시됩니다. 이전에는 배송 가능한 제품이 미납주문으로 잘못 식별되었습니다.
  • 관리자가 다운로드 가능한 제품에 액세스하면 관리자 사용자가 제품을 만드는 동안 사용한 보기에서 다른 스토어 보기로 스토어 보기를 변경할 때 더 이상 오류가 발생하지 않습니다. 이제 관리자가 모든 스토어 보기에서 기본 스토어 보기로 스토어 보기를 전환하면 제품 가격이 변동으로 성공적으로 변환됩니다. 이전에는 Adobe Commerce에서 오류가 발생했습니다. GitHub-37519
  • use_config_manage_stock 값이 1인 경우 내보낸 제품에 올바른 manage_stock 값이 있습니다. 이전에는 이 기본값이 올바르지 않았습니다.
  • Adobe Commerce은 이미지를 삭제한 후 사용자 지정 옵션으로 생성된 제품을 저장할 때 경고 메시지를 더 이상 표시하지 않습니다.
  • 이제 제품 썸네일 이미지가 제품이 재입고될 때 전송되는 제품 재고 경고 이메일에 예상대로 표시됩니다. 이전에는 이 이미지가 경고 이메일에 표시되지 않았습니다
  • 범주 트리의 제품 개수(관리자 Catalog > Category)가 정확합니다. 이전에는 catalog_category_product_index 테이블에서 범주 제품 수를 검색할 수 없었습니다. 이 버그를 트리거한 오타가 수정되었습니다. GitHub-35417
  • 테마 view.xmlproduct_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 이미지를 추가할 수 있습니다. 이전에는 Adobe Commerce에 다음 오류가 표시되었습니다. imagecolorsforindex(): Argument #2 ($color) is out of range.
  • 정의되지 않은 배열 키로 인해 발생하는 오류를 처리하기 위한 검사가 추가되었습니다. 이전에는 선언적 스키마 허용 목록을 생성하는 동안 오류가 발생했습니다.
  • 이제 Adobe Commerce에서 사용자 지정 날짜 01/01/1970에 대한 올바른 결과를 반환합니다. 이전에는 사용자 지정 특성에서 다음 오류를 반환했습니다. Invalid input datetime format of value '1/01/1970. GitHub-37274
  • 조각을 사용하는 routes개의 쿼리가 이제 예상대로 범주 정보를 반환합니다. 이전에는 범주 페이지에서 내부 서버 오류가 발생했습니다. GitHub-35906
  • cataloginventory_stock 부분 다시 인덱싱 프로세스 문제가 해결되었으며 인덱서 성능이 향상되었습니다. 기존에는 주식·상품 카테고리가 정확하게 업데이트되지 않았다.
  • 이제 Adobe Commerce은 제품이 속한 범주가 새 상위 범주로 이동되면 제품에 대한 301 리디렉션을 생성합니다. GitHub-37039

카탈로그 규칙

  • 일정 업데이트를 통해 활성화되면 이제 카탈로그 규칙이 올바르게 색인화됩니다. 그 결과 이제 할인된 가격이 올바로 생성되고 지수화된다. 이전에는 두 개의 카탈로그 규칙을 사용할 수 있고, 첫 번째 규칙의 카탈로그 규칙 색인 지정 작업이 완료되기 전에 첫 번째 규칙 후에 한 개의 규칙이 활성화되면 두 번째 카탈로그 규칙에 대한 카탈로그 규칙 할인 가격이 생성되지 않았습니다.
  • 이제 카탈로그 규칙이 다중 웹 사이트 환경에서 예상대로 적용됩니다.

구성 가능한 제품

  • 판매자는 이제 구성 가능한 제품을 구성할 때 연결된 단순 제품의 소스에 영향을 주지 않고 Skip quantity at this timeSkip image uploading at this time ​을(를) 선택할 수 있습니다. 이전에는 Skip quantity at this time ​을(를) 선택하면 제품 소스가 사라졌습니다.
  • 모든 옵션의 가격이 동일하면 구성 가능한 제품 가격에 대해 As low as 레이블이 더 이상 표시되지 않습니다.
  • 이제 웹 사이트 권한이 있는 관리자는 구성 가능한 제품의 일부인 하위 제품을 다른 스토어 컨텍스트에 저장할 수 있습니다. 이제 색인 재지정 프로세스는 구성 가능한 이 유형의 제품을 건너뜁니다.
  • 두 개의 하위 제품이 있는 구성 가능한 제품은 예약된 업데이트로 인해 하나의 하위 제품이 비활성화될 때 더 이상 품절로 표시되지 않습니다.
  • 여러 옵션이 있는 구성 가능한 제품에 대한 저장 작업의 성능이 향상되었습니다. 이전에는 제품 저장 작업 중에 시간 초과가 발생할 수 있었습니다. GitHub-36928
  • 이제 구매자가 제품 옵션을 선택하면 구성 가능한 제품 가격의 상점 표시가 예상대로 변경됩니다. GitHub-37378

쿠폰

  • 고객당 사용 횟수가 제한된 쿠폰 코드는 기존에 사용하던 주문이 실패했을 때 다시 사용할 수 있다. 기존에는 사전 주문 취소 시 프로모션 코드가 출시되지 않았다.
  • 공백 문자가 포함된 쿠폰 코드는 더 이상 무효화되지 않습니다. 이전에는 쿠폰 코드에 공백 문자가 포함된 경우(실제 코드 앞 또는 뒤) 유효성 검사가 실패했습니다. GitHub-38048
  • 이제 구매자는 동일한 장바구니 가격 규칙으로 생성된 두 개의 자동 생성된 쿠폰 코드를 사용할 수 있습니다. 이제 Auto에게 선택된 쿠폰 유형(쿠폰 유형 =Specific Coupon의 경우와 유사)이 있을 때 Uses per Coupon 필드를 사용할 수 있습니다. 이렇게 하면 쇼핑객이 코드가 다른 경우 여러 쿠폰 코드를 동일한 장바구니 가격에 적용할 수 있습니다.
  • 쇼핑객의 일회성 쿠폰 가치는 현재 적용된 주문이 취소되면 예상대로 복원됩니다.
  • 이제 GET V1/coupons/<couponId> 끝점은 자동 생성된 쿠폰에서와 마찬가지로 수동으로 생성된 쿠폰에 대한 예상 응답 전체를 반환합니다. 이전에는 일부 필드가 생략되었습니다(예: usage_limit, usage_per_customercreated_at).

cron

  • aggregate_sales_report_bestsellers_data cron 작업은 더 이상 매우 큰 임시 MySQL 테이블을 만들지 않으며 이제 성공적으로 완료됩니다. 이제 이 cron 작업은 모든 스토어에 대해 한 번에 삽입되지 않고 스토어별로 데이터를 삽입합니다. 이전에는 이 cron 작업을 수행하면 No space left on device개의 오류가 발생할 수 있었습니다.
  • cron 작업이 불필요한 cron 작업 잠금을 획득하지 못하도록 하여 cron_schedule 테이블의 보류 중인 레코드 수가 감소되었습니다. 이전에는 크론 작업이 너무 늦어 작업을 실행할 수 없을 때 잠금을 획득하려고 했습니다. cron_schedule의 Cron 작업이 이미 예약된 시간을 지났는데도 누락된 것으로 표시되지 않았습니다. Commerce은 오류 로그 report.WARNING: Could not acquire lock for cron job: indexer_update_all_views에도 이 오류를 반복적으로 표시했습니다.
  • cron 표현식의 0으로 나누기 치명적인 오류를 수정했습니다. GitHub-37804
  • sales_clean_quotes cron 프로세스가 store_idupdated_at columns의 복합 인덱스를 인용 테이블에 추가하여 더 빠르게 실행되도록 최적화되었습니다. 이 변경 사항은 많은 견적을 처리할 때 cron 작업 성능을 향상시킵니다.
  • 이제 관리자는 bin/magento cron:run 프로세스에서 현재 수행 중인 작업을 볼 수 있습니다. 현재 실행 중인 프로세스의 제목에 그룹 및 작업 이름이 나열됩니다. GitHub-34321

고객

  • 이제 Adobe Commerce은 구성 설정에 따라 고객 편집 페이지에 Date of Birth, Tax/VAT Number, Gender, Telephone, CompanyFax 필드를 표시합니다. GitHub-36196

고객 세그먼트

  • 이제 고객 세그먼트 조건이 예상대로 일치하는 모든 고객을 로드합니다. 이전에는 고객 세그먼트 일치 고객 목록에 일치하는 고객이 모두 포함되지 않았습니다.

EAV

  • EAV 인덱서는 일괄 처리 중에 더 이상 표시되지 않는 엔티티를 삭제할 필요가 없습니다. 기본적으로 인덱서가 더 이상 표시되지 않는 제품을 배치하지 않으며 인덱서 성능이 향상되었습니다.

이메일

  • 분음 부호 또는 악센트가 포함된 이메일(즉, utf8 이메일)은 이제 고객 및 회사에 대해 지원되며, 게스트 및 등록된 고객의 주문 처리에도 적용됩니다. 이전에는 Commerce에서 분음 부호가 포함된 고객 레코드를 저장하지 않고 다음 오류를 표시했습니다. Something went wrong while saving the customer.
  • 이메일 발신자 이름에는 더 이상 콜론 문자가 포함될 수 없습니다. 이제 새 유효성 검사 규칙을 사용하여 관리자 Stores > General ​의 전자 메일 주소 저장 섹션에서 콜론 문자가 포함된 보낸 사람 이름을 저장할 수 없습니다. 이전에는 판매자가 콜론 문자가 포함된 발신자 이름을 저장할 수 있었으며, 이로 인해 메일 서버 오류가 발생했습니다.
  • 사용자 지정 이미지 옵션이 있는 제품의 고객 이메일 반환(기본 템플릿)에서 이미지 옵션이 더 이상 HTML 마크업으로 표시되지 않습니다.
  • 이제 회사 관리자 전자 메일에 CMS Block URL 변수가 포함되어 있으면 회사 관리자 세부 정보가 예상대로 저장되고 관리자가 올바르게 리디렉션됩니다.
  • 이제 고객 이메일 주소에 분음 부호를 포함할 수 있습니다. 이전에는 프론트엔드 유효성 검사에서 이메일 주소에 분음 부호를 사용하는 사용자를 만들 수 없었습니다. GitHub-12075
  • 이제 주식 및 가격 경고 이메일이 웹 사이트 기본 스토어 보기에 대해 구성된 언어에 따라 번역됩니다. 이전에는 이러한 이메일이 번역되지 않았습니다.
  • 이제 POST V1/order/notify-orders-are-ready-for-pickup에서 주문이 준비되었을 때만 주문 준비가 완료되었음을 고객에게 알리는 전자 메일을 보냅니다. 이제 예외 없이 요청이 이행된 경우에만 이메일이 트리거됩니다.

프레임워크

  • Varnish가 사용 중인 HTTP 헤더를 출력할 때 UNCACHEABLE 값을 추가하여 디버깅을 개선했습니다. 이전에는 HIT 또는 MISS 값만 출력되었습니다. GitHub-37912
  • 기본 바니시 압축 처리를 지원하는 코드를 추가했습니다. GitHub-38309
  • 이제 bin/magento varnish:vcl:generate 명령에 input-file argument이(가) 포함됩니다. 이렇게 하면 Commerce 루트를 기준으로 Git 저장소에 사용자 지정 VCL을 추가할 수 있습니다. GitHub-37363
  • Varnish 4.x 및 5.x에 대한 지원이 코드베이스에서 제거되었습니다. GitHub-38304
  • composer.jsonphpcodesniffer-composer-installer이(가) v1.0.0으로 업그레이드되었습니다. GitHub-36913
  • RFC3986을(를) 준수하지 않는 문자가 코드 베이스에서 제거되었습니다. GitHub-38355
  • Magento\Reports\Block\Adminhtml\Shopcart\Product\Grid 클래스에서 잘못된 PHP 문서 태그를 수정했습니다. GitHub-38186
  • 코딩 연습 시 생성된 코드 베이스 전체에서 리팩터링된 코드는 app/etc/env.php 파일에 포함된 모든 캐시 섹션에 프론트엔드 섹션이 포함된다는 것을 지시했습니다. 이 리팩터링은 Commerce 2.4.4 이전 버전 배포를 업그레이드할 때 발생할 수 있는 문제를 해결합니다. GitHub-38363
  • 값이 0인 재고 ID가 API 호출 중에 제공되는 경우 StockItemValidator.php과(와) 관련된 오류 메시지를 명확하게 수정했습니다. GitHub-31107
  • 종속성 삽입 컴파일 중에 오류를 방지하기 위해 CompositeTagGenerator$tagGenerators에 기본 빈 배열을 추가했습니다. 이전에는 Magento_DirectoryGraphQlMagento_StoreGraphQl 모듈이 비활성화되었을 때 bin/magento setup:upgrade 명령을 실행하면 오류가 발생했습니다. GitHub-38165
  • 사용하지 않은 AlgorithmProviderFactory 클래스는 물론 JweAlgorithmManagerFactory.php, JweContentAlgorithmManagerFactory.phpJwsAlgorithmManagerFactory을(를) 포함하는 클래스에서 이 클래스에 대한 종속성도 제거되었습니다. GitHub-37783
  • var/log/system.log 파일에 더 이상 main.INFO error개의 메시지가 없습니다. 메뉴 항목 로그가 수준 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
  • $block 이스케이프 함수를 $escaper 이스케이프 함수로 대체하도록 Magento_CatalogWidget 모듈을 리팩터링했습니다. GitHub-37107
  • 코드베이스 전체에서 Swaziland이(가) Eswatini(으)로 업데이트되었습니다. GitHub-37873
  • 사용 가능한 통화 목록에 새로운 니카라과 통화(NIO)가 추가되었습니다.
  • app/code/Magento/CatalogRule/Controller/Adminhtml/Promo/Catalog/NewConditionHtml.php에서 reponseBody 변수의 이름을 responseBody(으)로 변경했습니다.GitHub-38093
  • 소수 수량이 활성화된 제품의 트랜잭션에서 발생한 소계 반올림 오류가 해결되었습니다. GitHub-37817
  • 이제 관리 고객 그리드에 대한 날짜 필터가 지정된 로케일에 따라 예상대로 작동합니다.
  • $schemaPatch 변수 데이터 형식으로 인해 bin/magento setup:upgrade 명령이 더 이상 실패하지 않습니다. 이전에는 문자열 값이 get_class 함수에 전달되었으므로 오류가 발생했습니다. GitHub-37545
  • Adobe Commerce Cloud에서 슬레이브 연결에 대해 synchronous_replication을(를) 사용하도록 설정한 경우 중요한 데이터베이스 읽기 오류가 더 이상 발생하지 않습니다.
  • 소비자에 대해 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.
  • 이제 프록시 코드 생성은 프로덕션 모드에서 실행되는 배포에 대해 예상대로 프록시 및 팩토리 파일을 생성합니다. GitHub-35252
  • 인도 라다크 상태가 관리자 주소 State 드롭다운 메뉴의 옵션으로 나열됩니다. GitHub-33698
  • 이제 이벤트 카운트다운 티커가 범주 페이지에 예상대로 표시됩니다.
  • Magento_user-variable-wee, Magento_CatalogMagento_Customer, Magento_Wishlist, Magento_Review Tax 모듈을 포함하여, 그리고 프레임워크 전체에서 금지된 @author 태그가 코드 기반에서 제거되었습니다. GitHub-37245, GitHub-37246, GitHub-37249, GitHub-37263
  • User 모듈의 JSON 직렬 변환기가 보다 정확한 새 직렬 변환기(JsonHexTag)로 대체되었습니다. 이전에는 이스케이프 처리되지 않은 요소가 포함되어 있을 때 일반 직렬 변환기에서 직렬화된 데이터를 사용하려고 할 때 Commerce이 충돌하는 경우가 있었습니다. GitHub-31377
  • 전체 색인 재지정(bin/magento indexer:reindex)을 실행하는 동안 끊어진 파이프라인 오류가 더 이상 발생하지 않습니다. 이제 프로세스 관리자가 프로세스를 중단하기 전에 AMPQ 연결이 닫힙니다.
  • 이제 대기열 메시지 유효성 검사기가 모든 배열 요소의 하위 유형을 확인합니다. 이전에는 Commerce에서 예외를 throw했습니다.
  • 이제 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:showset 명령은 이제 동백 문자나 대문자를 포함하는 웹 사이트 및 스토어 코드 사용을 지원합니다.
  • CSS 레이아웃 지원을 위해 Tailwind 3에 사용된 것으로 !important이(가) 포함된 클래스를 추가했습니다. GitHub-37568
  • 누락된 jQuery 종속성이 trim-input.js 파일에 추가되었습니다. GitHub-37683
  • 이제 이벤트 관련 세부 정보가 log 메서드의 두 번째 특성(context)으로 전달됩니다. GitHub-37879
  • 종횡비 값이 카탈로그 이미지에 추가되었으며 불필요한 스크립트가 UI 프레임워크에서 제거되었습니다. GitHub-37691
  • 잘못된 XML 구성으로 인해 트리거된 오류 메시지를 수정하여 더 자세한 정보를 제공했습니다. GitHub-37788
  • 코드 베이스 전체에서 동적 속성 생성과 관련된 더 이상 사용되지 않는 코드를 리팩터링했습니다.
  • 제품 데이터베이스가 매우 활성화된 대형 매장의 인덱서 성능이 향상되었습니다. 이제 인덱서가 여러 번 인덱싱되지 않고 각 인덱스에 대해 최신 제품 정보를 한 번 인덱싱합니다. 기존에는 홈페이지에서 제품이 사라지고, 홈페이지에서 제품 데이터가 최신 상태가 아닐 수 있었다. GitHub-30012
  • 이제 슬레이브 데이터베이스 연결을 사용할 수 있을 때 mview_state 레코드 상태가 변경 로그 활동을 기반으로 상태를 정확하게 나타냅니다. 이전에는 변경 로그에 새 항목이 없는 경우에도 이러한 레코드가 클라우드 배포에서 waiting 상태로 남아 있었습니다.
  • 더 이상 사용되지 않는 ZendCurrency 클래스와의 기능 패리티를 유지하기 위해 통화 형식에 대한 precision 옵션에 대한 지원을 추가했습니다.
  • 쿠키 메시지가 관찰 가능한 속성으로 변환되었으며, 이제 개발자는 상태를 조작할 수 있으므로, UI 변경을 트리거할 수 있습니다. 이전에는 쿠키가 읽기 전용이므로 조작할 수 없었습니다. GitHub-37308
  • 이제 관리자는 Commerce 인스턴스가 S3 스토리지에 연결되어 있을 때 송장을 생성할 수 있습니다. 이전에는 Commerce에 다음 오류가 표시되었습니다. Cannot create image resource. File not found. GitHub-35706
  • 이제 Adobe Commerce은 VIES 유효성 검사 서비스에 의한 VAT 번호 유효성 검사가 실패하면 예상대로 예외 메시지를 기록합니다. 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 프레임워크 1에서 마이그레이션한 후 toCurrency 메서드가 position 매개 변수를 무시했습니다. 이 문제는 관리자 인터페이스 전체에서 발생했습니다.
  • 코드 베이스 전체에서 동적 속성 생성과 관련된 더 이상 사용되지 않는 코드를 리팩터링했습니다.
  • Adobe Commerce 및 2.4.6 이전 Magento Open Source 릴리스에서 TinyMCE 편집기를 확장하여 만든 사용자 지정 스타일 형식은 이제 페이지 빌더 text 콘텐츠 형식에서 예상대로 사용할 수 있습니다. 이전에는 사용자 지정 스타일 형식이 무시되었으며 Adobe Commerce 2.4.6-p1로 업그레이드한 후 로드되는 기본 형식만 사용되었습니다. GitHub-36950
  • quote.php 파일에 다음 정보 메모를 추가했습니다. Important: This method also copies customer data to quote and removes quote addresses. GitHub-37400
  • 이제 잠금 공급자의 인스턴스화가 \Magento\Framework\Lock\Proxy 클래스를 거칩니다. 이제 잠금 공급자가 app/etc/env.php 파일을 통해 lock 설정으로 구성되었습니다.
  • 동시 요청에 의해 업데이트하는 동안 경합 조건을 방지하기 위해 주문에 대해 뮤텍스가 구현되었습니다. 이전에는 주문 취소에 대한 동시 요청(경합 조건)으로 인해 inventory_reservation 테이블에 항목이 중복되었습니다.
  • 이제 populateWithArray 함수가 개체 속성을 스네이크 대/소문자로 올바르게 변환하여 AbstractModel getter 및 setter와 호환되도록 합니다. 이전에는 데이터 속성 이름에 여러 대문자가 연속으로 들어 있을 때 스네이크 대/소문자 서식이 올바르지 않았습니다.
  • 제품이 저장된 후 catalog_product_entity_varchar 테이블의 자동 증가 값이 올바르게 증가합니다. 이전에는 이 값이 10만큼 증가했습니다.
  • JavaScript/CSS 캐시를 플러시하려고 할 때 Adobe Commerce에서 더 이상 이 파일 시스템 예외를 throw하지 않습니다. No such file or directory.
  • 이제 customer_entity_intvalue_id 값이 올바르게 증가합니다. 이러한 특성을 포함하는 엔터티를 업데이트할 때 insert on duplicate key update 대신 업데이트 쿼리가 실행됩니다. 따라서 EAV 모델 내에서 사용되는 자동 증가 열이 이제 선형 방식으로 증가합니다. 이전에는 삽입 쿼리 실패로 인해 열 자동 증가 프로세스에서 값을 건너뛰었습니다. GitHub-28387
  • 필요하지 않은 id 특성에서 불필요한 공백이 제거되었습니다. (이 버그는 Adobe Commerce 2.4.6 코드 변경으로 도입되었습니다.)
  • 저장소가 단일 저장소 모드에 있는 경우 저장소 코드가 더 이상 저장소 URL에 표시되지 않습니다. GitHub-36831
  • around개의 플러그인이 약간 업데이트되었습니다. GitHub-31443
  • 견본 Helper이(가) 잘못된 가져오기 별칭을 제거하기 위해 리팩터링되었습니다. GitHub-31373
  • 이제 관리자는 예상대로 sitemap.xml 파일을 삭제하거나 이름을 바꿀 수 있습니다. 이전에는 관리자가 관리자에서 파일을 삭제할 수 있었지만 파일 시스템에 남아 있었습니다. GitHub-37468
  • 쿠폰이 적용된 주문에 대해 지불이 실패하면 더 이상 사용된 것으로 플래그가 지정되지 않습니다. 이제 대기열 메시지는 소비자가 시작되면 게시되는 순서대로 처리됩니다. 이전에는 대기열에서 첫 번째 메시지를 가져와 메시지가 대기열에 있는지 여부를 간단히 확인했지만 이후에 거부되어 첫 번째 메시지가 마지막으로 처리되었습니다.
  • 사용자가 배송 레이블을 인쇄하려고 할 때 Adobe Commerce에서 더 이상 로그 파일에 예외가 발생하지 않습니다. 이전에는 확장에서 첨부 파일이 포함된 응답 헤더를 수정하는 경우 시스템이 로그 파일에서 예외를 throw했습니다.
  • 더 많은 HTML 클래스에 대한 지원이 elements.xsd에 추가되었습니다. GitHub-36891

일반 수정 사항

  • app/code/Magento/CatalogRule/Controller/Adminhtml/Promo/Catalog/NewConditionHtml.php에서 reponseBody 변수의 이름을 responseBody(으)로 변경했습니다.GitHub-38093
  • 제품 업데이트를 예약하면 더 이상 다중 선택 속성 데이터가 지워지지 않습니다. 이전에는 제품에 대한 업데이트가 예정되어 있을 때 제품의 다중 선택 속성 데이터가 잘못 지워졌습니다. GitHub-37675
  • 기본 스토어 범위가 아닌 제품을 저장하면 ProductRepository을(를) 사용하여 로드할 때 변경되지 않은 특성이 스토어 범위가 되지 않습니다. GitHub-8897
  • 이제 액세스 제한이 활성화되어 있을 때 계층 노드로 구성된 페이지에 액세스할 수 있습니다. 이전에는 무한 리디렉션 루프가 발생했으며 브라우저에서 다음 오류가 발생했습니다. ERR_TOO_MANY_REDIRECTS.
  • 제품 세부 사항 페이지의 사용자 지정 필드 유효성 검사에 정보 오류 메시지가 추가되었습니다. GitHub-38006
  • 이제 이름 필드에 특수 문자를 사용할 수 있습니다. 이전에는 앰퍼샌드 문자(&)가 이름 검사기에서 제한되어 고객 이름에 앰퍼샌드가 포함되어 있을 때 고객 추가 또는 편집 작업이 차단되었습니다. GitHub-38080
  • 특정 스토어에 대한 액세스 권한이 제한된 관리자는 이제 대량 업데이트 작업을 사용하여 제품 검토를 업데이트할 수 있습니다. 이전에는 Commerce에서 이 예외를 throw했습니다. report.CRITICAL: TypeError: array_intersect(): Argument #1 ($array) must be of type array, null given in app/code/Magento/AdminGws/Model/Models.php:439.
  • 이제 storefront 로그인 페이지의 암호 표시 기능에 예상대로 암호가 표시됩니다. 이전에는 암호가 표시되지 않았습니다. GitHub-37432
  • 제품 비교 목록은 이제 게스트 쇼핑객을 위해 항상 웹 사이트별로 지정되며 두 웹 사이트에 모두 지정된 제품을 포함하여 다른 웹 사이트에서 추가된 제품은 포함하지 않습니다.
  • 이모지가 포함된 CMS 콘텐츠 블록은 데이터베이스에 저장될 때 이모지 뒤에서 더 이상 잘리지 않습니다. 이전에는 기본 데이터베이스 구성이 4바이트 문자를 지원하지 않아 이모지 뒤에서 콘텐츠가 잘렸습니다.
  • 일치시킬 제품 설정으로 구성된 경우 관련 제품 규칙의 Is one of 조건이 올바르게 작동합니다. 이전에는 이 규칙이 제품을 식별하지 않았습니다.
  • 이제 CMS 페이지 그리드는 관리자 사용자에게 할당된 스토어 보기를 기반으로 페이지를 필터링합니다. 이전에는 역할 범위가 적용되지 않았습니다.
  • 로그인 페이지의 Show Password 확인란이 활성화되면 암호가 예상대로 표시됩니다.
  • 고객 엔터티(rp_token)의 암호 재설정 토큰 시스템 특성이 고객 계정을 만드는 동안 특성 유효성 검사에서 제거되었으며, 규범 유효성 검사는 결과 고객 전자 메일만 포함됩니다. 이전에는 Commerce에서 고객 레코드를 저장하지 않고 다음 오류를 표시했습니다. Something went wrong while saving the customer.
  • 이제 열을 삭제한 후 관리 페이지 및 차단 격자에 대한 편집 내용을 저장할 수 있습니다. GitHub-37525
  • 이제 회사 관리자는 상점 첫 화면에서 회사 사용자를 추가할 수 있습니다. 이전에는 관리자가 새 사용자 report.CRITICAL: Error: Call to a member function __toArray() on null in app/code/Magento/LoginAsCustomerLogging/Observer/LogSaveCustomerObserver.php:123을(를) 추가하려고 할 때 Commerce에서 이 오류를 기록했습니다.
  • 이제 고객은 다른 장치에서 암호를 재설정한 후 한 장치의 새 암호로 성공적으로 로그인할 수 있습니다.
  • 이제 관리자 고객 주소 시/도 필드에 마지막으로 저장된 값이 예상대로 유지됩니다. 이전에는 이 필드에서 값을 제거해도 Commerce에서 시/도 필드에 삭제된 값을 계속 표시했습니다. GitHub-36846
  • Adobe Commerce은 처음에 선택을 취소한 다음 새로 생성된 CMS 페이지를 선택할 때 더 이상 제한 위반 오류가 발생하지 않습니다.
  • 이제 계층 웹 사이트 루트가 새로 생성된 CMS 페이지에 올바르게 할당됩니다. 이전에는 새로 만든 CMS 페이지에서 계층 웹 사이트 루트 선택이 일치하지 않았습니다.
  • RSS Feed Top Level Category ​을(를) 사용하도록 설정한 경우 범주의 RSS 피드를 요청하는 동안 오류가 더 이상 발생하지 않습니다. 이전에는 RSS Feed Top Level Category ​을(를) 사용하도록 설정할 때 RSS 피드 범주 페이지를 탐색하면 로그 파일에서 CRITICAL Elasticsearch 오류가 발생했습니다.
  • 이제 사용자 역할을 만드는 동안 역할 범위가 변경되면 gws_store_groups에 대해 올바른 값이 저장됩니다. 이전에는 역할 범위를 All(으)로 선택한 경우 gws_store_groups 값이 사용자 생성 중에는 null로 저장되었지만 역할 편집 중에는 저장되지 않았습니다. 또한 역할 범위가 Custom(으)로 선택된 경우 gws_store_groups 값이 항상 null로 저장되었습니다.
  • 이제 Add Store Code to Urls 설정을 사용할 경우 관리자 로그인 페이지에서 관리자 암호 재설정 링크를 클릭하여 암호 재설정 페이지에 액세스할 수 있습니다. 이전에 관리자 재설정 암호 링크가 로그인 페이지 또는 404 페이지를 열었습니다.
  • 이제 관리 통계 대시보드의 날짜 범위는 구성 설정에 설정된 시간대를 기반으로 계산된 다음 데이터베이스에서 데이터를 가져오기 위해 UTC로 변환됩니다.
  • CMS 계층 필터는 저장소 보기를 필터링한 다음 관리자 Content > Hierarchy ​에서 Save ​을(를) 클릭하면 예상대로 작동합니다. 이전에는 Save ​을(를) 클릭하면 페이지가 새로 고쳐졌지만 컨텍스트가 손실되어 선택한 스토어 보기가 더 이상 표시되지 않았습니다.
  • 이제 Send invitation 단추(관리자 Marketing > Private sales > Invitation)를 클릭하면 양식 키와 함께 POST 요청이 제출되고 초대가 성공적으로 전송됩니다. 이전에는 이 단추를 클릭했을 때 HTTP POST 메서드와 양식 키가 모두 없었습니다.
  • 이제 AWS S3를 사용하여 0바이트 파일을 원격 저장소에 성공적으로 복사할 수 있습니다.
  • 이제 관리자는 스토어 ID가 웹 사이트 ID와 일치하지 않는 다른 웹 사이트에 대해 고객이 생성되면 관리자에서 새 고객 주소를 추가할 수 있습니다. 이전에는 Adobe Commerce에서 이 팝업 메시지를 표시했습니다. Something went wrong. GitHub-36582
  • 이제 CMS 블록 편집기 페이지에 올바른 위젯 block_id 값이 표시됩니다. GitHub-29644

상품권과 포장

  • 상인은 더 이상 음수 값을 가진 기프트 카드를 만들 수 없습니다.
  • 이제 setGiftOptionsOnCart 돌연변이로 인해 주문에서 선물 포장이 예상대로 제거됩니다. 이제 장바구니 수준에서 gift_wrapping_id의 값이 설정되지 않았습니다. 이전에는 장바구니 수준에서 이 값이 설정되지 않은 경우에도 주문이 완료된 후 gift_wrapping_id이(가) 이전 값으로 업데이트되었습니다.
  • 카드를 적용한 주문부터 단순 상품의 일부 환불이 처리되면 기프트 카드 계정은 예상대로 활성 상태를 유지하게 된다. 이전에는 기프트 카드 계정이 삭제되었습니다.
  • 장바구니에서 선물 메시지를 제거할 때 setGiftOptionsOnCart 돌연변이가 데이터베이스를 성공적으로 업데이트했습니다. 이전에는 데이터베이스에 메시지 세부 정보가 업데이트되지 않았고 장바구니에서 선물 메시지를 제거하지 않았습니다.
  • 선물 레지스트리 Event Information 레이블이 이제 예상대로 변환되었습니다.
  • 이제 소계가 사용자 지정 기프트 카드 금액에 대해 올바르게 계산됩니다.
  • 이제 여러 주소가 있는 체크아웃 중에 기프트 카드가 올바르게 적용됩니다. 기존에는 다자간 배송에 대해 기프트 카드 금액이 잘못 적용돼 기프트 카드 금액이 유효하지 않았다.
  • getInfoBlockHtml() 호출 동안 에뮬레이션이 완료되고 오류가 기록되지 않으면 이제 send() 호출 동안 에뮬레이션이 시작됩니다. 이전에는 system.log 파일이 다음 오류로 인해 플러시되었습니다. main.ERROR: Environment emulation nesting is not allowed. GitHub-35603
  • 이제 updateCartItems 돌연변이를 사용하여 장바구니에서 기프트 카드를 업데이트할 수 있습니다. 이전에는 이 돌연변이에 의해 장바구니에서 카드 금액만 업데이트할 수 있었습니다.
  • 선물 포장은 이제 병합된 장바구니를 기반으로 한 견적에 예상대로 포함됩니다. 이전에는 기프트 메시지가 병합되었지만 줄바꿈 선택 항목은 병합되지 않았습니다.
  • addProductsToCart 돌연변이가 장바구니에 기프트 카드를 성공적으로 추가합니다. 이전에는 이 쿼리에서 기프트 카드 받는 사람 이름을 예상했지만 대신 보낸 사람 이름이 반환되었습니다. Adobe Commerce에서 이 오류를 throw했습니다. Please specify a recipient name GitHub-36665

Google 태그 관리자

  • 이제 Google 태그 모듈이 올바른 데이터를 데이터 레이어로 푸시합니다. 이전에는 페이지 노출 횟수 데이터가 데이터 레이어에 푸시되지 않았습니다.

GraphQL

  • 구성 가능한 제품이 포함된 목록을 쿼리할 때 getCustomerWishlist 쿼리로 인해 더 이상 내부 서버 오류가 발생하지 않습니다.
  • 이제 customerCart 쿼리가 예상대로 번들 제품에 적용된 모든 할인을 반환합니다. 기존에는 묶음 상품에 적용되던 총 할인액이 0으로 돌아갔다.
  • 구성 가능한 제품이 포함된 목록을 쿼리할 때 getCustomerWishlist 쿼리로 인해 더 이상 내부 서버 오류가 발생하지 않습니다.
  • is_subscribed 플래그, 해당 확인자, 캐시 및 관련 테스트의 선언이 CustomerGraphQl 모듈에서 NewsletterGraphQl 모듈로 이동되었습니다.
  • addProductsToCart 돌연변이가 더 이상 user_errors에서 관련 없는 오류를 보고하지 않습니다. 이전에는 장바구니와 관련된 오류가 예상 작업 오류와 함께 user_errors에 포함되었습니다. GitHub-37908
  • products 쿼리 제품 필터가 이제 전체 일치 결과와 부분 일치 결과를 반환할 수 있습니다. 새 match_type(PARTIAL, FULL) 특성은 일치 유형 지정을 지원합니다. 이전에는 쿼리에서 전체 일치 항목만 반환했습니다.
  • 동시 요청으로 업데이트하는 동안 경합 조건을 방지하기 위해 addConfigurableProductsToCart 쿼리에 뮤텍스가 추가되었습니다. 이전에는 판매자가 구성 가능한 동일한 제품을 장바구니에 추가하기 위해 두 개의 병렬 요청을 보낼 때 동일한 제품 SKU를 사용하는 두 개의 개별 항목이 추가되었습니다. GitHub-37847
  • Use in Layered Navigation ​이(가) Filterable (no results)(으)로 설정된 경우 GraphQL 응답의 제품 집계에는 특성에 대해 0이 아닌 값이 포함됩니다. 이전에는 0이 아닌 값만 반환되었습니다.
  • 사용자 지정 제품 특성이 포함된 장바구니 관련 작업에 대한 setShippingAddressForEstimate 쿼리의 성능이 개선되었습니다. 이전에는 매개 변수가 변수로 전송될 때 쿼리가 모든 제품 속성을 로드했습니다.
  • 이제 products 쿼리 ConfigurableProduct.configurable_options 필드에서 하나 이상의 활성화된 제품이 있는 값만 반환합니다. 이전에는 이 필드에서 비활성화된 단순 제품을 반환했습니다.
  • GetCategories query에서 생성하는 불필요한 SQL 쿼리 수를 줄여 의 성능이 향상되었습니다.
  • 이제 GraphQL 라이브러리 구성 요소에 대한 주소 오류 처리가 예상대로 작동합니다.
  • 이제 동적 가격책정이 아니요로 설정되고 할인이 적용되면 products 쿼리가 모든 관련 상점 가격 세부 정보를 반환합니다. 기존에는 제품 가격 범위가 반환되지 않았다. GitHub-35649
  • 이제 GraphQL 트랜잭션 이름에 New Relic 로그에만 최상위 쿼리 이름이 포함됩니다. 이전에는 트랜잭션 이름에 보조 쿼리 이름도 포함되었습니다.
  • 이제 GraphQL 라이브러리 구성 요소에 대한 주소 오류 처리가 예상대로 작동합니다.
  • 제품에 대한 가시성 설정이 Catalog(으)로 설정되어 있으면 해당 제품에 대한 products 쿼리가 설정을 올바르게 확인합니다. 이전에는 제공된 모든 필터가 Visibility: Catalog 설정으로 전환되었습니다. GitHub-36591
  • 제품 가격이 세금을 포함하도록 구성된 경우 customer 쿼리는 이제 주문에 대한 세금을 포함하는 product_sale_price 필드를 반환합니다. GitHub-36946
  • 이제 DateTime 유형의 제품 특성이 제품 쿼리의 FilterRangeTypeInput 필터에 매핑됩니다. 이전에는 이러한 특성이 FilterMatchTypeInput에 매핑되었습니다. 이 변경으로 인해 DateTime 특성에 대한 쿼리 필터링에는 일치 값 대신 fromto 값이 필요합니다.
  • 이제 customer 쿼리는 스토어 ID로 필터링할 때 특정 스토어 보기와 관련된 고객 검토만 예상대로 반환합니다.
  • items.redirect_code 응답 값에 null 값이 포함되어 있으면 categories 쿼리가 더 이상 오류를 반환하지 않습니다. GitHub-36675
  • 이제 규칙 기반 관련 제품이 전체 캐시 정리 후 GraphQL 응답에서 예상대로 로드됩니다. 이전에는, 규칙 기반 일치를 담당하는 제품 EAV 속성이 storefront 제품 페이지를 다시 로드한 후 로드되었더라도 요청된 엔티티에 대해 로드되지 않았습니다.
  • 이제 암호를 재설정한 후 changeCustomerPassword 돌연변이가 예상대로 이메일을 트리거합니다.
  • urlResolverroute 쿼리는 이제 URL 다시 작성의 Target Path이(가) 절대 URL인 경우 결과를 반환합니다. 이전에는 리디렉션 데이터를 검색하는 데 urlResolver 쿼리를 사용할 때 NULL을 반환했습니다.
  • 이제 products 쿼리에서 저장소 보기가 여러 개 있는 경우 올바른 레이블을 반환합니다. GitHub-29635
  • categoryList 쿼리가 이제 번들 제품의 하위 제품에 대해 options 블록의 채워진 product 섹션을 예상대로 반환합니다. 이전에는 번들 제품 하위 제품에 대한 정보가 반환되지 않았습니다.
  • 이제 route 쿼리가 내부 서버 오류 없이 범주 및 제품에 대한 경로를 예상대로 반환합니다. GitHub-36544
  • 이제 products 쿼리는 여러 범주를 선택할 때 url_key 값을 가져옵니다.
  • 이제 product개의 쿼리가 지정된 공유 카탈로그에 할당된 제품에 대해서만 집계를 반환합니다. 이전에는 공유 카탈로그에 할당되지 않은 제품에 대한 집계 데이터가 레이어 탐색에서 표시되었습니다.
  • OptionValueProvider 클래스 get() 메서드가 이제 지정된 option_id을(를) 기반으로 특성 옵션 값을 예상대로 반환합니다. 이전에는 오류가 반환되었습니다. GitHub-35910
  • 이제 products 쿼리가 사용 가능한 모든 집계(필터)와 올바르게 번역된 레이블을 반환합니다. 이전에는 가격 및 범주 집계 레이블이 예상대로 번역되지 않았습니다. GitHub-36140
  • 이제 ProductInterface에서 related_products, upsell_productscrosssell_products을(를) 쿼리할 때 조각 ProductCard을(를) 사용할 수 있습니다. GitHub-29769
  • 이제 products 쿼리가 저장된 순서대로 관련 제품, 상향 판매 및 교차 판매 제품을 반환합니다. GitHub-36461
  • 이제 GraphQL 쿼리는 위치별로 정렬된 관련 제품 데이터를 반환합니다. GitHub-33010
  • 단일 쿼리의 범주에 대한 모든 제품 요청을 지원하는 category_url_path이(가) ProductAttributeFilterInput에 추가되었습니다. GitHub-32460
  • 유효성 검사를 처리하는 메서드 이전에 실행된 GraphQL 돌연변이에 현재 저장소를 설정하는 메서드의 오류가 수정되었습니다. GitHub-31336

이미지

  • 이제 관리 favicon 업로드 양식이 .ico 파일 형식을 지원합니다. GitHub-34858

가져오기/내보내기

  • 이제 제품 가져오기 프로세스가 올바른 구분 기호로 값을 구문 분석합니다. 이전에는 가져오기 프로세스에서 파이프("|") 연산자를 사용하여 결정된 값 구분 기호가 기본값과 같지 않을 때까지 다중 선택 값을 구문 분석했습니다. 가져오기 프로세스가 실패했습니다.
  • CSV 가져오기로 URL Key 값을 업데이트하면 이제 301 리디렉션이 자동으로 만들어집니다.
  • 이제 배송 테이블 속도가 테이블 속도 가져오기 CSV 파일의 예상대로 업데이트됩니다. 테이블 속도 업로드 파일은 비동기 구성 프로세서 cron 작업이 실행될 때까지 임시로 저장됩니다. 이 cron 작업은 파일의 새 위치를 선택하고 그에 따라 처리합니다. 이전에는 비동기 프로세서가 잘못된 위치에서 파일을 검색했기 때문에 테이블 속도가 예상대로 업데이트되지 않았습니다.
  • 이제 파일 내보내기 표에 타임스탬프와 관계없이 내보낸 모든 파일이 표시됩니다. 이전에는 그리드에 타임스탬프가 동일한 내보낸 파일이 모두 표시되지는 않았습니다. GitHub-36951
  • 이제 맞춤화 가능한 옵션이 있는 제품을 성공적으로 가져올 수 있습니다. 이전에는 가져오는 동안 옵션 데이터가 손실되었습니다. GitHub-37598
  • 내보낸 CSV 파일의 특수 문자가 Excel의 예상대로 표시됩니다. GitHub-37921
  • Customers and Addresses (single file) ​을(를) 사용하여 스톡 소스 및 고객 주소를 가져오는 중 이제 옵션이 정상적으로 완료됩니다.
  • 메모리 부족으로 인해 제품 가져오기가 더 이상 실패하지 않습니다. 이전에는 메모리 부족으로 인해 이미 약 천만 개의 제품이 포함된 데이터베이스로 많은 제품을 가져오지 못했습니다.
  • 가져올 올바른 데이터가 없으면 유효성 검사 검사에서 예상대로 가져오기 프로세스를 중지합니다. 이제 Commerce에 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(으)로 설정되었습니다.)
  • 가져오는 동안 제품 수가 더 이상 예기치 않게 변경되지 않습니다. 이제 캐시 플러시가 가져오기 프로세스 이후로 연기되었습니다.
  • 이제 예약된 가져오기 작업의 상태가 가져오기 작업의 성공 또는 실패를 정확하게 나타냅니다. 이전에는 모든 작업이 성공한 것으로 기록되었습니다.
  • 이제 Commerce은 고객 레코드를 가져오는 동안 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
  • 이제 판매자는 가져오기 데이터가 표시되는 로케일과 데이터 유효성 검사기가 이 데이터를 구문 분석하는 방법을 지정할 수 있습니다. 로케일 값을 지정하지 않으면 Adobe Commerce은 기본 구성 로케일(기본 스토어 보기가 아님)을 사용하여 데이터를 구문 분석합니다. 관리에서 가져오기 및 내보내기 프로세스는 관리자 인터페이스 로케일을 계속 사용하여 데이터를 각각 가져오고, 구문 분석하고, 형식을 지정합니다.
  • 제품을 가져오는 관리자 사용자와 다른 로케일 설정을 가진 관리자 사용자가 만든 country_of_manufacture 특성이 있는 제품을 가져오면 더 이상 유효성 검사 오류가 발생하지 않습니다. 이전에는 이 가져오기 작업으로 인해 country_of_manufacture 특성에 유효성 검사 오류가 발생할 수 있었습니다.
  • 이제 스토어 가져오기 프로세스를 통해 스톡 소스 데이터를 성공적으로 가져왔으며 이제 가져오기 프로세스가 완료되면 Commerce에 완료 알림 메시지가 표시됩니다. 이전에는 알림 메시지가 누락되었습니다.
  • 인덱서가 예약된 모드에 있는 경우 중복 인덱서 무효화가 제거되었습니다.
  • use_config_manage_stock 값이 1인 경우 내보낸 제품에 올바른 manage_stock 값이 있습니다. 이전에는 이 기본값이 올바르지 않았습니다.
  • 이제 Adobe Commerce에서 예약된 가져오기 작업 중에 이미지를 성공적으로 가져오지 못하면 예약된 가져오기 그리드에 정보 오류 메시지를 표시합니다. 이전에는 오류 메시지가 표시되지 않았습니다.
  • 제품 이미지가 누락된 경우 제품 가져오기 프로세스가 더 이상 중단되지 않습니다. 이전에는 CSV 파일을 사용하여 타사 서비스를 가져오는 동안 제품 이미지가 누락된 경우 Adobe Commerce에 다음 오류가 표시되었습니다. Maximum error count has been reached or a system error is occurred!.
  • B2B가 활성화된 배포에서 고객 그리드에서 고객 내보내기 성능이 향상되었습니다.
  • configurable_variations 열의 특성 값에 쉼표가 포함되어 있으면 제품 가져오기 프로세스에서 유효성 검사 오류가 더 이상 발생하지 않습니다.
  • 내보내기 프로세스에서 디코딩이 제외되었습니다. CSV 내보내기 파일 텍스트는 가져오기 후에도 변경되지 않습니다. 따라서 다시 가져온 후에는 설명이 변경되지 않습니다. 이전에는 HTML 태그가 제품 내보내기 및 가져오기 후에 페이지 빌더 편집기에서 제거되었습니다.
  • 환경 변수로 추가된 기본값이 아닌 구성(웹 사이트 또는 스토어 범위)은 더 이상 재귀 오류로 인해 app:config:import 프로세스를 중단하지 않습니다.
  • 저장 시 업데이트 모드의 카탈로그 검색 및 가격 인덱서는 가져오기 후 더 이상 무효화되지 않습니다. 이전에는 새 제품 및 기존 제품을 가져올 때 Elasticsearch 인덱서 문서 버전이 변경되었습니다.
  • 이제 제품 보고서를 var 디렉터리로 내보냅니다. 이전에는 이러한 보고서를 클라우드 인스턴스의 읽기 전용 디렉터리인 문서 루트 디렉터리로 내보냈습니다.
  • 다중 선택 고객 주소 필드가 비어 있으면 더 이상 내보내기 프로세스가 중단되거나 중지되지 않습니다.

색인

  • 카탈로그 규칙이 설정되지 않은 경우 catalogrule_product 인덱서의 성능이 향상되었습니다. GitHub-34784
  • 가격 인덱서 성능 문제가 해결되었습니다. 인덱서 성능이 더 이상 점차 저하되지 않습니다. 인덱서는 임시 테이블을 만드는 방법을 변경하여 인덱서 처리 속도를 높일 수 있도록 리팩터링되었습니다. 이제 시간이 더 많이 걸리는 DELETE 문에서 문제를 해결하는 대신 이러한 임시 테이블을 다시 만듭니다.
  • 가격 인덱서 성능이 개선되었습니다. 색인화 중에 실행되는 MySQL 쿼리의 실행 시간을 개선하는 가격 색인기에 색인 힌트가 추가되었습니다.
  • 이제 모든 인덱서가 동일한 색상을 사용하여 인덱서 상태를 나타냅니다. GitHub-34648
  • 일부 웹 사이트에 규칙이 할당되지 않은 배포의 카탈로그 규칙 제품 인덱서 성능이 향상되었습니다.
  • 인덱서가 Update on schedule(으)로 설정된 경우 사용자 지정 제품 형식을 생성해도 더 이상 인덱스 업데이트 cron 작업이 실패하지 않습니다. GitHub-36471
  • 카탈로그 권한 인덱싱으로 인해 상점 제품 세부 정보 페이지의 표시 문제가 해결되었습니다. 이전에는 Adobe Commerce이 인덱스 테이블을 먼저 지운 다음 전체 catalogpermissions_product 또는 catalogpermissions_category 인덱싱 프로세스 중에 다시 인덱싱했습니다. 색인 재지정이 완료될 때까지 카탈로그 권한이 상점 전면에서 예상대로 작동하지 않았습니다.
  • 고객 그리드에 새로 만든 사용자 지정 고객 특성이 포함되어 있는 경우 bin/magento indexer:reindex customer_grid이(가) 더 이상 MySQL 오류로 실패하지 않습니다. GitHub-36233
  • 이제 여러 인덱서에 대한 인덱서 모드를 변경하면(즉, 일괄 작업 인덱서 모드 변경) 현재 모드가 적용되는 모드와 다른 경우에만 인덱서의 모드가 변경됩니다. 이렇게 하면 불필요한 데이터베이스 이동을 방지하여 성능이 향상됩니다. GitHub-36823

인프라

  • 누락된 return 문을 관리자 사용 가능 컨트롤러에 추가했습니다. 이전에는 return 문이 없었고 FrontendController 클래스의 컨트롤러가 잘못 처리되었습니다. GitHub-31374
  • MySQL 8.x를 준수하도록 리팩터링된 CREATE TEMPORARY TABLE(으)로 MySQL CREATE TEMPORARY TABLE ... LIKE을(를) 대체했습니다. GitHub-37926
  • Adobe Commerce은 잘못된 HTTP 요청이 서버로 전송될 때 표시되는 오류 메시지에 더 이상 서버 루트에 대한 전체 경로를 포함하지 않습니다. 이제 문자열만 explode 메서드에 두 번째 인수로 전달됩니다.
  • restricted_classes.php이(가) Zend_Validate_File_Upload을(를) 대체했습니다. 이전에는 php.ini 에 구성된 값보다 큰 가져오기 파일을 업로드하는 동안 유효성 검사기가 충돌했습니다. GitHub-37281
  • 데이터 소스 모델에서 제공되고 설치 데이터 패치(일반적으로 타사 모듈)를 사용하여 설치된 속성 옵션을 이제 고객 세그먼트 규칙과 함께 사용할 수 있습니다. 이전에는 이 조합이 구성된 세그먼트와 일치하는 고객 목록을 반환하지 않았습니다.
  • 이제 전자 메일 템플릿 엔진이 중첩된 특정 지시문(예: {{if}}{{depend}}...{{/depend}}{{/if}})을 올바르게 처리할 수 있습니다. GitHub-36438
  • 집계 데이터가 있는 product개의 쿼리가 이제 부울 유형 제품 특성에 대해 올바른 레이블 값을 반환합니다. GitHub-29123
  • var/tmp과(와) pub/static이(가) 다른 파일 시스템에 있고 CSS Merging Enabled ​을(를) 사용하도록 설정한 경우 병합될 때 CSS 파일이 더 이상 손상되지 않습니다. 두 파일이 동일한 파일 시스템에 있는지 확인하기 위해 대상 파일과 동일한 정적 디렉토리에 임시 파일이 생성되었습니다. 따라서 이름을 바꾸는 호출은 원자적입니다. GitHub-29172
  • int에서 멤버 함수 getId()을(를) 호출할 때 발생할 수 있는 오류를 해결했습니다. 이 오류는 고객을 관리자에서 볼 때 가끔 예외를 트리거합니다.
  • 이제 디자인 테마 구성 프로세서의 배열 유형에 대해 유형 검사가 적용됩니다. GitHub-34440

Inventory management

  • 이제 제품 수량의 반환이 포함된 대변 메모 후 제품이 자동으로 재고 상태로 반환됩니다. 기존에는 상품이 품절됐으나 이 상품의 대차메모가 재고를 반품한 경우 가맹점은 상품재고 상태를 수동으로 변경해야 했다.
  • 기본 소스 항목을 다시 인덱싱하도록 중복 요청을 제거하여 비동기 모드에서 인벤토리 인덱서의 성능이 향상되었습니다.
  • 구성 가능한 제품의 상점 재고 카운트의 정확도에 영향을 주는 인벤토리 인덱서의 문제가 수정되었습니다. 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 설정이 활성화된 경우 판매자는 주문이 픽업될 준비가 되었음을 쇼핑객에게 알릴 수 있습니다. 이전에는 이 설정을 사용할 때 Commerce에 다음 오류 메시지가 표시되었습니다. Your order is not ready for pickup.
  • 판매자는 이제 구성 가능한 제품과 연관된 단순 제품이 삭제된 주문에 대해 대변 메모를 생성할 수 있습니다. 이전에는 가맹점에서 대변 메모를 만들 수 없었고 Commerce에서 TypeError 예외를 throw했습니다.
  • 이제 필터가 적용된 후 관리 그리드 소스 카운트가 유효한 레코드를 반환합니다. 이전에는 필터가 적용된 후 getSourcesCount 메서드가 항상 총 원본 수를 반환했습니다.
  • "재고 부족 상태에서 하단으로 이동" 옵션을 사용하여 제품을 정렬할 때 카테고리 페이지가 더 이상 관리 대시보드로 리디렉션되지 않습니다. SQL 조인 문을 조건문 내에 넣으면 이미 포함되지 않았음을 확인한 후에만 문제가 해결되었습니다. 이전에는 페이지가 Invalid security or form key. Please refresh the page 메시지와 함께 관리 대시보드로 리디렉션되었습니다.
  • UPDATE 작업마다 inventory_source_item 테이블의 AUTO_INCREMENT이(가) 더 이상 증가하지 않습니다. 이전에는 각 업데이트를 통해 이 테이블의 AUTO_INCREMENT이(가) 증가했으며, 결과적으로 inventory_source_item table에 새 레코드를 추가할 때 AUTO_INCREMENT 값이 범위를 벗어났습니다. 따라서 관리자 사용자가 관리자로부터 새 제품을 만들려고 할 때 다음 오류가 발생했습니다. Numeric value out of range....
  • 이제 관리자 사용자는 Inventory management을 사용하여 특정 스토어 보기 범위에 대한 관리자의 고객 장바구니에 제품을 추가할 수 있습니다. 이전에는 재고 ID가 제대로 확인되지 않았으며, 관리자 사용자가 제품을 고객 장바구니에 추가할 수 없었습니다.
  • 인벤토리와 카탈로그 간 동기화는 더 이상 Synchronize with Catalog 구성 설정을 사용하지 않습니다. 이전에는 이 설정이 활성화된 경우에만 제품이 제대로 동기화되었습니다.
  • Adobe Commerce은 쇼퍼가 배송 소스를 선택하는 동안 사용 가능한 제품 범위에 해당하는 주문에서 제품 수량을 뺄 때 페이지를 다시 로드한 후 더 이상 오류가 발생하지 않습니다.
  • 구성 가능한 제품 및 하위 제품 Stock Availability 값이 대량 재고 업데이트로 업데이트되면 이제 구성 가능한 제품 재고 상태가 올바르게 업데이트됩니다. 이전에는 일괄 업데이트를 통해 구성 가능한 제품과 해당 하위 제품을 재고로 반품할 수 없었습니다.
  • 기본 원본이 아닌 원본의 데이터 형식이 DECIMAL (12, 4)(으)로 업데이트되어 최대 8개의 정수를 지원합니다. 이는 기본 스톡에 대해 구현된 한도와 동일합니다. 이제 이 값은 모든 유형의 인벤토리 소스에 대해 최대 8자리 숫자 입력 유효성 검사를 지원하는 관리자 추가 및 편집 제품 페이지와 동기화됩니다. 이전에는 Quantity 필드(기본값이 아닌 소스의 경우)에 대한 입력이 최대 6자리까지만 지원되었습니다.
  • 이제 상점으로부터 주문된 비기본 출처가 납품용으로 처리될 때 기본 출처와 비기본 출처는 모두 제품 판매 가능 수량에 대한 올바른 정보를 표시합니다. 이전에는 Adobe Commerce에서 제품 소스에 대해 잘못된 재고 상태를 표시했습니다.
  • \Magento\Catalog\Model\Product::getIsSalable()은(는) 이제 제품 개체(\Magento\Catalog\Model\Product::getStoreId())에 정의된 범위를 기반으로 재고 상태를 반환합니다. 이전에는 getIsSalable()이(가) 제품 개체에 관계없이 현재 범위에 따라 재고 상태를 반환했습니다.

로깅

  • 로그 파일의 레코드를 보고서에 포함하도록 시스템 보고서 기능의 날짜-시간 형식을 업데이트했습니다.
  • 이제 관리 사용자는 관리자의 일괄 작업 로그 섹션에서 통합으로 생성된 일괄 작업에 대한 로그를 볼 수 있습니다.

로그인

  • 한 브라우저에서 암호를 재설정하고 다른 브라우저를 통해 로그인해도 더 이상 예외가 발생하지 않습니다. GitHub-36447
  • 고객은 이제 예상대로 계정을 활성화한 후 로그인 페이지로 리디렉션됩니다. 이전에는 고객이 자동으로 로그인되었습니다.

미디어 갤러리

  • 판매자는 이제 이름이 같지만 대/소문자가 다른 이미지(대문자와 소문자가 혼합된 이미지)를 미디어 갤러리에 업로드할 수 있습니다. 이전에는 이미지 파일 이름이 페이지 빌더에서 대소문자를 구분하지 않았으며 대소문자를 구분하는 파일 시스템에서 호스팅되었던 Commerce 미디어 스토리지에서 대소문자를 제외한 동일한 이름의 파일이 덮어쓰기되었습니다.

뉴스레터

  • 이제 Commerce은 뉴스레터 신규 구독자를 수락하기 전에 뉴스레터 구독 기능이 활성화되어 있는지 확인합니다. GitHub-33040

주문 수

  • 관리 장바구니에서 주문 항목 목록으로 이동한 제품이 이제 장바구니에서 예상대로 삭제됩니다. GitHub-37538
  • 가맹점은 이제 보상 포인트별로 일부 지급된 주문의 부분 반품에 대해 예상대로 대변 메모를 생성할 수 있다. 이전에는 판매자가 부분 반품을 생성하면 주문 상태가 마감으로 잘못 식별되고 관리 주문 페이지에 대변 메모 옵션이 표시되지 않았습니다.
  • 이제 관리 작업 로그 순환은 순환 로그 보관 빈도가 주별 또는 월별 간격으로 설정된 경우 예상대로 작동합니다. 기존에는 주별 또는 월별 간격을 설정할 때 로그가 회전하지 않았다.
  • 이제 Commerce은 부분적으로 취소된 주문에 올바른 할인 금액을 적용합니다. 이전에는 주문이 변경될 때 base_discount_cancelled 열에서 계산된 할인 금액이 잘못 계산되었습니다. 음수 값에 대한 지원이 할인 주문에 대한 송장에 추가되었습니다.
  • 이제 주문을 가져올 때 REST V1/orders 끝점이 기프트 카드를 예상대로 적용합니다. 이전에는 이 끝점의 기프트 카드 확장 속성에 대한 변경 사항이 저장되지 않았습니다.
  • 이제 Commerce은 관리자 사용자가 관리자에서 주문을 만들 때 제공된 정렬 순서를 기반으로 사용자 지정 고객 주소 속성을 정렬합니다.
  • 이제 판매자가 이 페이지에서 검색을 시작할 때 Admin Sales Order Grid 페이지가 예상대로 로드됩니다. 이전에는 판매자가 이 테이블에서 주문을 검색하려고 하면 페이지가 정지되고 Commerce에 브라우저 콘솔에 Request-URI Too Long 오류가 표시되었습니다.
  • 이제 매장 크레딧과 추가 결제 수단을 이용해 주문 금액 전액을 환불한 경우 주문 상태가 완료가 아닌 마감으로 표시됩니다. 기존에는 환불 금액이 잘못 계산돼 주문 상태가 완료로 표시됐다.
  • 데이터베이스에서 주문을 로드하는 횟수를 줄여 OrderRepository::get() 메서드의 성능이 향상되었습니다. 이전에는 이 메서드가 주문을 여러 번 로드했습니다. GitHub-36636
  • 다른 주문 품목을 환불할 수 있을 때 판매자는 합계가 0인 일부 품목이 포함된 주문에 대해 대변 메모를 생성할 수 있습니다. 기존에는 고객이 주문의 일부 품목을 100% 할인받을 경우 가맹점이 중복 환불을 할 수 없었다.
  • 이제 관리자로부터 하위 제품을 다시 주문하는 동안 하위 제품과 상위 제품 간의 링크가 주문 페이지에 표시됩니다. GitHub-37028
  • 이제 주문 페이지의 헤더 섹션에는 발송된 송장, 대변 메모 및 납품에 대한 예상 정보가 포함됩니다. GitHub-27474
  • 이제 구성 가능한 제품이 하나만 포함된 주문에 대한 대변 메모가 올바르게 생성됩니다. 이전에는 isLast() 함수가 예상대로 true을(를) 반환하지 않았습니다. GitHub-36722
  • 기본 데이터 쿼리를 최적화하여 aggregate_sales_report_bestsellers_data cron 작업의 성능을 개선했습니다.
  • Adobe Commerce은 관리자 사용자에게 고객의 웹 사이트에 대한 권한이 없는 경우 고객 잔액에 대한 오프라인 환급이 포함된 대변 메모를 만들 때 더 이상 오류를 표시하지 않습니다. 이전에는 Adobe Commerce에서 More permissions are needed to view this item 오류를 발생시켰으며 관리자가 스토어 크레딧 환불을 만들 수 없었습니다.
  • 번들 제품이 포함된 주문에 대해 부분 환불이 이루어진 경우 주문 상태가 정확합니다. 기존에는 잔여 주문이 완료되지 않았음에도 부분 환불 후 주문 상태를 완료로 기재했다. GitHub-37377
  • 관리자가 일회성 사용자 정의 가격을 사용하여 주문이 처음 생성되면 구매자는 더 이상 사용자 정의 가격을 사용하여 제품을 주문할 수 없습니다. 이전에는 주문에 사용자 지정 가격이 포함된 경우 재주문 기능이 있는 다른 주문에 대해 이 사용자 지정 가격이 적용되었습니다.
  • 구매자는 더 이상 주문 페이지에 잘못된 주문 상태를 저장할 수 없습니다. 품목이 출하될 때 주문 상태가 더 이상 완료에서 처리로 변경되지 않습니다. 이전에는 구매자가 댓글을 입력한 후 Adobe Commerce이 주문 상태를 저장하기 전에 현재 주문 상태를 확인하지 않았습니다. GitHub-36562
  • 반환할 구성 가능한 제품이 삭제되었을 때 Adobe Commerce에서 더 이상 storefront 주문 반환 페이지에 오류가 발생하지 않습니다. 이전에 Adobe Commerce에서 이 오류를 기록했습니다. report.CRITICAL: Error: Call to a member function getShipmentType() on null in magento2ee/app/code/Magento/Rma/view/frontend/templates/return/create.phtml:52.
  • 이제 판매 주문 그리드가 예상대로 모든 주문과 비동기적으로 동기화됩니다. GitHub-36562
  • 이제 주문 페이지의 고객 주문 섹션에 있는 구매 날짜별 필터 기능이 예상대로 작동합니다. 이전에는 메서드에 동일한 시간대를 제공했을 때 시간대 전환 논리에서 오류를 발생시킬 때 JavaScript 오류가 발생했습니다.
  • 이제 Adobe Commerce 대시보드에 첫 번째 로드 시 올바른 주문 통계가 표시됩니다. 이전에는 대시보드에 잘못된 주문 정보가 표시되었지만 기간이 업데이트되면 올바른 정보가 표시되었습니다.
  • 이제 관리자 사용자는 관리자에서 새 주문을 만드는 동안 스토어 보기를 선택한 후 주문 페이지에 예상대로 리디렉션됩니다.
  • 이제 GET V1/orders/<OrderID> 끝점은 단순 제품의 재고 상태에 관계없이 구성 가능한 제품과 간단한 제품 모두에 대한 정보를 순서대로 반환합니다. 관리자는 이제 선택한 항목(제품)이 재고가 있거나 판매 가능한 경우에만 주문을 할 수 있습니다. 이전에는 이 API가 재고에 있는 제품에 대한 정보만 반환했습니다.
  • 배송료에 세금이 포함되어 있고 세금 계산이 할인 후에 적용되는 경우 무료 배송이 활성화되면 대변 메모 페이지가 더 이상 충돌하지 않습니다. 이전에는 Adobe Commerce에서 Division by zero 예외를 throw했습니다. GitHub-36800
  • 주문 상태를 제공하지 않고 rest/V1/orders/{id}/comments 끝점을 사용하여 주문에 대한 댓글을 게시해도 더 이상 주문 표시에 영향을 주지 않습니다. 이전에는 주문 상태가 sales_ordersales_order_grid 테이블에서 NULL로 기록되었으며 내 주문 페이지나 관리 주문 그리드에 주문이 표시되지 않았습니다. GitHub-34180
  • 이제 포함된 ID가 주문 ID와 다를 경우 송장, 선적 및 대변 메모를 해당 주문과 함께 아카이브에서 성공적으로 다시 이동할 수 있습니다. 이전에는 주문이 아카이브로 이동한 다음 복원되면 ID 번호가 일치하지 않으면 송장, 배송, 대변 메모 레코드가 해당 주문에서 누락되었습니다. GitHub-36847

페이지 빌더

  • 이제 페이지 빌더에서 이미지 크기를 조정할 때 올바른 종횡비가 유지됩니다. GitHub-37493
  • 이제 지정된 최대 파일 크기보다 큰 이미지를 업로드하려고 하면 페이지 빌더에 필요에 따라 오류 메시지가 표시됩니다. 이전에는 Commerce에서 업로드한 이미지 파일이 지정된 최대값보다 작은 경고 팝업 메시지를 표시했습니다.
  • 이제 CMS 페이지 제품 슬라이더에 슬라이더에 포함하기 위해 선택한 하위 제품의 상위 제품이 포함됩니다. 이전에는 상위 제품이 슬라이더에서 제외되었습니다.
  • 이제 Magento_AsyncConfig 모듈이 비활성화되면 HTML 변환 콘텐츠가 예상대로 이메일 템플릿에 표시됩니다. 이전에는 이메일 템플릿에 원시 HTML만 포함되었습니다.
  • Chrome 브라우저의 페이지 빌더 저장 작업 성능이 개선되었습니다.
  • 이제 관리자 > Content > Pages ​의 페이지 빌더 옵션을 사용하여 text 요소를 사용하여 복사한 텍스트를 모든 스타일에 삽입할 수 있습니다. 이전에는 페이지 빌더에 일반 텍스트만 표시되고 스타일은 저장되지 않았습니다.
  • 관리자 사용자에게 특정 ACL이 있는 경우 페이지 빌더로 제품 콘텐츠를 편집하는 동안 CORS 오류가 더 이상 표시되지 않습니다. 이제 관리자는 제품을 저장할 수 있습니다. 이전에는 Page Builder가 제품을 저장하지 않았으므로 저장 프로세스가 중단되었습니다.
  • 이제 정확한 파일 크기 정보가 Page Builder에서 업로드한 이미지에 대한 이미지 미리 보기에 포함됩니다.
  • 이제 Page Builder 페이지 요소가 Chrome 브라우저(v112)에서 허용되는 속도로 렌더링됩니다. 이전에는 Chrome 브라우저에서 실행 중인 페이지 빌더로 컨텐츠를 저장하는 데 속도가 느렸으며 Commerce에서 브라우저 콘솔에 이 오류를 기록했습니다. [ERROR] Page Builder was rendering for 5 seconds without releasing locks.
  • 이제 Page Builder 비디오 요소 자동 재생은 요소가 원격 비디오 파일에 직접 연결되어 있을 때 iOS의 모바일 Safari 브라우저에서 예상대로 작동합니다. 이전에는 미리보기 이미지가 표시되지 않았습니다.
  • 이제 페이지 빌더가 Chrome 브라우저에서 예상대로 작동합니다. 이전에는 해당 브라우저에서 변경한 내용이 항상 저장되지는 않았습니다.
  • 제품을 통해 관리 제품 편집 페이지를 로드해도 더 이상 간헐적인 Uncaught TypeError JavaScript 오류가 발생하지 않습니다.
  • 페이지 빌더 편집기를 통해 업로드된 이미지는 이제 Content > Media Gallery ​에서 사용된 대로 태그가 지정됩니다. 이전에는 이러한 이미지가 미디어 갤러리에서 아무 곳에서도 사용되지 않음(으)로 표시되었습니다.
  • Page Builder 캐러셀에서 장바구니에 제품을 추가해도 동일한 제품을 표시하는 두 개의 다른 위젯이 있는 페이지의 항목 수량이 더 이상 복제되지 않습니다.
  • 하이퍼링크를 편집한 다음 템플릿을 저장하면 Page Builder에서 더 이상 tabindex HTML 특성을 하이퍼링크 태그 a에 추가하지 않습니다.
  • 이제 제품 위젯 및 페이지 빌더 미리 보기가 HTML 특수 문자를 제대로 처리합니다. 이전에는 제품 위젯에 & 문자가 포함된 SKU가 올바르게 표시되지 않았습니다.
  • 이제 미리 보기 모드에서 전체 콘텐츠 블록을 선택하고 업데이트할 때 Page Builder 텍스트 요소 콘텐츠가 예상대로 업데이트됩니다.
  • 이제 한 Page Builder 텍스트 편집기에서 다른 편집기로 텍스트를 복사하여 붙여넣으면 예상대로 작동합니다. 이전에는 텍스트를 붙여넣으려는 페이지가 저장되지 않았으며 Adobe Commerce에 이 콘솔 오류가 표시되었습니다. [ERROR] Page Builder was rendering for 5 seconds without releasing locks..
  • 이제 이전 버전의 페이지 빌더에서 만든 페이지 빌더 column-block 콘텐츠 형식이 올바르게 표시됩니다.
  • 관리자에서 제품을 만드는 동안 제품 메타데이터 설명에 대한 필터링이 개선되었습니다. 이전에는 페이지 빌더가 활성화되어 있으면 기본 {{name}} {{description}} 마스크를 기반으로 제품 메타데이터 설명이 생성되었습니다. 이제 기본 제품 메타 설명 마스크가 {{name}}(으)로 구성됩니다. GitHub-36107
  • 콘텐츠가 없는 동적 블록을 추가해도 더 이상 오류가 트리거되지 않습니다.

결제

  • 이제 Commerce은 이 오류가 발생할 때 순서 생성을 방지하여 PayPal에서 발생하는 502 오류를 올바르게 처리합니다. 이전에는 PayPal에서 502 오류가 발생했음에도 불구하고 주문이 계속 생성되었으며 이로 인해 Commerce 레코드와 PayPal의 레코드 간에 불일치가 발생했습니다.
  • 이제 PayPal Express 체크아웃 거래에 하위 제품 SKU 및 전체 제품 제목이 포함됩니다. 이제 Magento/Paypal/Model/Cart.php 파일에서 상위 제품 제목이 있는 하위 제품 SKU를 수집하여 하위 SKU가 있는 제품 제목을 식별합니다. GitHub-36808
  • 이제 Payflow Pro 결제 프로세스 중 Card Security Code Does Not Match 구성 설정이 예상대로 처리되었습니다. 이전에는 이 평가 프로세스가 완료되지 않아 체크아웃이 차단되었습니다.
  • 구매자에게 자격 증명 모음 토큰이 없을 때 관리자 체크아웃 워크플로에는 더 이상 자격 증명 모음 결제 방법 옵션이 나타나지 않습니다. GitHub-36273
  • 이제 PayPal 단추가 활성화되면 Venmo 단추를 숨길 수 있습니다. 이전에는 장바구니, 미니 장바구니, 제품 세부 사항 또는 체크아웃 페이지에서 Venmo 단추를 제거할 수 없었습니다.
  • 이제 구매자는 체크아웃 중에 쿠폰 코드를 적용하는 동안 배송 방법을 선택할 수 있습니다. 이전에는 이러한 조건에서 Commerce이 오류를 발생시키고 주문에 정액 배송을 할당했습니다.
  • PayPal과 PayPal 신용 결제 방법의 상점 앞에 있는 처리 문제가 해결되었습니다.
  • 로컬 결제가 활성화된 경우 이상적인 결제로 결제된 주문에 대한 대체 URL 관련 문제가 해결되었습니다.
  • 쇼핑객은 성을 추가하지 않으면 더 이상 PayPal 주문을 만들 수 없습니다.

Braintree

  • 이제 매장별로 Braintree 결제 정보가 저장되며 쇼핑객들은 자신이 쇼핑하는 매장에 저장된 카드 정보만 볼 수 있다. 기존에는 체크아웃 과정에서 모든 매장의 저장된 카드 정보가 표시됐다. GitHub-34253
  • 이제 카드 결제를 위한 보관이 비활성화될 때 Braintree 결제 방법을 사용하여 여러 주소로 배송되는 주문을 확인할 수 있습니다. GitHub-37615
  • 이제 부분적으로 송장이 발행된 주문은 상인이 Braintree 계정의 동일한 통화에 대해 두 개의 서로 다른 상인 계정 ID를 가지고 있는 배치의 올바른 계정에서 예상대로 캡처됩니다.
  • Enable Vault for Card Payments ​이(가) 활성화된 경우 Adobe CommerceBraintree 에서 지불한 주문에 대한 두 번째 부분 송장을 만들 때 더 이상 오류가 발생하지 않습니다. 이전에는 판매자가 두 번째 송장을 만들려고 할 때 Adobe Commerce에서 다음 오류가 발생했습니다. Your payment could not be taken. Please try again or use a different payment method. Payment method token is invalid.
  • 구매자가 결제 주소를 업데이트할 때 Braintree 자격 증명 모음 결제 방법 옵션이 체크아웃 워크플로에서 더 이상 자동으로 선택 해제되지 않습니다. 이전에는 구매자가 My billing and shipping address are the same 단추를 선택 취소하면 결제 방법이 선택 해제되었습니다.
  • Adobe Commerce 2.4.5-p2에서 업그레이드한 후 Braintree을 통해 PayPal에서 체크아웃할 때 발생하는 문제를 해결했습니다. GitHub-37242
  • 이제 전화 번호가 Google 결제 양식 팝업 배송 주소 필드의 주소와 함께 예상대로 렌더링됩니다. 이전에는 전화번호가 없었습니다.
  • 이제 Braintree 응답에 threeDSecureInfo/eciFlag에 대한 빈 값이 포함되어 있으면 Braintree이 성공적으로 수행됩니다. 이전에는 이 값이 비어 있을 때 체크아웃 중에 PHP 오류가 발생했습니다.
  • 미니 장바구니에서 Google Pay로 체크아웃할 때 구매자가 주문 검토 페이지에 쿠폰을 적용하면 Adobe Commerce에서 더 이상 오류가 발생하지 않습니다. 이전에는 쇼핑객이 404페이지로 리디렉션되었습니다.
  • 이제 구매자는 보이지 않는 ReCAPTCHA v2 또는 v3으로 Braintree 결제 및 Adobe Commerce 2.4.6을 사용하여 체크아웃을 완료할 수 있습니다. 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 탭의 AssignRemove 단추가 비활성화됩니다. 이전에는 관리자 사용자가 수백만 개의 등록된 제품이 포함된 카탈로그에 SKU별 제품을 추가할 수 없었습니다.
  • 많은 사용자 지정 제품 특성으로 실행할 때 addProductToCart 돌연변이의 성능이 향상되었습니다. 이전에는 이 돌연변이가 많은 제품 속성(약 1000개)으로 실행되었을 때 Commerce에서 모든 제품 속성을 로드하려고 했습니다.
  • 장바구니 규칙에서 사용하는 제품 속성을 로드할 때 발생하는 성능 문제가 해결되었습니다. 이제 활성 장바구니 규칙에 대한 제품 속성만 로드됩니다.
  • 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

reCAPT차

  • 이제 보이지 않는 reCAPTCHA v3이 체크아웃 페이지 Sign in 단추에 대해 예상대로 작동합니다. 이전에는 쇼핑객이 로그인할 수 없었고, Commerce에서 JavaScript 오류가 발생했습니다.
  • 이제 체크아웃 워크플로우의 Google reCAPTCHA가 수표, 금전 주문 및 사용자 정의 결제 방법에 대해 예상대로 작동합니다.
  • Adobe Commerce ReCAPTCHA 확인란이 로드되기 전에는 Google 양식을 더 이상 제출할 수 없습니다.
  • 이제 reCAPTCHA 위젯이 결제 페이지의 Place Order 단추보다 앞에 옵니다. 이전에는 위젯이 페이지 맨 위에 표시되었습니다.

보고서

  • 이제 기본 통화가 아닌 통화를 사용하는 스토어에서 주문을 생성할 때 주문 보고서(REPORTS > Sales > Orders)에 올바른 주문 값이 포함됩니다. 이전에는 이 보고서에 잘못된 값이 포함되었습니다. GitHub-36742
  • 판매 주문 보고서 양식의 오해 소지가 있는 정보가 명확성을 위해 수정되었습니다.
  • 이제 관리자는 [포기한 장바구니 보고서] 페이지에서 +(더하기) 기호가 포함된 전자 메일이 있는 레코드를 검색할 수 있습니다. GitHub-36560
  • 이제 GraphQL 관리자에서 New Relic을 비활성화하면 Commerce 트랜잭션 이름이 제대로 표시됩니다. GitHub-36112

리뷰

  • 보이지 않는 reCAPTCHA v3이 활성화되면 구매자는 더 이상 중복 제품 리뷰를 빠르게 제출할 수 없습니다.

보상

  • 보상 포인트 만료 이메일은 포인트가 만료된 후 더 이상 전송되지 않습니다. magento_reward_balance_warning_notificationmagento_reward_expire_points cron 작업은 유연성과 전자 메일 전송 용량을 늘리기 위해 리팩터링되었습니다. 이전에는 판매자가 이러한 cron 작업으로 생성된 많은 이메일을 단기간에 보낼 수 없었습니다. 이로 인해 시간에 민감한 알림을 전달하는 데 지연될 수 있습니다.
  • 이제 만료된 보상 포인트는 예상대로 구매자의 현재 보상 포인트 잔액에서 뺍니다.
  • 이제 보상 포인트 잔액 업데이트 이메일 알림은 현재 스토어 컨텍스트를 고려합니다. 이전에는 보상 포인트 잔액 업데이트 이메일이 기본 스토어에 대해 구성 설정을 사용했습니다.
  • 이제 보상 포인트는 대변 메모 생성 후 환불될 수 있습니다. 이전에는 가맹점이 대변 메모를 만든 후 보상 포인트를 환불할 수 없었고 주문 상태는 Closed이(가) 아닌 Completed으로 유지되었습니다.

RMA

  • 이제 나머지 POST /V1/returns 요청은 제품당 하나의 RMA를 만듭니다. 이전에는 이 요청이 유효성 검사를 무시하고 제품당 여러 RMA를 반환할 수 있었습니다.
  • 이제 Show on Storefront RMA 특성이 no(으)로 설정되면 RMA 특성이 기본 EAV 양식에 자동으로 추가됩니다. 이전에는 사용자 지정 반환 특성이 만들어지고 Show on Storefront RMA 특성이 no(으)로 설정된 경우 RMA 항목 세부 정보 팝업이 비어 있었습니다.
  • 이제 Enable RMA 특성 값이 제품 편집 페이지의 Use Config 확인란이 활성화된 경우 구성에 지정된 값과 일치합니다.
  • 이제 개별 제품 수준의 Enable RMA 특성은 저장소 RMA 설정 구성을 준수합니다. 이전에는 스토어 구성 설정이 무엇이든 제품을 추가할 때 이 설정이 기본적으로 꺼져 있었습니다.

검색 search-heading

  • 헤더의 미니 검색 프런트 엔드에 대한 자동 완성 검색 제안이 이제 예상대로 작동합니다. 이전에는 이 기능을 사용할 때 자동 완성 기능이 이 필드를 채우지 않았습니다. GitHub-37557
  • 인덱서를 추가하여 관리자 검색 막대에서 만든 쿼리의 성능이 개선되었습니다. 이전에는 search_query 테이블이 클수록 쿼리를 완료하는 데 더 오래 걸렸습니다.
  • 이제 터키어 문자가 포함된 이름에 대해 이름별 제품 알파벳 정렬이 올바르게 작동합니다.
  • 이제 Use in Search 설정이 Yes(으)로 설정된 경우에만 Use in Search Results Layered Navigation 제품 특성 속성이 표시됩니다.
  • 고급 검색에서 함께 적용하면 고급 검색 가격 및 SKU 필터가 올바르게 작동합니다. GitHub-37581
  • 빈 검색 필드에 대한 검색은 더 이상 수행되지 않습니다. 이렇게 하면 search_query 테이블의 크기가 줄어듭니다. 이전에는 잘못된 쿼리 또는 빈 검색 필드에 대한 쿼리가 대용량 데이터 집합을 반환하여 search_query 테이블의 크기가 커지고 /tmp에 문제가 발생했습니다.
  • 이제 드롭다운 사용자 지정 속성으로 카탈로그 항목을 정렬할 때 Storefront 필터가 예상대로 작동합니다.
  • 이제 검색 결과에 예상대로 속성의 검색 가중치에 따라 관련 결과가 표시됩니다.
  • 이제 관리 Stores > Attributes > Product ​에서 Search Weight 특성의 Storefront Properties 입력 필드 아래에 있는 정보 텍스트가 가능한 값을 설명합니다. GitHub-36646

배송

  • 이제 동적 가격 속성이 비활성화될 때 번들 제품을 장바구니에 추가할 때 장바구니 가격 규칙이 예상대로 작동합니다. 동적 속성이 활성화 또는 비활성화되었는지 여부에 관계없이 무료 배송 및 올바른 테이블 속도가 적용됩니다. 기존에는 예상대로 무료배송이 적용되지 않았다.
  • 이제 Commerce은 주문에 대한 부분 선적을 만든 후 예상대로 새 선적 페이지로 전환됩니다. 이전에는 부분 선적을 만든 후 Commerce에서 주문의 나머지 제품에 대한 전체 선적 페이지를 만들지 않았습니다. GitHub-38063
  • 이제 주문을 여러 주소로 배송하는 총 금액이 올바르게 계산됩니다. 이전에는 견적에 두 개 이상의 배송 주소가 포함된 경우 총 수집자가 예상대로 $shippingAssignment까지 배송하는 대신 $quote->getShippingAddress()에 제공된 주소의 배송 금액을 업데이트했습니다. GitHub-37283
  • Commerce은 관리자 사용자가 고객으로 로그인 기능을 사용한 경우 여러 배송 주소를 사용하여 체크아웃하는 동안 더 이상 예외를 throw하지 않습니다.
  • 이제 배송 레이블이 만들어진 후 패키지에 제품을 추가할 때 패키지 만들기 페이지의 제품 그리드에 제품이 올바르게 나열됩니다.
  • 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
  • street 배열의 두 번째 값이 null일 때 setShippingAddressesOnCart 돌연변이로 인해 더 이상 오류가 발생하지 않습니다. 이전에는 이 예외가 throw되었습니다. The address failed to save. Verify the address and try again. GitHub-35160

사이트 맵

  • 이제 XML 사이트 맵이 다중 스토리 배포에서 예상대로 작동합니다. 이전에는 사이트 맵에 각 저장소에 대해 할당된 기본 페이지가 포함되어 있지 않았습니다. GitHub-35001
  • 웹 사이트 id != 1 및 단일 스토어 모드가 활성화되면 판매자는 이제 제품을 만들고 저장할 수 있습니다. 이전에는 저장 작업이 다음 메시지와 함께 실패했습니다. SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails. GitHub-35009

스테이징

  • 영업 규칙에 대한 스테이징 업데이트가 스테이징 대시보드에서 더 이상 중복되지 않습니다.
  • 이제 일정 업데이트가 진행 중일 때 쇼핑객이 번들 제품을 장바구니에 추가하면 번들 제품이 제대로 업데이트됩니다. 이전에는 일정 작업이 진행 중일 때 옵션이 있는 번들 제품을 장바구니에 추가한 경우, Commerce에서 이 예외를 throw했습니다. Some of the products below do not have all the required options. Please select all required options.
  • 이제 예약 업데이트가 번들 옵션의 올바른 가격을 유지합니다. 이전에는 특정 웹 사이트 또는 스토어 조회수를 위해 이러한 가격을 0으로 변경했습니다.
  • 종료 날짜가 지정되지 않은 경우 예약된 업데이트를 업데이트해도 이전 버전의 준비된 항목이 더 이상 제거되지 않습니다. 이전에는 스테이징된 항목을 업데이트할 때 종료 날짜가 지정되지 않은 경우 항목의 롤백 버전이 제거되었습니다. Commerce에서 삭제하기 전에 오류를 제기하거나 관리자 사용자에게 경고하지 않았습니다.
  • 장바구니 가격 규칙에 대해 예약된 업데이트가 수행된 후 저장소 보기 레이블 값이 더 이상 지워지지 않습니다. 이전에는 이러한 레이블이 업데이트에 지정되지 않더라도 지워졌습니다.
  • 이제 콘텐츠 스테이징 미리 보기가 링크된 페이지에 대해 제대로 작동합니다. 이전에는 스테이징 미리 보기에서 연결된 페이지로 이동할 수 없었지만 대신 상점 페이지로 잘못 이동되었습니다.
  • 스테이징 с 업데이트를 중단해도 더 이상 나중 날짜에 할당된 예약된 업데이트가 제거되지 않습니다.
  • Google Analytics 컨텐츠 실험이 활성화된 경우 범주에 대한 예약된 업데이트를 추가하거나 편집할 때 JavaScript 오류가 더 이상 발생하지 않습니다.
  • 이제 판매자는 범주를 보거나 편집한 후 범주에 대한 기존 예약 업데이트를 성공적으로 저장할 수 있습니다. 이전에는 Adobe Commerce에서 system.log에 오류가 발생했습니다.
  • 이제 다운로드 가능한 링크는 이전에 추가된 제품이 장바구니에 있는 동안 예약된 업데이트가 적용되면 예상대로 유지됩니다. 이전에는 고객의 내 계정(내 다운로드 가능한 제품) 페이지와 관리자 주문 보기 페이지에서 다운로드 가능한 링크가 사라졌습니다.
  • 이제 제품을 활성화하는 스테이징 업데이트 후 예상대로 제품이 상점 전면으로 표시됩니다. 이전에는 카탈로그 인벤토리의 인덱서 모드가 일정에 따라 업데이트로 설정되어 있을 때 관리자가 제품을 사용할 수 있었지만 상점 카테고리에 제품이 표시되지 않았습니다. 전체 색인 재지정으로 문제가 해결되었습니다.
  • 처리할 스테이징 업데이트가 없으면 magento_bulk 테이블의 staging.synchronize_entity_period 소비자 큐가 더 이상 증가하지 않습니다. 이전에는 cron이(가) 매분마다 실행되도록 구성되면 staging.synchronize_entity_period 소비자와 관련된 새 레코드가 매분마다 이 테이블에 추가되었습니다.
  • 다른 제품을 저장하는 동안 제품에 대한 일정 변경을 만들 때 Adobe Commerce에서 더 이상 SQL 오류가 발생하지 않습니다. 이전에는 Adobe Commerce에 다음 오류가 표시되었습니다. The product with the SKU "%1" couldn't be added to the current update.

Target 규칙

  • 이제 Target 규칙이 다양한 스토어 보기에서 올바르게 작동합니다. 이전에는 관련 제품 규칙 캐시와 관련된 문제로 인해 다중 스토어 배포에 권장 제품이 표시되지 않았습니다.

세금

  • 이제 세금이 구성되어 있고 FPT가 활성화된 경우 송장에 올바른 소계가 표시됩니다.
  • Price Display Settings ​이(가) 세금을 포함하도록 설정되어 있을 때 Special Price 값을 가진 제품에 대해 사용자 지정 옵션을 선택하면 이제 Commerce에 Regular Price 값에 대한 올바른 값이 표시됩니다.
  • 이제 구성 설정에 지정된 대로 세금이 체크아웃 워크플로우 배송료에 예상대로 포함됩니다.
  • 이제 cart 쿼리 applied_taxes 응답 값에 예상대로 모든 개별 세금 규칙이 포함됩니다. 기존에는 여러 세칙이 구성됐을 때 총 세액을 돌려줬다.
  • 이제 세금 규칙을 만드는 동안 Additional Settings 섹션에 대한 축소/확장 아이콘이 예상대로 작동합니다. 이전에는 확장 아이콘만 작동했습니다. GitHub-37922
  • 이제 예상대로 세금 규칙 편집 페이지에서 세율 국가 및 지역의 값을 편집할 수 있습니다. 이전에는 해당 페이지에서 편집한 내용이 저장되지 않았습니다.
  • 장바구니 예상 영역의 세액은 이제 배송 방법을 업데이트할 때 예상대로 새로 고쳐집니다. 기존에는 쇼핑객이 체크아웃 과정에서 국가를 변경한 뒤 세율이 업데이트되지 않았다.
  • 저장소 보기 범위에서 구성 가능한 기존 제품의 새 변형을 만들 때 새로 만든 간단한 제품에 대한 tax class 값이 이제 상위 제품의 값으로 설정됩니다. 이전에는 이 값이 없음으로 설정되었습니다. 그 결과 장바구니에서 이러한 제품에 세금이 추가되지 않았고, 고객은 세금을 과소 부과받았습니다. GitHub-37180

테스트

  • 전자 메일 필드의 조기 완료로 인해 오류가 발생하지 않도록 AdminCreateOrderWithVirtualProductFromDefaultSourceWithBackorders 테스트를 개선했습니다.
  • 안정성을 개선하기 위해 StorefrontVerifyProductAfterPartialReindexOnSeveralWebsitesTest이(가) 리팩터링되었습니다. GitHub-38359
  • 검색에 사용할 특성을 명시적으로 설정하는 추가 단계를 도입하여 AdminSimpleProductwithTextandVisualSwatch 테스트를 해결했습니다.
  • SortbyTest 단위 테스트에서 오타가 수정되었습니다. GitHub-37792
  • 단위 테스트에서 존재하지 않는 클래스에 대한 참조를 제거했습니다. GitHub-37636
  • 전자 메일 필드의 조기 완료로 인해 오류가 발생하지 않도록 AdminCreateOrderWithVirtualProductFromDefaultSourceWithBackorders 테스트를 개선했습니다.
  • products 쿼리 응답에서 임의의 범주 순서를 처리하기 위해 Magento\GraphQl\Catalog\ProductSearchTest::testFilterProductsBySingleCategoryId 테스트를 리팩터링했습니다.
  • TableNameSniff의 대용량 배열에 대한 성능 문제가 해결되었습니다.
  • 선물 레지스트리 편집 기능에 대한 통합 테스트는 더 이상 기존 엔티티 ID를 사용하지 않습니다. 이제 필요한 모든 데이터를 고정장치를 통해 얻을 수 있습니다. 이전에는 \Magento\GiftRegistry\Controller\Index\EditPostTest이(가) 실패했습니다.
  • 이제 CollectionTest::testGetDateRangeFirstPart()이(가) 일광 절약 시간제를 사용합니다.
  • StorefrontDeleteItemFromRequisitionListPrintView에 대한 사용 중단 알림을 수정했습니다.

UI 프레임워크

  • 이제 이미지 업로더가 동적 행에서 예상대로 작동합니다. 이제 다국적 배열로 전송할 때 이미지가 올바르게 업로드됩니다. GitHub-37957
  • Luma 테마에서 파일 업로드 스타일이 더 이상 복제되지 않습니다. GitHub-32373
  • 이제 스트릿 필드 고객 계정 주소 편집 양식의 스트릿 필드가 올바르게 저장됩니다. 이제 이러한 필드가 양식의 지정된 키를 기준으로 올바르게 정렬됩니다. GitHub-37973
  • 선물 레지스트리 Message 텍스트 필드의 커서 동작이 수정되었습니다.
  • 제품 세부 사항 페이지에 대한 CLS(누적 레이아웃 이동) 값이 개선되었습니다. (이 지표는 페이지 레이아웃의 시각적 안정성을 정량화합니다.) GitHub-35410
  • 템플릿 렌더링 중에 발생하는 오류 메시지가 개선되었습니다. 이제 Commerce에 정보 메시지가 표시됩니다. 이전에는 PHP 오류가 발생하면 Commerce에서 HTML 누수가 표시되었습니다.
  • 이제 사용자 지정 고객 특성(유형 File attached)이 삭제된 후 업로드된 이미지에 올바르게 작동합니다. 이전에는 사용자 지정 속성을 업로드한 후 삭제한 후 다시 업로드하면 상점 첫 화면에서 저장할 수 없었습니다.
  • 달력 템플릿 파일의 구문 오류를 수정했습니다. GitHub-37725
  • 이제 관리자는 단일 스토어 모드가 활성화되면 상점 로고를 변경할 수 있습니다. 이전에는 Commerce에 기본 대체 로고가 표시되었습니다. GitHub-35952
  • Mixins 구성 값이 더 이상 비어 있지 않으며 jQuery mixin은 이제 로드 위치에 관계없이 작동합니다. 이전에는 jQuery mixin이 여러 브라우저에서 일관되게 로드되지 않았습니다.
  • 로그인 페이지의 Show Password 확인란이 활성화되면 암호가 예상대로 표시됩니다.
  • 이제 Adobe Commerce은 특별 가격이 포함된 고정 번들 제품에 대한 정확한 가격을 표시합니다.
  • storefront 바닥글 템플릿 파일의 GitHub 문제 목록 페이지에 대한 링크를 업데이트했습니다. GitHub-37214
  • 이제 최근에 본 항목 위젯에 그룹화된 제품 가격으로 올바른 세액이 표시됩니다. GitHub-35881
  • 관리자는 이제 예상대로 간단한 제품에 대해 만든 사용자 지정 가능한 옵션을 끌어서 놓을 수 있습니다. GitHub-36051
  • 이제 제품 드롭다운 속성 유형의 순서가 구성 가능한 제품 페이지의 이미지 순서와 일치합니다. GitHub-37285
  • 이제 시스템 메시지가 더 빠르게 로드됩니다. 표시되는 메시지만 로드됩니다. 이전에는 모든 메시지가 데이터베이스에서 로드되어 시간이 많이 소요되었습니다.
  • 레이아웃 XML을 통해 remove=true을(를) 설정하여 탐색 표시 노드를 제거해도 더 이상 범주 페이지의 페이지 제목이 제거되지 않습니다. 이전에는 이러한 방식으로 이동 경로를 제거하면 카테고리 페이지에서 페이지 제목이 제거되었습니다.
  • 이제 고객 등록 양식에 다중 선택 고객 특성이 포함된 경우 예상대로 로드됩니다. 이전에는 Adobe Commerce에서 이 예외를 throw했습니다. [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
  • 이제 작은 따옴표가 포함된 시작 메시지가 콘솔 오류 없이 상점 첫 화면에서 올바르게 렌더링됩니다. 이전에는 시작 메시지에 작은따옴표가 포함된 경우 상점 렌더링 중에 시작 메시지가 로드되지 않았습니다. Adobe Commerce에는 콘솔 오류도 표시되었습니다.
  • 관리 순서 페이지에서 주석 내역과 반환 사이의 보기를 빠르게 변경하려고 할 때 Adobe Commerce에서 더 이상 오류가 발생하지 않습니다. 이전에는 Adobe Commerce에 일반 오류 A technical problem with the server created an error이(가) 표시되었습니다.
  • 한 웹 사이트로 제한된 권한을 가진 관리자는 이제 all stores view 범위로 설정된 웹 사이트별 제품 특성을 업데이트할 수 있습니다.
  • 이제 제품 페이지에서 예상대로 돋보기 위젯이 로드됩니다.
  • 이제 송장, 선적 및 대변 메모 PDF 문서에서 다중 라인 사용자 정의 옵션이 제대로 렌더링됩니다. 이전에는 여러 줄 텍스트 앞에 예기치 않은 페이지 구분이 있으며 텍스트가 페이지를 초과할 경우 텍스트가 잘렸습니다.
  • 이제 관리자는 스토어 ID가 웹 사이트 ID와 일치하지 않는 다른 웹 사이트에 대해 고객이 생성되면 관리자에서 새 고객 주소를 추가할 수 있습니다. 이전에는 Adobe Commerce에서 이 팝업 메시지를 표시했습니다. Something went wrong. GitHub-36582
  • 이제 회사 관리자 전자 메일에 CMS Block URL 변수가 포함되어 있으면 회사 관리자 세부 정보가 예상대로 저장되고 관리자가 올바르게 리디렉션됩니다.
  • 이제 주문 세부 사항 페이지의 댓글 제출과 관련된 오류 메시지가 보다 유용합니다. 이전에는 쇼핑객이 주문 상태를 변경하거나 댓글 영역에 텍스트를 입력하지 않고 Submit comment ​을(를) 클릭하면 Adobe Commerce에서 다음 메시지를 표시했습니다. The comment is missing. Enter and try again.
  • 이제 일정 아이콘이 관리자 Marketing > Cart Price Rules ​의 날짜 범위 필드에 예상대로 표시됩니다. 한 필드에 대한 날짜가 선택된 이후입니다. 이전에는 한 필드에 대한 날짜를 선택한 후 달력 아이콘이 더 이상 다른 필드에 표시되지 않았고 Adobe Commerce에는 자리 표시자 텍스트가 표시되었습니다. 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
  • 제품 갤러리 전체 화면 모드에서 비디오 썸네일을 클릭하면 예상대로 비디오가 표시됩니다. 이전에는 비디오가 표시되지 않았으며 브라우저 콘솔에 JavaScript 오류가 표시되었습니다. GitHub-36456
  • 매년 자동으로 업데이트되는 저작권 줄에 변수를 추가했습니다. GitHub-36776
  • 이제 제품 페이지의 이미지 슬라이더가 모바일 보기에서 예상대로 작동합니다. 이전에는 첫 번째 이미지만 표시되었습니다. GitHub-37232

URL 재작성

  • HEAD 요소의 linkTypescrossorigin 특성을 추가했습니다.GitHub-32509
  • 이제 다중 스토어 배포에서 스토어 수준 가시성 구성을 기반으로 URL 재쓰기가 생성됩니다. 이전에는 기본 스토어 범위에서 제품 가시성이 표시되지 않음(으)로 설정된 경우 기본값이 아닌 스토어에 대해 URL 재쓰기가 생성되지 않았습니다.
  • Category::getUrl()에서 더 이상 301 리디렉션을 가져오지 않습니다. GitHub-38152
  • Commerce은 사용자 지정 저장소에 대한 누락된 URL 재쓰기를 생성할 때 더 이상 루트 범주 및 다중 스토어 설정에서 Not Visible Individually(으)로 설정된 제품에 대한 제품 URL 재쓰기를 생성하지 않습니다.
  • 이제 표준 URL 태그는 범주 URL 키 속성이 업데이트된 후 예상대로 변경 사항을 반영합니다. 이전에는 사용되지 않는 범주 URL이 사용되었으며, 이는 즉시 새 URL로의 리디렉션을 트리거했습니다.
  • 이제 카테고리에 제품이 추가될 때 모든 스토어 보기에 대해 예상대로 카테고리 제품 URL 재작성이 생성됩니다. GitHub-32910
  • 범주/제품 URL 재작성 생성 ​이 활성화된 경우 Commerce에서 제품 URL에 대한 301/302 리디렉션을 만들려고 할 때 더 이상 오류가 발생하지 않습니다. 제품을 만들고 카테고리에 할당하면 자동화된 URL 재작이 생성됩니다. 하나는 직접 URL에 대한 것이고 다른 하나는 카테고리 경로를 통해 제품에 대한 것입니다. 새 제품 URL 재작성을 만들 때 제품, 카테고리 및 스토어 간 상관 관계를 확인합니다. 이제 이 검사는 상관 관계가 있는 엔티티 속성(범주 및 제품)을 기반으로 합니다. 이전에는 기존 URL 재작성에 대해 이 검사를 수행했습니다.
  • 이제 CSV 파일에서 새 카테고리를 가져올 때 모든 스토어 보기에 대해 카테고리 URL 재쓰기가 생성됩니다.
  • 제품 URL 접미사 및 범주 URL 접미사 구성이 이제 url_rewrite 테이블의 접미사와 일치합니다. 이전에는 URL 접미사 구성을 업데이트할 때 경합 조건이 발생했으며, 구성된 URL 접미사와 url_rewrite 테이블이 일치하지 않았습니다.
  • 이제 Adobe Commerce은 범주 URL 재작성을 만들 때 모든 수준에서 범주 트리를 렌더링합니다. 이전에는 처음 세 단계의 범주만 표시되었습니다. GitHub-36973
  • 하위 노드가 하나인 새로 만든 CMS 페이지가 이제 마케팅 필터 표(Marketing > URL rewrites)에 포함됩니다. 이전에는 해당 CMS 페이지에 대해 URL 재쓰기가 생성되지 않았습니다.
  • 이제 범주 URL 재작성은 새 범주를 가져오는 동안 CSV 파일에 표시됩니다.
  • 이제 URL 재작성이 없는 다중 스토어 CMS 페이지가 예상대로 전달됩니다. 이전에는 URL 재작성 없이 요청된 다중 스토어 CMS 페이지가 스토어 홈 페이지로 리디렉션되었지만 원래 CMS 페이지는 리디렉션되지 않았습니다.

Visual Merchandiser

  • 이제 Visual Merchandiser 규칙에 Categories 특성을 사용할 수 있습니다. 이전에는 Adobe Commerce에서 이 예외를 throw했습니다. Something went wrong while saving the category.

웹 API 프레임워크

  • Callback URLIdentity link URL 필드가 비어 있는 경우 Commerce에서 더 이상 관리자 System > Extensions > Integrations ​에 Integration not secure 경고를 표시하지 않습니다. GitHub-36407
  • taxes, itemized_taxesadditional_itemized_taxes 확장 특성이 추가됨 Magento\Sales\Api\Data\OrderInterface. 이러한 속성을 사용하면 Order REST 호출을 통해 적용된 세금을 절약할 수 있습니다.
  • 이제 계층 가격 REST API는 소수점 이하 수량을 지원합니다. 이전에는 이 API가 Use Decimal Quantity 설정을 활성화한 경우에도 소수점 이하 자릿수를 허용하지 않았습니다.
  • 보류 중인 주문 상태에 댓글을 추가하려고 할 때 REST V1/orders/{id}/comments 끝점이 더 이상 주문 상태를 변경하지 않습니다. 이제 유익한 오류가 표시됩니다. 이전에는 댓글을 추가할 때 이 엔드포인트가 주문 상태를 변경했습니다.
  • REST API GETPOST 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 필드가 REST V1/configurable-products/sku/children 끝점에 추가되었습니다. 이전에는 이 함수에 media_gallery_entries을(를) 저장하고 표시하는 데 필요한 코드가 없습니다. GitHub-37607
  • 이제 REST V1/carts/mine/estimate-shipping-methods 메서드가 모든 수준의 페이로드 필드 데이터를 확인하고 잘못된 데이터에 대해 400 HTTP 코드를 반환합니다. 이전에는 API 페이로드의 첫 번째 수준만 확인되었으며, 페이로드의 확인되지 않은 수준에서 잘못된 데이터가 반환되는 경우 Commerce에서 500 상태 코드가 반환되었습니다.
  • 계층 가격과 다른 속성 세트로 제품을 업데이트하는 비동기 대량 REST API 작업이 이제 성공적으로 완료되었습니다. 이전에는 다른 특성 집합이 있는 제품을 이러한 방식으로 업데이트할 수 없었습니다. Commerce에 다음 오류가 표시되었습니다. The product was unable to be saved. Please try again.
  • 이제 계층 가격을 만드는 동안 잘못된 고객 그룹 이름이 사용되면 POST /V1/products/tier-prices 끝점이 더 자세한 오류 메시지를 반환합니다. 이전에는 Adobe Commerce에서 다음과 같은 오류를 반환했습니다. 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를 기본값으로 재설정했습니다.
  • 이제 Bulk API를 사용하여 만든 고객은 할당된 웹 사이트에 구성된 언어로 고객 등록 이메일을 받습니다. 이전에는 모든 이메일이 고객이 할당된 웹 사이트의 로케일이 아닌 기본 로케일로 전송되었습니다.
  • Allow Guest Checkout ​이(가) 비활성화되어 있으면 POST V1/guest-carts 호출에서 더 이상 게스트 주문을 전송하지 않습니다.
  • 이제 AsyncOrder이(가) 활성화되지 않은 경우 Received 상태의 관리자에서 주문을 열 수 있습니다. 이전에는 주문 상태가 POST V1/orders에 의해 변경된 경우 책임자로부터 주문 세부 사항 페이지를 열 수 없었습니다.
  • 이제 Adobe Commerce에서 GET V1/products/sku/media 제품 미디어 API 응답에 content 특성(base64 이미지 코드)을 성공적으로 반환합니다. content 특성은 이전에 응답에 나타나지 않았습니다.

위시리스트

  • 이제 Commerce은 구매자가 동일한 항목을 위시리스트에 여러 번 추가하려고 할 때 항목이 이미 위시리스트에 추가되었음을 나타내는 메시지를 표시합니다. 이전에는 이러한 조건에서 Commerce이 위시리스트에서 제품 수량을 증가했습니다.
  • 이제 Adobe Commerce은 업로드해야 하는 사용자 정의 가능 옵션 파일이 있는 제품을 위시리스트에 성공적으로 추가했습니다. 이전에는 Commerce이 위시리스트에 하나가 아닌 두 개의 제품을 추가했습니다. GitHub-37437

시스템 요구 사항

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

설치 및 업그레이드 지침

작성기를 사용하여 Adobe Commerce 2.4.7을 설치할 수 있습니다.

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