Adobe Commerce 2.4.4 릴리스 노트

Adobe Commerce 2.4.4에서는 PHP 8.1에 대한 지원을 도입했습니다. 모든 프로젝트 라이브러리 및 종속성이 PHP 8.1과의 호환성을 위해 업데이트되었습니다. Core Composer 종속성 및 타사 라이브러리도 PHP 8.1과 호환되는 최신 버전으로 업그레이드되었습니다. 이 릴리스는 OpenSearch 1.2에 대한 지원도 제공합니다.

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

NOTE
2.4.4 프레임워크를 PHP 8.1과 호환되도록 만드는 데 크게 기여한 파트너 Atwix에게 감사드립니다.
NOTE
Adobe Commerce 릴리스에는 이전 버전과 호환 불가능한 변경 사항(BIC)이 포함될 수 있습니다. 이전 버전과 호환되지 않는 변경 내용을 검토하려면 BIC 참조를 참조하십시오. 이전 버전과 호환되지 않는 주요 문제는 BIC 하이라이트에 설명되어 있습니다. 일부 릴리스에서는 주요 BIC가 제공되지 않습니다.

AC-3022.patch을(를) 적용하여 DHL을 배송 운송업체로 계속 제공

DHL은 스키마 버전 6.2를 도입했으며 조만간 스키마 버전 6.0을 더 이상 사용하지 않을 예정입니다. DHL 통합을 지원하는 Adobe Commerce 2.4.4 및 이전 버전은 버전 6.0만 지원합니다. 이러한 릴리스를 배포하는 판매자는 가능한 한 빨리 AC-3022.patch을(를) 적용하여 DHL을 운송 회사로 계속 제공해야 합니다. 패치 다운로드 및 설치에 대한 자세한 내용은 DHL을 배송업체로 계속 제공하려면 패치 적용 기술 자료 문서를 참조하십시오.

기타 릴리스 정보

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

NOTE
Braintree을 제외한 모든 공급업체 번들 확장은 Adobe Commerce 2.4.4에서 제거되었습니다.
NOTE
Composer 2.2에서는 플러그인이 실행되기 전에 판매자가 composer.json 파일에서 신뢰할 수 있는 플러그인을 식별해야 하는 보안 기능을 도입했습니다. 현재 composer.json 파일에 포함되어 있지만 신뢰할 수 있는 것으로 표시되지 않은 플러그인이 자동으로 설치됩니다. 그러나 2022년 7월부터 Composer는 명시적으로 허용되지 않는 한 플러그인을 로드하지 않습니다. 플러그 인 로드를 명시적으로 허용하도록 composer.json 파일을 수정하는 방법에 대한 지침은 Adobe Commerce 2.4.4 기술 자료로 업그레이드할 때 발생하는 작성기 플러그인 문제를 참조하십시오.

이 릴리스에 포함된 핫픽스

Adobe Commerce 2.4.4에는 Adobe Commerce 및 Magento Open Source 2.4.3, 2.4.3-p1, 2.3.7-p2에 제공된 다음 핫픽스에서 해결된 모든 문제가 해결되었습니다.

  • MDVA-43395_EE_2.4.3-p1_COMPOSER_v1.patchMDVA-43443_EE_2.4.3-p1_COMPOSER_v1.patch이(가) 해결한 취약성이 이 릴리스에서 해결되었습니다.

  • AC-384_Fix_Incompatible_PHP_Method__2.4.3_ce.patch. 이 패치는 업그레이드 중에 발생한 치명적인 PHP 오류를 해결합니다. Adobe Commerce 업그레이드 2.4.3, 2.3.7-p1 PHP 치명적 오류 핫픽스 기술 자료 문서를 참조하십시오.

2.4.4를 설치한 후 이 핫픽스 적용

Adobe Commerce 2.4.4를 설치한 후에 다음 패치를 적용하는 것이 좋습니다.

  • braintree-disabled-partial-capture-for-applepay-googlepay.patch. 가맹점은 Apple 페이로 결제한 주문의 일부 환급금을 Braintree으로 제출할 수 없다. 판매자가 주문 송장의 부분 환불을 위해 대변 메모를 만들려고 할 때 환불 수량 필드를 편집할 수 없습니다. 이 핫픽스는 해당 문제를 해결합니다. Adobe Commerce 2.4.4: 부분 송장을 만들 수 없음 기술 자료 문서를 참조하십시오.

Adobe Commerce 2.4.4의 특징

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

향상된 보안 기능

이 릴리스에는 한 가지 보안 수정 사항과 플랫폼 보안 개선 사항이 포함되어 있습니다. 이 보안 수정 사항은 Adobe Commerce 2.4.3-p2 및 Adobe Commerce 2.3.7-p3로 백포트되었습니다.

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

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

이러한 고정 문제에 대한 최신 논의는 Adobe 보안 게시판을 참조하십시오.

추가적인 보안 개선 사항

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

  • 이메일 변수 사용은 보다 엄격한 변수 구문을 위해 보안 위험 완화의 일부로 2.3.4에서 더 이상 사용되지 않습니다. 이러한 기존 동작은 이러한 보안 위험 완화의 결과로 이번 릴리스에서 완전히 제거되었습니다.

    따라서 Adobe Commerce 2.4.4 또는 Magento Open Source 2.4.4로 업그레이드한 후 이전 버전의 Adobe Commerce에서 작동한 이메일 또는 뉴스레터 템플릿이 제대로 작동하지 않을 수 있습니다. 영향을 받는 템플릿에는 관리자 무시, 테마, 하위 테마, 사용자 지정 모듈 또는 타사 확장의 템플릿이 포함됩니다. 호환성 업그레이드 도구를 사용하여 더 이상 사용되지 않는 사용을 해결한 후에도 배포에 영향을 줄 수 있습니다. 영향을 받는 템플릿 마이그레이션에 대한 잠재적 영향 및 지침에 대한 자세한 내용은 사용자 지정 전자 메일 템플릿 마이그레이션을 참조하십시오.

  • 통합 토큰은 더 이상 API Bearer 토큰 인증에 사용할 수 없습니다. 이전에는 통합 토큰을 토큰 기반 인증을 위한 독립 키로 사용할 수 있었습니다. 그러나 만료되지 않는 액세스 토큰의 보안 문제로 인해 이 동작은 기본적으로 비활성화되었습니다. 이전 동작은 명령줄 또는 관리자를 통해 활성화할 수 있습니다. 토큰 기반 인증을 참조하십시오.

  • 세션 ID는 더 이상 데이터베이스에 저장되지 않습니다.

  • 이제 OAuth 액세스 토큰 및 암호 재설정 토큰은 데이터베이스에 저장될 때 암호화됩니다.

  • 영숫자가 아닌 파일 확장자의 업로드를 방지하기 위해 유효성 검사가 강화되었습니다.

  • 쿠폰 코드에 reCAPTCHA 지원이 추가되었습니다.

  • 이제 Adobe Commerce이 프로덕션 모드에 있으면 Swagger가 기본적으로 비활성화됩니다.

  • 이제 Adobe Commerce 상점 첫 화면에서 HTTPS가 기본적으로 활성화됩니다. Storefront에서 보안 URL 사용Admin에서 보안 URL 사용 설정은 기본적으로 활성화되어 있으며, 이제 모든 기본 제공 쿠키가 보안으로 설정됩니다.

  • 이제 모든 Adobe Commerce 설치에 종속성 혼동 플러그인이 필요합니다. 이전에는 이 플러그인이 작성기 기반 설치에만 필요했습니다. 이제 신뢰할 수 있는 버전을 허용합니다. 판매자는 이 플러그인에 설정된 특정 Composer 설치를 금지하는 제약 조건을 우회할 수 있습니다. 신뢰할 수 있는 버전에 대해 제한 사항을 생략할 수 있으며 이제 설치를 계속하기 전에 Adobe Commerce에 경고가 표시됩니다.

  • 이제 개발자는 엔드포인트별로 Adobe Commerce RESTful 엔드포인트에서 허용하는 배열 크기에 대한 제한을 구성할 수 있습니다. API 보안을 참조하십시오.

  • 사용자가 웹 API를 통해 시스템 전체에서 요청할 수 있는 리소스의 크기 및 수를 제한하고 개별 모듈의 기본값을 재정의하기 위한 메커니즘을 추가했습니다. MC-43048__set_rate_limits__2.4.3.patch이(가) 해결한 문제를 해결합니다. API 보안을 참조하십시오.

플랫폼 개선 사항

Adobe Commerce 2.4.4는 이제 PHP 8.1을 지원합니다. 모든 프로젝트 라이브러리 및 종속성이 PHP 8.1과의 호환성을 위해 업데이트되었습니다. 추가적인 플랫폼 개선 사항은 다음과 같습니다.

  • Adobe Commerce 2.4.4는 Elasticsearch 7.16 및 OpenSearch 1.2를 지원합니다. 온-프레미스에 호스팅된 배포를 사용하는 Adobe Commerce 판매자는 두 솔루션 중 하나를 사용할 수 있습니다. 그러나 이제 OpenSearch가 클라우드에서 호스팅되는 Adobe Commerce 2.4.4 배포의 기본 검색 엔진입니다. 버전 2.4.4로 업그레이드하는 클라우드 배포를 사용하는 모든 고객은 OpenSearch를 사용해야 합니다. Cloud 2.4.4에서 Adobe Commerce OpenSearch로 전환을 참조하십시오.

  • JQuery 라이브러리가 버전 3.6으로 업그레이드되었습니다. jquery-ui 라이브러리가 버전 1.13.0으로 업그레이드되었습니다. 다른 여러 JavaScript 라이브러리가 최신 버전으로 업데이트되었습니다.

  • 이제 TinyMCE 5.8.1이 지원됩니다. TinyMCE 4가 코드베이스에서 제거되었습니다.

  • RequireJS 라이브러리가 최신 버전(v2.3.6)으로 업그레이드되었습니다. GitHub-33672

  • PHPUnit가 최신 버전(9.5.x)으로 업그레이드되었습니다. 테스트 및 테스트 프레임워크가 새 버전과 호환되도록 업데이트되었습니다.

  • 대부분의 Laminas 종속성은 PHP 8.1과 호환되는 최신 버전으로 업그레이드되었습니다. 종속성 수를 줄이기 위해 코드 베이스에서 세 개의 Laminas 종속성을 제거했습니다.

jQuery UI 업그레이드

jQuery UI가 최신 버전(v1.13.0)으로 업그레이드되었습니다. 다음 v1.10.0 jQuery 구성 요소가 제거되었습니다.

  • 탭에 대한 ajaxOptionscache 옵션. 을 참조하세요.

  • .zIndex(). jQuery UI v1.12.1에는 .zIndex()의 사용을 지원하는 jquery/z-index.js이(가) 포함되어 있습니다. UI 코어를 참조하십시오.

  • 위젯 이름에 대한 데이터 폴백. .data() 키의 전체 이름을 사용해야 합니다.

  • 위젯에서 ui-corner-all과(와) 같은 클래스를 하드 코딩하는 중입니다.

향상된 성능 및 확장성

Adobe Commerce 성능 향상으로 처리량이 많은 주문 처리 및 메시지 대기열 최적화가 향상되었습니다. 이 릴리스에 도입된 비동기 주문 기능은 시간당 약 60,000건의 주문 생성을 지원합니다. 이전 버전의 Adobe Commerce은 시간당 약 10,000건의 주문 처리를 지원했으며 이로 인해 플래시 판매에 병목 현상이 발생할 수 있습니다. 새로운 다중 소비자 기능은 단일 클라우드 인스턴스에서 메시지 큐 소비자 수 확장을 지원하고 시간당 처리된 주문 수를 증가시킵니다.

이번 릴리스의 성능 개선 사항:

  • AsyncOrder 기능은 동기식 실행이 제공하는 것보다 빠른 주문 배치를 지원합니다. AsyncOrder가 활성화되면 주문 배치가 백그라운드에서 실행되는 반면 쇼핑객은 상점에서 다른 작업을 완료합니다.

  • 새로운 장바구니 로드 시 인벤토리 확인 사용 구성 옵션은 장바구니에서 제품을 로드할 때 전환 가능한 인벤토리 확인을 제공합니다. 기본적으로 활성화되어 있습니다. 이 옵션을 사용하지 않으면 Adobe Commerce에서 견적이 로드될 때 인벤토리 검사를 건너뜁니다. 이렇게 하면 특히 많은 항목을 포함하는 카트의 체크아웃 속도가 빨라집니다.

  • multiple_processes 구성 옵션은 여러 프로세스에서 병렬 소비자 실행을 지원합니다. 이전에는 필요한 경우 cron에서 단일 소비자를 실행했습니다. 여러 소비자를 실행하여 프로세스를 병렬로 실행하면 작업 실행 속도를 향상시킬 수 있습니다. 이 기능을 사용하려면 multiple_processes을(를) app/etc/env.php 파일에 추가하십시오.

  • 입력 변수 볼륨을 지원하기 위해 php.ini 파일에서 max_input_vars에 의해 설정된 메모리 제한을 늘려 구성 가능한 제품이 750개 이상 들어 있는 장바구니에 대한 장바구니 작업을 개선했습니다.

  • 총 계산을 연기하여 체크아웃 중 판매 규칙 처리의 최적화. 일반적으로 판매 규칙 처리는 쇼핑객이 장바구니에 제품을 추가하거나, 제품 수량을 업데이트하거나, 주문 단추를 클릭할 때마다 발생합니다. 판매자는 env.php 파일에서 checkout/deferred_total_calculating 변수를 설정하여 이 지연을 사용하도록 설정할 수 있습니다. 또는 bin/magento setup:config:set --deferred-total-calculating 1|0을(를) 실행할 수 있습니다.

  • 비동기 주문 배치 중 장바구니 가격 규칙의 영향을 받는 주문에 대한 유효성 검사 프로세스 개선 사항.

높은 처리량의 주문 처리를 참조하십시오.

GraphQL

이번 릴리스에는 다음과 같은 GraphQL 개선 사항이 포함됩니다.

  • 협상 가능한 견적에 대한 GraphQL 적용 범위 완료. 이제 B2B 회사 사용자는 GraphQL을 사용하여 협상 가능한 견적과 관련된 모든 작업을 완료할 수 있습니다. 이 API의 이전 버전은 협상 플로우를 지원하지만 체크아웃을 지원하지 않습니다.

새로운 돌연변이

  • assignCustomerToGuestCart 돌연변이

  • placeNegotiableQuoteOrder 돌연변이

  • setNegotiableQuoteBillingAddress 돌연변이

  • setNegotiableQuotePaymentMethod 돌연변이

  • setNegotiableQuoteShippingMethods 돌연변이

  • setNegotiableQuoteShippingAddress 돌연변이

  • 성능 개선:

    • GraphQL 장바구니 작업의 성능이 향상되었습니다. 이제 GraphQL 요청 중에 collectQuoteTotals() 메서드가 한 번만 호출되므로 응답 시간이 줄어듭니다.

    • GraphQL 요청이 캐시되는 방식을 변경하여 Storefront 성능이 개선되었습니다. Fastly 및 Vannish는 이제 auth개의 토큰으로 전송된 GraphQL 요청을 캐시합니다.

  • 새 Storefront 관련 관리자 구성 설정. 이제 storeConfig 쿼리가 제로 소계 체크아웃 및 수표/주문 결제 방법에 대한 구성 설정을 반환합니다.

  • 코어 GraphQL 라이브러리를 업데이트했습니다. 코어 GraphQL이 작동할 수 있도록 해주는 webonyx 라이브러리가 ^14.9 버전으로 업그레이드되었습니다.

  • 다중 사이트 및 다국어 스토어가 있는 GraphQL의 번역 문제를 해결했습니다. 이제 GraphQL 해결자가 예상대로 스토어 범위를 기반으로 번역된 문자열을 반환합니다.

  • 이제 GraphQL은 디버깅에 도움이 될 수 있는 설명 트랜잭션 이름을 New Relic에 제공합니다. GitHub-30915

이러한 개선 사항에 대한 자세한 내용은 GraphQL 개발자 안내서를 참조하십시오.

B2B

이 릴리스에는 여러 버그 수정이 포함됩니다. B2B 릴리스 정보를 참조하세요.

공급업체가 번들로 제공하는 확장

Braintree을(를) 제외하고 모든 공급업체 번들 확장은 Adobe Commerce 2.4.4 코드 기반에서 제거되었습니다. 판매자는 Commerce Marketplace에서 사용할 수 있는 공식 확장으로 마이그레이션해야 합니다.

Amazon 결제

dotdigital

클라나

꼭짓점

YotPo

PWA Studio

PWA Studio v.12.3.0은 Adobe Commerce 2.4.4와 호환됩니다. 여기에는 reCaptcha, Page Builder 콘텐츠 최적화 및 개인화된 콘텐츠에 대한 지원이 포함됩니다. 개선 사항 및 버그 수정에 대한 자세한 내용은 PWA Studio 릴리스를 참조하십시오. PWA Studio 버전 및 호환 가능한 Adobe Commerce 핵심 버전 목록은 버전 호환성을 참조하십시오.

PayPal 결제 개선 사항

  • 이제 Venmo 결제 옵션이 지원됩니다.

  • 가맹점의 위치가 아닌 쇼핑객 위치를 기반으로 나중에 결제하기 옵션이 추가됐다.

  • 상인들은 이제 선택한 국가에서 쇼핑객 경험을 테스트할 때 쇼핑객 국가를 설정할 수 있습니다. 기존에는 해당 가맹점이 소재한 국가에 대해서만 검사를 하도록 제한했다. 이 변경 사항은 샌드박스 모드에서만 유효합니다.

  • 이제 체크아웃 페이지의 메시징에는 나중에 결제를 사용할 때 결제할 것으로 예상되는 금액과 금액에 대한 정확한 메시지가 표시됩니다.

라이브 검색

Live Search는 이제 PHP 8.1을 지원합니다.

업데이트된 Live Search 설치 중에 새 Magento_ElasticsearchCatalogPermissionsGraphQl 모듈을 사용할 수 없습니다. 이러한 기능을 활용하려면 기존 라이브 검색 설치를 라이브 검색 2.0.0으로 업그레이드해야 합니다. 자세한 내용은 라이브 검색 릴리스 정보를 참조하세요.

접근성 업데이트

이 릴리스는 표준 접근성 지침에 대한 적합성을 높입니다. 이러한 개선 사항은 시각 장애가 있거나 언어, 인지 및 학습 능력이 제한된 사용자의 경험을 개선합니다. 화면 Reader 도구 성능도 향상되었습니다.

액세스 가능성이 개선되었습니다.

  • 입력에 대한 텍스트 및 정확하고 작업 중심적이며 표시되는 레이블이 있는 툴팁 링크
  • 이제 편집 버튼에 고유 텍스트가 있습니다.
  • 이제 관리 버튼은 AA 표준을 준수하는 고유하고, 액세스 가능하며, 설명적인 목적을 갖습니다
  • 의미를 전달하는 아이콘 이미지가 이제 텍스트 대체 요소를 제공합니다.
  • 관리 버튼 및 양식 필드의 대비를 인접 색상의 대비 비율 3:1 이상으로 개선했습니다.

페이지 빌더

  • 이제 가맹점은 이미지(이미지, 배너, 슬라이드)에 대체 텍스트(alt_text)를 추가하여 콘텐츠 접근성을 향상시킬 수 있습니다. GitHub-746

해결된 문제

Adobe Commerce 2.4.4 코어 코드에서 수백 개의 문제를 해결하고 있습니다. 이러한 해결된 문제의 하위 세트는 아래에 설명되어 있습니다.

설치, 업그레이드, 배포

  • 이제 Adobe Commerce은 예상대로 빌드 로그 파일에 정적 콘텐츠 배포 오류를 기록합니다.
  • 데이터 패치는 더 이상 테이블의 고유 제약 조건을 무시하고 중복 값을 MySQL 데이터베이스 테이블에 삽입할 수 없습니다. 이전에는 패치가 중복 값을 삽입하여 데이터베이스를 손상시킬 수 있었습니다.
  • 판매자는 이제 Klarna를 사용하여 Adobe Commerce 2.4.2 배포에서 Adobe Commerce 2.4.3으로 성공적으로 업그레이드할 수 있습니다. GitHub-33760
  • 이제 명령줄에서 사이트 맵 생성기 구성을 변경할 수 있습니다. 이전에는 관리자 Import failed: Notice: Trying to access array offset on value of type null in app/code/Magento/Cron/Model/Config/Backend/Sitemap.php on line 78 외부에서 사이트 맵 구성을 변경하려고 할 때 Adobe Commerce에 이 오류가 표시되었습니다. GitHub-31428
  • config.php에서 time 값을 업데이트할 때 이제 bin/magento app:config:import 명령이 오류 없이 실행됩니다. 이전에는 수동으로 편집(즉, 관리자를 사용하지 않음)하여 제품 경고 구성을 변경하면 오류가 발생했습니다.

접근성

  • 장바구니 및 체크아웃 페이지에서 탐색 시 발생하는 접근성 오류가 해결되었습니다. GitHub-34483
  • 이제 화면 판독기에서 제품 페이지의 모든 관련 양식 요소를 읽을 수 있습니다.
  • 저시력 사용자의 가독성을 개선하기 위해 상점 전체에서 이미지 삭제 및 이동 아이콘 버튼의 대비가 개선되었습니다.
  • 제품 인터페이스 전체에서 검색을 실행하는 데 사용되는 돋보기 아이콘에 액세스 가능한 이름과 텍스트 대체 요소가 할당되었습니다.
  • 이제 Tab 키를 사용하여 리치 텍스트 편집기 도구 모음에 액세스할 수 있습니다.
  • 이제 이 항목에 무게가 있습니다 카탈로그 > 제품 세부 정보 페이지의 선택 입력에 표시 레이블과 액세스 가능한 이름이 있습니다.
  • 이제 컨트롤 이름에 페이지당 항목 수 드롭다운에 대한 표시 레이블 텍스트가 포함됩니다.
  • 이제 테이블이 축소될 때 카탈로그 > 제품 세부 정보 페이지의 테이블 컨트롤에 표시되는 레이블과 액세스 가능한 이름이 있습니다.
  • 이제 제품 테이블의 편집 링크에 고유하고 의미 있는 링크 텍스트가 있습니다.
  • 이제 도구 설명을 확장하는 트리거에서 텍스트 이름을 제공합니다.
  • 이제 상점 전면의 버튼에는 고유하고 설명적인 액세스 가능한 이름이 있습니다. 이전에는 텍스트 단추와 아래쪽 화살표 아이콘 단추가 있는 분할 단추의 액세스 가능한 이름이 같았습니다.
  • 저시력 사용자의 가독성을 개선하기 위해 상점 전체에서 이미지 삭제 및 이동 아이콘 버튼의 대비가 개선되었습니다.
  • 판매자가 검색 엔진 최적화 아코디언에 대한 입력을 편집할 때 표시되는 연필 아이콘에 텍스트 대체 요소가 추가되었습니다.
  • 제품 인터페이스 전체에서 검색을 실행하는 데 사용되는 돋보기 아이콘에 액세스 가능한 이름과 텍스트 대체 요소가 할당되었습니다.
  • 이제 제품 페이지 새 보기 텍스트 입력 필드에 액세스 가능한 이름이 있습니다.
  • 이제 이 항목에 무게가 있습니다 카탈로그 > 제품 세부 정보 페이지의 선택 입력에 표시 레이블과 액세스 가능한 이름이 있습니다.

관리자 GWS

  • 이제 제한된 권한이 있는 관리자는 예상대로 반환을 만들 수 있습니다.

백엔드

  • 이제 관리자는 사용자 지정 관리자 경로가 구성되고 비밀 키가 활성화된 배포의 관리자에 로그인할 수 있습니다. 이전에는 Adobe Commerce에 다음 오류가 표시되었습니다. Invalid security or form key. Please refresh the page.
  • 다중 스토어 계층 구조가 변경될 때 Adobe Commerce이 더 이상 모든 스토어 보기 범위로 리디렉션되지 않습니다. 이전에는 계층 구조가 저장된 후 쇼핑객이 잘못된 스토어 URL로 리디렉션되고, 다중 스토어 배포에서 모든 스토어 보기 범위가 선택되었습니다.

번들 제품

  • 이제 쇼핑객은 고정 제품 세금과 두 가지 옵션이 있는 번들 제품을 장바구니에 추가할 수 있습니다. 이전에는 Adobe Commerce에서 제품을 추가하지 않고 다음 오류를 표시했습니다. We can't add this item to your shopping cart right now.
  • 번들 제품에 대한 음수 값을 방지하기 위해 data-validatemin 특성의 양식 유효성 검사가 장바구니 수량 필드에 추가되었습니다.
  • 이제 저장소 보기 수준에서 하위 제품이 비활성화되면 products 쿼리가 번들 제품을 올바르게 필터링합니다. 이전에는 이 쿼리에서 스토어 뷰 수준에서 비활성화된 하위 제품을 반환했습니다.
  • cron은(는) 이제 indexer_update_all_views 실행 중에 예상대로 제품 범주 캐시를 지웁니다. 이전에는 Adobe Commerce이 카테고리의 많은 제품을 대량 업데이트한 후 카테고리 페이지에 잘못된 제품 수를 표시했습니다.
  • 이제 Adobe Commerce은 번들 제품이 재입고될 때 예상대로 카테고리 제품 캐시를 업데이트합니다.
  • 리인덱싱 중에 실행되는 캐시 정리 알고리즘이 최적화되었습니다. 이제 다시 색인화하는 동안 카테고리가 캐시될 때 번들 제품이 예상대로 표시됩니다. 이전에는 다시 색인화하는 동안 제품 카테고리가 캐시된 후 몇 시간 동안 번들 제품이 표시되지 않았습니다.
  • 이제 다른 통화를 사용하는 다중 스토어 배포에서 번들 제품 구매에 대한 이메일 확인에 예상대로 통화 전환이 발생합니다. GitHub-33426
  • 이제 제품 그리드에 % 접두사가 있는 번들 제품에 대해 고급 가격 특별 할인 사항이 올바르게 표시됩니다. 이전에는, 제품 격자에 % 대신 $ 접두사가 붙은 % 할인이 잘못 표시되었습니다.
  • 이제 관련 제품의 상태가 변경되면 관리자의 번들 제품 상태가 자동으로 업데이트됩니다.
  • 이제 번들 제품에 대한 GraphQL Resolver에서 하위 번들 제품이 비활성화되었는지 확인합니다. 이전에는 이러한 검사가 발생하지 않았으며, 이러한 categoryList개의 하위 제품이 판매되지 않는 상태로 반환되었습니다.
  • cart 쿼리 응답이 이제 동적 가격이 적용된 번들 제품에 대해 정확한 할인을 반환합니다. 이전에는 쿼리 응답에 각 번들 제품에 개별적으로 적용되는 할인이 포함되어 있었습니다.

캐시

  • 페이지 캐시는 더 이상 일반적인 사용 시 빠르게 증가하지 않습니다. GitHub-9458
  • 더 이상 주문을 해도 바니시 캐시에서 주문된 제품과 관련된 모든 캐시 태그가 제거되지 않습니다. GitHub-30128
  • 상위 범주에서 제품을 업데이트하거나 색인을 실행하여 제품 속성 또는 재고 상태를 업데이트할 때 전체 사이트 페이지 캐시가 더 이상 지워지지 않습니다. 이전에는 Vannish 캐시가 모든 페이지 캐시 태그에 최상위 메뉴 범주 ID를 추가했습니다. GitHub-33465

장바구니 및 체크아웃

  • 최소 광고 가격 이(가) 무엇입니까?이제 장바구니 페이지의 링크를 클릭할 수 있으며 예상대로 정보 팝업을 엽니다. 이전에는 이 링크를 클릭해도 효과가 없었습니다.
  • 이제 지속적인 장바구니가 활성화된 배포에서 세션 시간 제한 후 쇼핑객이 오류 없이 주문을 할 수 있습니다. 이전에는 Adobe Commerce에서 세션 시간 제한 후 결제 오류가 표시되었습니다.
  • 고객 주소 속성에 높은 정렬 순서 값을 할당해도 체크아웃 페이지의 성능이 더 이상 저하되지 않습니다.
  • 이제 Adobe Commerce은 업데이트된 수량이 유효하지 않은 경우 장바구니 제품 수량을 이전 값으로 되돌립니다.
  • [최근에 본 항목] 섹션에서 장바구니에 추가 단추를 클릭하면 제품 세부 정보 페이지로 리디렉션됩니다. 이전에는 쇼핑객이 제품 목록 페이지로 리디렉션되었습니다.
  • 이제 고객 쇼핑객은 여러 유형의 사용자 정의 고객 주소 속성을 포함하는 고객 주소로 성공적으로 체크아웃할 수 있습니다. 이전에는 체크아웃 중에 사용자 지정 속성 값의 형식이 제대로 표시되지 않았습니다. GitHub-30290
  • 이제 Adobe Commerce은 테이블 요금이 활성화된 경우 자유 배송 임계값을 주문에 올바르게 적용합니다. GitHub-21832
  • 이제 POST /V1/guest-carts/:cartId/items을(를) 사용하여 다양한 옵션이 있는 간단한 제품을 장바구니에 추가할 수 있습니다. 이전에는 이 호출로 지정된 옵션이 있는 두 번째 단순 제품을 추가하는 대신 추가한 첫 번째 단순 제품의 수량이 변경되었습니다. GitHub-32302
  • Poland 국가 및 PLN 통화에 대한 배포를 구성하면 이제 체크아웃 페이지의 [주문 요약] 섹션에 올바른 통화 및 금액이 표시됩니다. 이전에는 장바구니 및 체크아웃 페이지에 금액 PLN 0 ​이 표시되었습니다.
  • 미니 장바구니에서 제품 수량을 변경한 후 쇼핑객이 장바구니 업데이트 ​를 클릭할 때 Adobe Commerce에서 더 이상 오류가 발생하지 않습니다. 이전에는 Adobe Commerce에 다음 오류가 표시되었습니다. The quote item isn't found. Verify the item and try again.
  • 이제 특정 스토어에서 구성 가능한 제품에 대한 GraphQL products 쿼리가 지정된 스토어의 제품 가격 범위만 반환합니다. 이전에는 요청이 지정되지 않은 스토어에서 간단한 제품에 대한 가격 범위를 반환했습니다.
  • 쇼핑객이 거리 필드 Uncaught TypeError: Unable to process binding "text: function(){return currentBillingAddress().street.join(', ') }"이(가) 없는 청구 주소를 추가할 때 Adobe Commerce에서 더 이상 이 오류가 발생하지 않습니다. GitHub-33826
  • Adobe Commerce은 미니 장바구니가 제거된 저장소에서 체크아웃 중에 더 이상 콘솔 오류가 발생하지 않습니다. GitHub-34513
  • 청구 주소에 주소 필드 값이 없거나 주소 필드 값이 배열이 아닌 경우 결제 단계에서 더 이상 체크아웃이 실패하지 않습니다. 이전에는 체크 아웃에 실패했습니다. 오류: Uncaught TypeError: Unable to process binding "text: function(){return currentBillingAddress().street.join(', ') }". GitHub-33826
  • 이제 매출액 합계가 쿠폰 보고서 그리드에서 올바르게 계산됩니다. 기존에는 매출총액에 배송금액이 포함되지 않았다.
  • 이제 쇼핑객이 배송 방법 간을 전환할 때 장바구니 전체 할인이 올바르게 계산됩니다.
  • 이제 관리 순서 만들기 페이지의 상태 필드에 대한 드롭다운 목록이 선택한 국가에 대한 사전 정의된 값으로 채워집니다. 이전에는 이 필드가 드롭다운 메뉴 대신 입력 텍스트 필드였습니다.
  • 스토어 보기를 변경한 후 구성 가능한 제품을 장바구니에 바로 추가하기 위해 addConfigurableProductsToCart 돌연변이를 사용한 후에는 Adobe Commerce에서 더 이상 오류가 발생하지 않습니다.
  • addConfigurableProductsToCart 돌연변이를 사용하여 구성 가능한 제품의 비활성화된 하위 항목을 장바구니에 추가할 때 Adobe Commerce에서 더 이상 오류가 발생하지 않습니다. 이전에는 Adobe Commerce에서 무결성 제한 위반 오류가 발생했습니다.
  • 장바구니에 교차 판매 항목 표시 구성 설정을 사용하지 않도록 설정하면 교차 판매 제품이 장바구니 페이지에 더 이상 표시되지 않습니다.
  • 쿠폰이 적용된 주문이 실패한 경우 쿠폰 사용 값이 더 이상 변경되지 않습니다. 기존에는 장바구니에 쿠폰 적용 후 주문이 이루어지지 않아 일회성 자동 생성된 쿠폰은 유효하지 않은 것으로 표시했다.
  • 고객의 거리 주소를 기본값과 비교하기 위해 체크아웃 워크플로우에 유효성 검사가 추가되었습니다. 유효성 검사 프로세스에서 변경 내용을 식별하면 customer_address_id을(를) null(으)로 설정하여 새 고객 주소로 처리합니다. 이전에는 고객이 체크아웃 시 확인하지 않고 주소를 저장하고 체크아웃 필드에 유효성 검사가 적용된 후 동일한 고객이 동일한 주소를 사용하여 주문하려고 하면 Adobe Commerce이 편집된 주소를 수락하지 않고 예외를 throw했습니다.

장바구니 가격 규칙

  • 이제 auto 옵션이 활성화된 상태에서 관련 장바구니 가격 규칙이 저장될 때까지 쿠폰 생성이 차단됩니다. auto 옵션을 활성화하지 않고 이 규칙을 저장하려고 하면 Adobe Commerce에 Rule is not saved with auto generate option enabled. Please save the rule and try again 메시지가 표시됩니다.
  • 장바구니 가격 규칙 할인의 올바른 적용을 확인하기 위한 테스트가 추가되었습니다.
  • 이 조건에 해당하는 항목이 장바구니에 있는 경우/없는 경우 ​과(와) 함께 SKU 조건을 사용하는 장바구니 가격 규칙은 이제 구성 가능한 제품에서 예상대로 작동합니다.
  • 이제 장바구니 가격 규칙이 고정 가격 번들 제품에 대해 올바르게 적용됩니다. 이전에는 하나 이상의 하위 제품에 규칙 조건에 지정된 동일한 속성 세트가 있을 경우 장바구니 가격 규칙이 이러한 제품에 적용되지 않았습니다.
  • 이제 Adobe Commerce이 전체 장바구니에 대한 고정 금액 할인 장바구니 가격 규칙으로 구성된 경우 가격이 0인 제품을 장바구니에 추가할 수 있습니다. 이전에는 Adobe Commerce에 다음 오류가 표시되었습니다. report.ERROR: Warning: Division by zero in /home/mer33515/public_html/ee24develop/app/code/Magento/SalesRule/Helper/CartFixedDiscount.php on line 85.
  • 고정 금액 할인이 적용된 장바구니 규칙이 활성화되었을 때 cart 쿼리에서 부정확한 할인 금액을 반환하는 조건이 수정되었습니다.

카탈로그

  • 제품에 datetime 특성이 있을 때 Adobe Commerce에서 제품 그리드에서 대량 특성 업데이트 작업을 수행할 때 더 이상 예외를 throw하지 않습니다.
  • 이제 GraphQL 쿼리는 하위 제품의 가시성 필터 설정에 따라 구성 가능한 제품의 하위 제품에 대한 결과를 반환합니다.
  • 구성 가능한 제품 속성이 변경될 때 Adobe Commerce은 더 이상 관련 제품 가격을 수정하지 않습니다. 이전에는 구성 가능한 제품의 최소 광고 가격(MAP)이 매장 전면의 관련 제품 가격을 덮어썼습니다.
  • 이제 관리자는 범주에 남아 있는 마지막 제품을 다시 할당하고 빈 범주를 저장할 수 있습니다.
  • 이제 관리 제품 그리드 및 필터의 드롭다운/다중 선택 속성 값이 관리 설정에서 예상대로 파생됩니다. 이전에는 속성 값이 기본 저장소 설정에서 파생되었습니다.
  • GraphQL 범주 쿼리는 예상대로 준비된 범주의 변경 사항에 대한 정보를 반환합니다.
  • 이제 상위 범주와 하위 범주 모두에 할당된 제품이 있는 배포의 관리자에서 제품 목록이 정확하게 렌더링되지만 각 범주 내의 다른 위치에 있습니다. 이전에는 다음 오류가 발생하여 제품 목록을 렌더링하지 못했습니다. Item (Magento\Catalog\Model\Product\Interceptor) with the same ID "<ID>" already exists. GitHub-33145
  • 이제 많은 옵션(150개 이상)이 있는 다중 선택 속성을 새 제품에 할당할 수 있습니다. 이전에는 특성 옵션이 catalog_product_entity_varchar 테이블에 저장되었으며, 관리에서 제품을 다시 열 때 일부 옵션이 표시되지 않았습니다. GitHub-33486
  • 라우터가 URL에서 수집된 작업 클래스를 인스턴스화할 수 없는 경우에 대한 유효성 검사가 추가되었습니다. 이제 Adobe Commerce에 표준 오류 메시지가 표시됩니다. 이전에는 Adobe Commerce에 다음 오류가 표시되었습니다. PHP Error: Cannot instantiate abstract class Magento\Catalog\Controller\Product\Compare.
  • 이제 Adobe Commerce은 다음 조건을 충족하는 주문에 두 개의 장바구니 규칙이 적용되면 할인을 올바르게 계산합니다. 한 장바구니 규칙에는 쿠폰 코드가 적용되고 전체 장바구니에 고정 가격 조건이 적용되며 두 번째 장바구니 가격 규칙에는 쿠폰이 없고 제품 가격 할인의 퍼센트 조건이 있습니다. 이전에는 이전 장바구니 규칙이 일부 제품에 대해 이미 할인을 적용했을 때 해당 알고리즘이 장바구니 제품 간에 비례적으로 할인을 적절히 분할할 수 없었습니다.
  • 범주에 많은 제품(약 10,000개)을 할당해도 더 이상 브라우저가 충돌하지 않습니다.
  • 이제 이미지 속성은 관리자에서 저장하든 아니면 가져오든 간에 일관되게 데이터베이스에 저장됩니다. 이전에는 이미지 대체 텍스트 값이 일관되지 않게 저장되었습니다. 이미지가 있고 레이블이 null로 설정된 경우 데이터베이스에서 레이블 값이 재설정되지 않았습니다.
  • 카탈로그 위젯 SQL 쿼리가 최적화되었습니다. 이전에는 큰 MySQL 쿼리가 페이지 로드 속도를 늦추고 MySQL이 중단되었습니다.
  • 이제 가격 필터가 품절 구성 가능한 제품에서 올바르게 작동합니다. 이전에는 품절 구성 가능한 제품이 올바른 가격 범위에 표시되지 않았습니다.
  • 하위 제품을 업데이트해도 부분 인덱싱 프로세스 중에 상위 구성 가능한 제품에서 상속된 카탈로그 규칙 할인이 더 이상 제거되지 않습니다. 이전에는 구성 가능한 제품을 범주에 할당했지만 연결된 단순 제품은 할당하지 않은 경우 해당 범주를 사용하여 카탈로그 규칙을 만들었고, Adobe Commerce은 부분 색인화 프로세스 중에 단순 제품에 할당된 카탈로그 규칙을 제거했습니다.
  • 이제 제품 옵션을 추가할 때 그룹화되고 구성 가능한 제품의 그리드 보기 목록에 단순 및 가상 제품만 포함됩니다. 이전에는 애플리케이션에 옵션이 있는 간단한 제품이 포함되었습니다.

카탈로그 규칙

  • 카탈로그 규칙을 매일 업데이트해도 더 이상 성능이 저하되지 않습니다. 이전에는 일부 카탈로그 제품 가격 색인화에서 이전 가격 또는 날짜가 제거되지 않았습니다.
  • Adobe Commerce은 부분 리인덱싱 중에 구성 가능한 제품에 대한 카탈로그 가격 규칙을 더 이상 제거하지 않습니다. 이전에는 구성 가능한 제품이 다시 색인화되면 하위 제품만 다시 색인화되었습니다.
  • 범주가 category_id 조건이 아닌 카탈로그 가격 규칙이 이제 범주에 속하지 않은 제품에 적용됩니다.

구성 가능한 제품

  • 구성 가능한 제품 옵션 레이블 이름은 이제 관리 주문 생성 중 선택한 스토어 보기를 기반으로 합니다. 이전에는 Adobe Commerce이 기본 스토어 보기에서 레이블 이름을 사용했습니다.
  • 품절 제품 표시에 대한 글로벌 플래그가 활성화되면 제품 목록에 품절 제품의 하위 제품이 올바르게 포함됩니다. 이전에는 이 플래그를 활성화할 때 여러 하위 제품 옵션 중 하나가 품절된 경우 제품 목록에 하위 제품이 포함되지 않았습니다.
  • 이제 addConfigurableProductsToCart 돌연변이를 사용하여 기본 스토어가 아닌 보기에서 구성 가능한 제품을 장바구니에 추가할 수 있습니다. 이전에는 웹 사이트 ID와 스토어 ID가 다른 경우 구성 가능한 제품을 장바구니에 추가할 수 없었습니다. GitHub-30948
  • GraphQL products 쿼리는 더 이상 구성 가능한 제품의 비활성화된 하위 제품에 대한 데이터를 반환하지 않습니다.
  • 구성 가능한 제품에 대한 새 구성을 만드는 것이 더 이상 기존 구성의 변경 사항을 무시하지 않습니다. 이전에는 새 변형이 생성된 후 기존 변형의 상태가 기본 상태 enabled(으)로 재정의되었습니다.
  • 구성 가능한 제품의 비활성화된 하위 항목을 장바구니에 추가하려고 하면 Adobe Commerce에서 더 이상 내부 오류가 발생하지 않습니다.

고객

  • 이제 Adobe Commerce은 주문 생성 중 관리자 로케일에 대한 웹 사이트 범위를 고려합니다. 이전에는 고객 주소 속성과 같은 주문 세부 사항이 다중 사이트 배포의 한 웹 사이트에서만 제대로 작동했습니다. GitHub-23254

고객 세그먼트

  • 새 고객 세그먼트에 대한 Matched Customers 카운트는 이제 회사 계정을 만들 때 자동으로 업데이트됩니다. 이전에는 정확한 카운트를 위해 세그먼트 데이터를 새로 고쳐야 했습니다.

이메일

  • 이제 고객이 잘못된 이메일 계정을 사용하여 로그인을 시도할 때 체크아웃 로그인 팝업의 이메일 필드 유효성 검사 오류가 고객 로그인 페이지의 이메일 유효성 검사 오류와 일치합니다.
  • 책임자로부터 배송 댓글이 추가되고 고객에게 알림 확인란이 활성화된 경우 Adobe Commerce에서 더 이상 배송 세부 정보 전자 메일에 오류 메시지를 포함하지 않습니다. 이전에는 배송 확인 전자 메일에 We're sorry, an error has occurred while generating this content 메시지가 포함되어 있었습니다.
  • 이제 지역 및 국가 ID 값이 이메일 템플릿에서 올바르게 변환됩니다. 이전에는 관리자 전자 메일 템플릿에서 미리 보기 링크 ​를 클릭했을 때 국가 및 지역 이름이 올바르게 표시되지 않았습니다.
  • 기본값이 아닌 스토어 조회수를 위해 관리자가 보낸 영업 업데이트 이메일에 이제 올바른 주문 상태 레이블이 포함됩니다. 이전에는 이러한 이메일이 항상 기본 스토어의 상태를 표시했습니다. GitHub-29263
  • 이제 Adobe Commerce에 예상대로 이메일에 Content-Disposition: inline개의 헤더가 포함됩니다. GitHub-29258
  • 이제 주문 및 배송 알림 이메일이 Microsoft Outlook 및 MS Exchange Server를 사용하는 배포에서 예상대로 작동합니다. 이전에는 이메일 본문이 비어 있지만 ATT* 레이블이 지정된 첨부 파일이 포함되어 있었습니다. GitHub-25076
  • 이제 주문 이메일에는 예상대로 구매자의 로케일을 사용하여 현지화된 데이터가 포함됩니다. 이전에는 주문 이메일이 관리자 로케일을 사용했습니다.
  • 이제 이메일 템플릿의 미리 보기를 클릭하면 예상대로 별도의 창에서 템플릿 미리 보기가 열립니다. 이전에는 Adobe Commerce에서 이메일 템플릿 그리드와 팝업 창에서 템플릿 미리 보기를 동시에 열었습니다.
  • 기본이 아닌 웹 사이트에서 전송되는 비동기 주문 이메일에는 이제 해당 웹 사이트의 로고 URL이 포함됩니다. 이전에는 이러한 이메일에 항상 기본 또는 기본 웹 사이트의 로고가 포함되어 있었습니다. (storeCode 값을 가진 기본 키가 UrlInterface getUrl 함수에 전달된 두 번째 배열 인수에 할당되었습니다. 이 값은 다른 스토어/웹 사이트와 관련된 URL을 구분하고 고객에게 전송된 전자 메일 콘텐츠에 대해 올바른 baseUrl을(를) 생성합니다.)

프레임워크

  • 숫자와 숫자가 아닌 문자열 간의 비엄격한 비교는 이제 숫자를 문자열로 캐스팅하고 문자열을 비교하여 작동합니다. 숫자와 숫자 문자열 간의 비교는 이전처럼 계속 작동합니다. 즉, 0 == "not-a-number"은(는) 이제 false로 간주됩니다. GitHub-33780
  • 도우미 Magento\Payment\Helper\Data이(가) 더 이상 생성자에서 새 레이아웃을 만들지 않습니다. 이전에는 이 헬퍼를 영역 코드를 지정하지 않고 사용자 지정 명령에 사용할 때 Adobe Commerce에서 오류가 발생했습니다. GitHub-33908
  • allure-framework/allure-php-api 작성기 종속성을 업데이트했습니다.
  • 이제 Adobe Commerce은 부트스트랩 파일에서 예외가 발생할 때 500 응답 코드를 반환합니다. 이전에는 Adobe Commerce에서 200 OK 상태 코드를 반환했습니다. GitHub-22196
  • 이제 통화 기호가 상점 제품 세부 사항 페이지에 예상대로 로드됩니다. 이전에는 JavaScript 페이지를 다시 로드한 후 이 기호가 사라지기도 했습니다.
  • bin/magento setup:di:compile을(를) 실행할 때 symfony/console을(를) 업데이트해도 더 이상 오류가 발생하지 않습니다. GitHub-33595
  • PHP 8.x 지원을 위해 Adobe Commerce으로 배포되는 .htaccessnginx.conf 파일에 새로운 필수 옵션이 추가되었습니다. 오래된 옵션도 제거되었습니다. GitHub-34358
  • 이제 판매자는 여러 제품에 대한 비디오를 업로드할 수 있습니다. 이제 파일 생성 프로세스는 업로드된 파일 이름에 확장자가 포함된 경우에만 파일 이름에 확장자를 추가합니다. 이전에는 판매자가 두 개의 다른 제품에 대해 동일한 비디오를 업로드한 후 저장하려고 하면 Adobe Commerce에서 다음 오류가 발생했습니다. Notice: Undefined index: extension in /app/7ha7zds7wvqys_stg/vendor/magento/framework/File/Uploader.php on line 699. 이 문제는 Adobe Commerce이 업로드된 파일 이름에 확장명이 있는지 여부와 관계없이 이름에 파일 확장명을 추가하려고 했기 때문에 발생했습니다.
  • 코드 베이스 전체에서 PHP 8.x와의 호환성을 위해 sprintf(__())sprintf(Magento\Framework\Phrase()) 구성 문제가 수정되었습니다. 이전에는 Adobe Commerce에서 이러한 유형의 오류를 발생시켰습니다. Expected parameter of type 'string', 'Magento\Framework\Phrase' provided. GitHub-34085
  • 고급 검색 쿼리 매개 변수의 유효성 검사가 개선되었습니다. GitHub-33589
  • 이제 bin/magento support:backup:code을(를) 실행하면 예상대로 백업이 만들어집니다. 이전에는 Adobe Commerce에서 백업을 만들었지만 오류가 발생했습니다.
  • cron개의 프로세스가 이제 success 상태로 할당되었습니다. 이전에는 성공한 cron 프로세스에 pending 상태가 할당되었으므로 동일한 cron 프로세스를 두 번 실행할 수 있었습니다.
  • staging_synchronize_entities_period cron 작업이 이제 예상대로 작동합니다. 이전에는 첫 번째 스테이징 업데이트가 적용되었지만 Adobe Commerce에서 후속 업데이트와 함께 이 오류가 발생했습니다. report.ERROR: Cron Job staging_synchronize_entities_period has an error: The active update can't be deleted.
  • 이제 Magento_Logging 모듈이 IPv6을 지원합니다.

일반 수정 사항

  • 이제 Adobe Commerce은 제품을 복제할 때 정의된 범위에 따라 모든 제품 필드를 복사합니다. 이전에는 이름설명 필드가 global 범위로 재설정되었습니다.
  • Adobe Commerce은 제품 가격이 0일 때 더 이상 할인에 델타 라운딩을 적용하지 않습니다. 이전에는 Adobe Commerce에서 음수 할인 금액을 계산했습니다.
  • 이제 새로 설정 특성에 빈 시작 날짜와 만료된 종료 날짜가 할당된 제품을 저장할 수 있습니다. 이전에는 다음 설정으로 제품을 저장할 때 Adobe Commerce에서 이 오류가 발생했습니다. Make sure the To Date is later than or the same as the From Date.
  • Adobe Commerce에서 SEO URL 식별자를 변경할 때 CMS 계층 구조에 기존 CMS 페이지가 더 이상 복제되지 않습니다. 이전에는 Adobe Commerce에서 CMS 계층에 새 노드를 만들어 기존 노드를 복제했습니다.
  • 이제 관리자는 최대 처리 시간 동안 실행 중인 작업을 다시 시도할 수 있습니다. 기본 최대값은 12시간입니다.
  • 소비자에 대한 확인되지 않은 메시지로 인해 대량 작업 처리 중에 더 이상 끊어진 파이프 오류가 발생하지 않습니다. 이제 프리페치 카운트 속성이 고객에 대해 이러한 메시지를 제한하고 오류를 방지합니다. 이전에 bin/magento queue:consumers:start async.operations.all을(를) 실행하면 Broken pipe or closed connection 오류가 발생했습니다.
  • 이제 구매자는 두 번째 로그인 시도 실패 후 예상대로 로그인 페이지로 다시 리디렉션됩니다. 이전에는 두 번째 로그인 시도 실패 후 쇼핑객이 404 페이지로 리디렉션되었습니다. GitHub-32885
  • 암호 변경 페이지를 제출하는 동안 경합 조건이 발생하지 않도록 암호 재설정 토큰 유효성이 확장되었습니다. GitHub-29647
  • 이제 새 통합에 할당된 권한이 적용됩니다. GitHub-33347
  • 연락처 양식에 대한 예외 로그에 남아 있는 메시지에 영향을 주는 회귀 문제를 해결했습니다. GitHub-34483
  • 고객 데이터의 JavaScript 로드와 관련된 여러 문제가 해결되었습니다. GitHub-30498
  • 확장에서 QuoteIdToMaskedQuoteId을(를) 사용하면 응답 시간이 더 이상 크게 늘어나지 않습니다. GitHub-33676
  • magento2/app/code/Magento/Bundle/Pricing/Price/ConfiguredPrice.php의 클래스 BundleDiscountPrice이(가) 예상대로 선언되었습니다. 이전에는 Adobe Commerce에서 다음 오류가 발생했습니다. Class Magento\Bundle\Pricing\Price\BundleDiscountPrice not found. GitHub-33334
  • 이제 AWS S3 어댑터에서 작성한 이스케이프 처리된 CSV 필드 값이 다른 파일 시스템 어댑터에서 작성한 데이터와 일치합니다.
  • 이제 S3 호환 스토리지가 지원됩니다. GitHub-32114
  • 한 디바이스에서 로그아웃해도 더 이상 다른 디바이스에서 쇼핑객이 자동으로 로그아웃되지 않습니다.
  • 상위 노드 계층 구조 사용 구성 설정을 사용하지 않도록 설정한 경우 Adobe Commerce에서 저장소 보기 수준의 그리드를 인라인으로 편집할 때 CMS 페이지를 저장했습니다. 이전에는 Adobe Commerce에서 이 오류를 표시했으며 CMS 페이지 편집 내용을 저장하지 않았습니다. A technical problem with the server created an error. Try again to continue what you were doing. If the problem persists, try again later.
  • 이제 동일한 페이지를 포함하는 노드에 대해 이동 경로가 올바르게 표시됩니다. 이전에는 Adobe Commerce에서 여러 노드에 속한 페이지에 대해 동일한 노드 이름을 표시했습니다. Adobe Commerce은 각 페이지에 대해 두 개 이상의 노드가 있는 경우에도 페이지의 첫 번째 노드만 검색했습니다.
  • 이제 URL 재작성 인라인 편집 이벤트가 보고서에 기록됩니다.
  • 새 메시지가 없는 경우 mage-messages 쿠키가 재설정되지 않습니다.

기프트 카드

  • 쇼핑객이 유효하지 않은 기프트 카드를 입력할 때 보다 자세한 오류 메시지가 추가되었습니다.

GraphQL

  • 이제 generateCustomerTokenrevokeCustomerToken 돌연변이가 사용자 상태에 대한 올바른 캐시 ID를 제공합니다. 이전에는 이러한 돌연변이가 잘못된 x-magento-cache-id을(를) 사용했기 때문에 성능이 저하되었습니다.
  • 이제 setBillingAddressToCart 돌연변이가 same_as_shipping 매개 변수를 올바르게 사용하여 배달 주소와 일치하도록 청구 주소를 설정합니다. 이전에는 Adobe Commerce에 다음 오류가 표시되었습니다. The shipping method is missing. Select the shipping method and try again. GitHub-30924
  • 이제 GraphQL 장바구니 작업은 쿼리가 장바구니 총계를 요청할 때만 계산합니다. 이전에는 장바구니 작업이 항상 리소스 집약적인 작업인 총계를 계산했습니다.
  • addProductsToCart 돌연변이는 이제 헤더에 정의된 저장소에 할당된 제품만 장바구니에 추가합니다.
  • 계층화된 탐색 필터를 사용하는 products개의 쿼리가 이제 올바른 하위 범주 목록을 반환합니다. GitHub-33387
  • ConfigurableCartItem 개체를 반환하는 쿼리 및 돌연변이에 예상대로 구성된 변형에 대한 정보가 포함되어 있습니다.
  • 이제 products 쿼리가 구성 제품 옵션 값과 변형 특성 값을 반환합니다. 이전에는 쿼리 응답에서 이 값이 비어 있었습니다.
  • 이제 저장소 보기 수준에서 하위 제품이 비활성화되면 products 쿼리가 번들 제품을 올바르게 필터링합니다. 이전에는 이 쿼리에서 스토어 뷰 수준에서 비활성화된 하위 제품을 반환했습니다.
  • 이제 GraphQL은 디버깅에 도움이 될 수 있는 설명 트랜잭션 이름을 New Relic에 제공합니다. GitHub-30915
  • 전화 표시 관리자 구성 설정이 선택 사항으로 설정된 경우 setShippingAddressesOnCart 돌연변이는 이제 빈 전화 번호 값으로 장바구니의 배송 주소를 설정할 수 있습니다. 이전에는 Adobe Commerce에서 다음 오류가 발생했습니다. Field CartAddressInput.telephone of required type String! was not provided.
  • addSimpleProductsToCart 돌연변이로 인해 대상 웹 사이트에 할당되지 않은 장바구니에 간단한 제품을 추가할 수 있는 문제가 해결되었습니다.
  • MySQL 쿼리는 검색 매개 변수를 사용하여 검색 결과를 구체화하는 GraphQL products 쿼리에 최적화되었습니다.
  • 제품이 요청된 범위에 포함되지 않은 경우 addConfigurableProductToCart 돌연변이는 장바구니에 제품 추가를 더 이상 지원하지 않습니다.
  • 이제 products 쿼리가 요청된 저장소 보기에 할당된 구성 가능한 변형만 반환합니다. 이전에는 요청된 구성 가능한 제품의 모든 변형이 반환되었습니다.
  • 이제 addSimpleProductsToCart개의 요청을 동시에 실행할 수 있습니다. 이전에는 동일한 SKU에 대한 여러 요청으로 예상대로 제품 수량을 늘리지 않고 동일한 장바구니 ID에 대해 중복 라인 항목이 생성되었습니다.
  • 이제 addProductsToCompareList 돌연변이를 사용하여 구성 가능한 제품의 변형을 비교할 수 있습니다.
  • 백엔드에서 계층 제품의 가격이 업데이트되면 고객의 장바구니에서 새 가격이 올바르게 업데이트됩니다. 이전에는 장바구니 요약 섹션의 소계가 올바로 업데이트되었지만 행 소계는 업데이트되지 않았습니다.
  • 이제 addProductsToCart 돌연변이가 여러 선택 옵션이 있는 번들 제품을 추가하는 데 사용될 때 선택한 모든 옵션을 장바구니에 추가합니다. 이전에는 돌연변이가 마지막 선택만 추가했다. GitHub-33123
  • 이제 선택적 전화 필드의 값이 빈 문자열로 설정되면 GraphQL 쿼리가 예상대로 청구 주소를 반환합니다. 이전에는 쿼리가 null 주소 값을 반환했습니다. GitHub-30218
  • 이제 여러 제품에 동일한 관련성 또는 가격 값이 있는 경우 products 쿼리 응답이 지정된 정렬 순서에 따라 제품을 나열합니다.
  • 동시 addSimpleProductsToCartaddProductsToCart 요청으로 인해 더 이상 견적 항목이 중복되지 않습니다.
  • products 쿼리 계층화된 탐색 필터가 이제 올바른 하위 범주 목록을 반환합니다. 이제 요청에 includeDirectChildrenOnly 플래그가 제공되면 직접 하위 범주만 포함됩니다. 이전에는 제품이 여러 범주에 할당될 때 모든 범주가 집계 섹션의 응답에 포함되었습니다.
  • GraphQL 검색 쿼리에 대한 검색 제안 기능을 추가했습니다.
  • OrderAddress.telephone 필드는 이제 customer 쿼리나 고객 주문 주소를 반환하거나 수정하는 기타 쿼리 및 돌연변이에 선택 사항입니다.
  • 이제 API를 통해 그룹 ID를 변경하면 상점 및 관리자 모두에서 지정된 그룹의 고객에 대해 가격이 올바르게 업데이트됩니다. 이전에는 API를 통해 그룹 ID를 변경할 때 이러한 가격이 올바르게 업데이트되지 않았습니다.

이미지

  • 투명 배경이 있는 워터마크 이미지는 더 이상 오버레이되는 투명 제품 이미지에 흰색 배경이 없습니다. 이전에는 워터마크 이미지와 제품 이미지가 모두 투명 배경이면 흰색 배경으로 워터마크를 표시했다.
  • 이제 AWS S3가 활성화될 때 송장 및 출하 입고에 대한 로고가 예상대로 업로드되고 표시됩니다.
  • 관리자가 스토어 URL과 다른 도메인으로 설정된 배포에서 CMS 페이지에 추가된 이미지와 연결된 미디어 태그에 예상대로 스토어 URL이 포함됩니다. 이전에는 미디어 태그에 예상 저장소 URL 대신 정적 관리자 URL이 포함되었습니다. GitHub-32930
  • Adobe Commerce은 상점 첫 화면에서 이미지를 로드하는 동시에 이미지 캐시를 플러시할 때 더 이상 오류가 발생하지 않습니다.

가져오기/내보내기

  • 파일 이름이 비슷하지만 한두 문자만 다른 경우 bin/magento remote-storage:sync이(가) 더 이상 실패하지 않습니다. 이전에는 첫 번째 이미지가 올바르게 저장되었지만 이름이 비슷한 두 번째 이미지에서 동기화 오류가 발생했으며 이 오류는 Notice: Undefined index: media/catalog/product/5/_ in /src/vendor/magento/module-remote-storage/Driver/Adapter/Cache/Generic.php on line 197입니다. GitHub-34337
  • 이제 Adobe Commerce은 예약된 내보내기 후 내보내기 파일 이름의 타임스탬프를 사용자의 시간대로 변환합니다. 이전에는 이러한 값이 전환되지 않았으며 Adobe Commerce에 UTC 타임스탬프가 표시되었습니다.
  • 동일한 CSV 파일을 두 번 이상 가져오면 Adobe Commerce에서 더 이상 원격 저장소에 중복 이미지를 만들지 않습니다.
  • Import failed: Area code not set: Area code must be set before starting a session 메시지와 함께 가져오기가 더 이상 실패하지 않습니다. GitHub-16171
  • 이제 bin/magento app:config:dump을(를) 실행하고 config.php을(를) 수동으로 편집한 후 가져올 수 있습니다. GitHub-31428
  • 이제 사용자 지정 다중 선택 속성에서 기본값이 아닌 다중 값 구분 기호를 사용할 수 있습니다. 이전에는 가져오는 동안 유효성 검사가 실패했습니다. GitHub-23156
  • 이제 CSV에서 가져오는 동안 범주의 제품 위치가 올바르게 할당됩니다.

색인

  • 이제 Adobe Commerce은 색인 재지정 후 상점 첫 화면에 예상대로 제품을 표시합니다. 기존에는 재지수화 되는 첫 500개 상품이 입고되고, 이후 500개 상품이 소진될 때 매장에 추가 상품을 표시하지 않았다.
  • 병합된 indexer.xml개 파일의 일관성 문제가 해결되었습니다. classType에서 허용되는 값이 병합되지 않고 병합된 indexer.xml 파일에서 동일합니다. GitHub-29609
  • 전체 및 부분 인덱서가 동시에 실행되지 않도록 하기 위해 동기화 메커니즘이 범주 인덱서에 구현되었습니다. 이전에는 이러한 인덱서가 동시에 실행되면 상점 카테고리 페이지에서 제품이 일시적으로 생략되거나 카테고리 페이지에 제품이 일시적으로 비어 있을 수 있었습니다.

인프라

  • 지원되지 않는 str_contains 메서드가 지원되는 함수로 대체되었습니다. 이는 Adobe Commerce 2.4.3에 대해 알려진 문제입니다. GitHub-33680
  • PHP 8.x에서 예약된 키워드인 match 키워드의 사용을 수정하도록 코드 베이스를 리팩터링했습니다. GitHub-33626

  • 이제 HTML 태그가 사용자 지정 요소를 포함한 비공백 요소에 대해 JQuery 3.5.x의 표준을 충족하도록 올바르게 중첩되고 닫힙니다.

  • PHP7.x 및 PHP8.x와의 호환성을 위해 abs()round() 함수가 수정되었습니다. GitHub-34322
  • bin/magento setup:di:compile을(를) 실행할 때 더 이상 symfony/console을(를) 업데이트하지 못했습니다. GitHub-33595
  • colinmollenhour/cache-backend-redis 작성기 종속성에 대한 제한을 수정했습니다. GitHub-34177
  • 더 이상 사용되지 않는 phpunit/phpunit의 메서드에 대한 호출을 제거하기 위해 코드 베이스를 리팩터링했습니다. GitHub-33916
  • 이제 읽기 전용 pubs/media을(를) 가진 관리자가 이미지가 포함된 제품의 제품 세부 정보 페이지에 액세스하려고 하면 Adobe Commerce에 정보 오류가 표시됩니다. 이전에는 Adobe Commerce에서 PHP 오류가 발생했습니다. GitHub-32819
  • 모든 멤버 수준 @api 주석이 코드 베이스 전체에서 해당 클래스로 이동되었습니다.
  • gift-card Cms 위젯 데이터가 Magento/WidgetSampleData(Magento Open Source)에서 Magento/GiftCardSampleData(Adobe Commerce)로 이동되었습니다. PHP8.1에서 샘플 데이터를 사용하여 (Magento Open Source) 을 설치하는 문제가 해결되었습니다.
  • 필요에 따라 @api을(를) 사용하는 Adobe Stock 통합 코드 베이스 전체에서 인터페이스를 표시했습니다. GitHub-32875
  • 이제 에뮬레이트된 준비된 문을 사용할 때 문자열 대신 기본 PHP 형식을 사용하여 결과 세트의 정수와 플로트가 반환됩니다. GitHub-34625
  • PHP 8.1과의 호환성을 보장하기 위해 false 값에서 배열을 자동으로 만들 수 없습니다.
  • 도우미 Magento\Payment\Helper\Data이(가) 더 이상 생성자에서 새 레이아웃을 만들지 않습니다. 이전에는 이 헬퍼를 영역 코드를 지정하지 않고 사용자 지정 명령에 사용할 때 Adobe Commerce에서 오류가 발생했습니다. GitHub-33908
  • 이제 di.xml에서 data 인수를 블록 인스턴스 생성자에 전달할 수 있습니다.
  • 가독성을 위해 Generator.php을(를) 최적화했습니다. GitHub-33809
  • 알고리즘이 헤더에서 직접 설정되는 상황을 처리하도록 JwsManager 클래스의 JWK 확인이 개선되었습니다. 이전에는 이 확인 작업이 이 유효한 시나리오를 무시했습니다. GitHub-32636

PHP 8.1 호환성 업그레이드

  • PHP 8.1에서 더 이상 사용되지 않는 함수가 코드 베이스에서 제거되었습니다. GitHub-34497

  • PHP 8.1과의 호환성을 위해 반환 형식이 불완전한 내부 메서드에 반환 형식 선언을 추가했습니다. GitHub-34498

  • 각 모듈에 대한 루트 composer.json 메타패키지 및 composer.json 파일을 PHP 8.1로 업데이트했습니다. GitHub-34009

  • 타사 jquery.tabs 라이브러리(최신 버전)

  • NPM 패키지(최신 버전) GitHub-33512, GitHub-33972

  • jquery.cookie 타사 라이브러리(최신 버전) GitHub-34427

작성기 종속성 업데이트

  • 모든 작성기 종속성이 PHP 8.1과 호환되는 버전으로 업데이트되었습니다.

  • PHPUnit가 최신 버전(9.5.x)으로 업그레이드되었습니다. 테스트 및 테스트 프레임워크가 새 버전과 호환되도록 업데이트되었습니다.

JavaScript 종속성 업데이트

라이브러리 제거 및 사용 중단

  • Adobe Commerce 2.4.x에서 지원하는 모든 브라우저가 이 기능에 대한 기본 지원을 제공하므로 다음 라이브러리가 제거되었습니다.

    • es6-collections.js
    • MutationObserver.js
    • Modernizr
    • FormData.js
  • 사용하지 않는 jquery.hoverIntent JavaScript 라이브러리를 제거했습니다. GitHub-33732

  • lib/internal/Magento/Framework/Filter/Money.php은(는) 더 이상 사용되지 않습니다. PHP 8.x에서 제거된 money_format() 함수가 포함되어 있습니다. GitHub-33870

  • 더 이상 사용되지 않는 지원되지 않는 grunt-autoprefixer 패키지를 제거했습니다. GitHub-34037

라이브러리 업그레이드

  • 다음 라이브러리가 최신 버전으로 업그레이드되었습니다.

    • script.aculo.us
    • Chart.js
    • moment.js
    • moment-timezone-with-data.js
    • matchMedia.js
    • underscore.js
    • PrototypeJS
    • RequireJS
    • LessCSS

인보이스

  • 문자열 접두사가 있는 경우 자동으로 증가하는 송장 ID에 대해 int(으)로 캐스팅이 제거되었습니다. 따라서 이제 송장에는 문자열 접두사가 있는 숫자에 대해 0이 표시됩니다. GitHub-34451

로깅

  • Adobe Commerce은 더 이상 시스템 > 일괄 작업 ​에서 일괄 작업을 실행하는 실패한 API 호출에 대한 로그 항목을 만들지 않습니다. 이전에는 실패한 API 호출에 대한 영구 항목이 대량 작업 로그에 추가되었습니다.

Adobe Commerce 코딩 표준

  • phpunit/ phpunit을(를) magento-coding-standard 저장소의 최신 버전으로 업데이트했습니다. GitHub-33622
  • Adobe Commerce 코딩 표준 저장소에서 webonyx/graphql-php 종속성을 버전 ^14.9로 업데이트했습니다. GitHub-32863
  • 잘못된 값에서 배열의 자동 만들기를 식별하기 위해 Adobe Commerce 코딩 표준에 새 스니프 Magento2.PHP.ArrayAutovivification이(가) 추가되었습니다. GitHub-34509
  • Adobe Commerce 코딩 표준에 새 스니프 Magento2.Functions.DeprecatedFunction을(를) 추가했습니다. GitHub-34547
  • Adobe Commerce 코딩 표준에서 Magento2.Functions.DiscouragedFunction을(를) 스니프하는 데 더 이상 사용되지 않는 함수가 추가되었습니다. GitHub-34548
  • Magento2.Annotation.MethodAnnotationStructure 스니프가 더 이상 실패하지 않고 긍정 오류(false positive)가 발생합니다. GitHub-34679

미디어 갤러리

  • AWS S3이 활성화된 배포에서 bin/magento media-gallery:sync 명령이 더 이상 실패하지 않습니다.
  • 이제 메뉴 항목이 11을 초과하고 이전 미디어 갤러리 사용 구성 설정이 활성화된 경우 새로 추가된 미디어 갤러리 콘텐츠 하위 메뉴 제목이 표시됩니다. GitHub-33889
  • 많은 이미지가 있는 제품을 편집할 때 미디어 갤러리 탭의 로드 시간이 개선되었습니다. GitHub-33434

MTF

  • CURLOPT_POSTFIELDS은(는) 더 이상 개체를 배열로 허용하지 않습니다. 개체를 배열로 해석하려면 명시적(array) 캐스트를 수행합니다. 이 방법은 배열을 허용하는 다른 옵션에도 적용됩니다. GitHub-33781

  • curl_init()이(가) 리소스가 아닌 CurlHandle 개체를 반환합니다. curl_close() 함수에는 더 이상 영향을 주지 않습니다. 대신 CurlHandle 인스턴스가 더 이상 참조되지 않으면 자동으로 제거됩니다. GitHub-33781

  • 다운로드 가능한 제품에 대한 MFTF 테스트의 오류를 수정했습니다. GitHub-34270
  • CatalogSearch, GroupedProduct, Newsletter, Paypal, QuoteReview 모듈에서 CliCacheFlushActionGroup을(를) 제거했습니다. GitHub-33531
  • 숫자와 숫자가 아닌 문자열 간의 비엄격한 비교는 이제 숫자를 문자열로 캐스팅하고 문자열을 비교하여 작동합니다. 숫자와 숫자 문자열 간의 비교는 이전처럼 계속 작동합니다. 이는 0 == "not-a-number"가 이제 false로 간주됨을 의미합니다. GitHub-33780
  • parse_url()은(는) 현재 없는 쿼리와 빈 쿼리 및 조각을 구별합니다. GitHub-33782
  • ReflectionType::isBuiltin() 메서드를 사용할 때 치명적인 오류가 발생하지 않도록 코드 베이스를 업데이트했습니다. GitHub-34194

새 작업 그룹

AdminCheckOrderStatusInGridActionGroup GitHub-33747

StorefrontSelectFirstShippingMethodActionGroup GitHub-33773

AdminClickUpdateChangesOnCreateOrderPageActionGroup GitHub-33689

작업 그룹

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

AdminAddInStockProductToTheCartTest GitHub-34512

AdminAddBundleItemsTest GitHub-34312

AdminConfigurableProductAddConfigurationTest GitHub-34511

AdminConfigurableProductBulkUpdateTest GitHub-34435

AdminConfigurableProductDisableAnOptionTest GitHub-34511

AdminConfigurableProductOutOfStockAndDeleteCombinationTest GitHub-34316

AdminConfigurableProductOutOfStockTestDeleteChildrenTest GitHub-34316

AdminConfigurableProductRemoveAnOptionTest GitHub-34511

AdminConfigurableProductRemoveConfigurationTest GitHub-34511

AdminCreateAndEditSimpleProductSettingsTest GitHub-34435

AdminCreateAndEditVirtualProductSettingsTest GitHub-34435

AdminCreateInactiveFlatCategoryTest GitHub-34490

AdminCreateInactiveInMenuFlatCategoryTest GitHub-34510

AdminCreateDuplicateCategoryTest GitHub-34414

AdminCreateDuplicateProductTest GitHub-34414

AdminDeleteSimpleProductTest GitHub-33783

AdminEditRelatedBundleProductTest GitHub-34313

AdminMassDeleteBundleProductsTest GitHub-34313

AdminNavigateMultipleUpSellProductsTest GitHub-34314

AdminSimpleProductSetEditContentTest GitHub-34435

AdminSimpleProductTypeSwitchingToConfigurableProductTest GitHub-33788

AdminConfigurableProductTypeSwitchingToVirtualProductTest GitHub-33788

AdminCreateConfigurableProductWithDisabledChildrenProductsTest GitHub-33775

AdminUpdateFlatCategoryAndAddProductsTest GitHub-34490

AdminUpdateTopCategoryUrlWithNoRedirectTest GitHub-33774

AdminUpdateTopCategoryUrlWithRedirectTest GitHub-33774

CatalogProductListWidgetOperatorsTest GitHub-34579

CreateProductAttributeEntityWithReservedKeysTestGitHub-34422

EnableDisableBundleProductStatusTest GitHub-34313

StorefrontCheckRefundGrandTotalActionGroup GitHub-34315

StorefrontInactiveCatalogRuleTest GitHub-33556

StorefrontConfigurableProductCantAddToCartTest GitHub-33786

StorefrontConfigurableProductOptionsTest GitHub-33785

StorefrontConfigurableProductCanAddToCartTest GitHub-33784

StorefrontConfigurableProductGridViewTest GitHub-34311

StorefrontConfigurableProductListViewTest GitHub-34311

StorefrontProductNameWithHTMLEntitiesTest GitHub-33806

StorefrontProductNameWithDoubleQuoteTest GitHub-32991

새 테스트

AdminCreateOrderWithCheckedAppendCommentCheckboxTest GitHub-32381

CheckoutWithEnabledCaptchaTest GitHub-32991

StorefrontAddProductWithBackordersAllowedOnProductLevelToCartTest GitHub-33635

StorefrontGiftMessageForOrderOnCheckoutCartPageTest GitHub-32821

StorefrontCaptchaCheckoutWithEnabledCaptchaTest GitHub-32821

StorefrontCheckoutWithEnabledMinimumOrderAmountOptionTest GitHub-33460

리팩터링된 테스트

CaptchaWithDisabledGuestCheckoutTest GitHub-30828

뉴스레터

  • 적절한 권한이 있는 사용자는 이제 예상대로 고객 뉴스레터 구독을 관리할 수 있습니다. 이전에는 전체 권한이 있는 관리자만 고객 계정 관리 페이지에서 고객 뉴스레터 구독을 관리할 수 있었습니다.

주문

  • 이제 쇼핑객은 상점 및 관리자 모두에서 유형 파일 및 유형 드롭다운의 사용자 정의 옵션이 결합된 제품이 포함된 기존 주문을 성공적으로 재정렬할 수 있습니다. 이전에는 Adobe Commerce에서 오류가 발생하여 재주문을 처리하지 않았습니다.
  • 매장 크레딧으로 지불되고 고정 제품 세금(FPT)이 적용된 주문에 대한 송장에는 이제 정확한 총계가 포함됩니다.
  • 이제 관리자 주문 세부 사항 페이지가 예상대로 로드됩니다. 이전에는 Adobe Commerce에서 특정 세금이 있는 주문의 주문 세부 사항 페이지를 로드할 때 다음 오류가 발생했습니다. Call to a member function getId() on array.
  • 주문 및 배송 권한을 포함하는 제한된 권한이 있는 관리자는 이제 예상대로 주문 페이지를 볼 수 있습니다. 이전에는 이러한 권한을 가진 관리자가 주문을 보려고 할 때 Adobe Commerce에서 오류가 발생했습니다. GitHub-14633
  • 이제 최대 허용 수량 제한이 설정되어 있을 때 구매자는 하위 구성 가능 제품을 포함하는 주문을 할 수 있습니다.

결제 방법

  • 이제 쇼핑객은 3DS가 활성화된 배포에서 Braintree을 사용하여 설정된 지역 없이 청구 주소를 사용하여 주문할 수 있습니다. 이전에는 구매자가 주문 ​을 클릭했을 때 체크아웃이 중지되었으며 구매를 완료할 수 없었습니다. GitHub-34204
  • 이제 Venmo 결제 옵션이 지원됩니다.
  • 이제 PayPal에서 BN 코드로 추적할 수 있습니다.
  • 이제 Adobe Commerce 2.4.2-p1에서 업그레이드할 때 bin/magento setup:upgrade이(가) 예상대로 실행됩니다. 이전에는 Adobe Commerce에서 다음 오류가 발생했습니다. Unable to apply data patch Magento\Paypal\Setup\Patch\Data\UpdateBmltoPayLater for module Magento_Paypal. GitHub-33678
  • 이제 관리자 주문 배치 중에 저장된 신용 카드를 검색하는 데 올바른 저장소 ID가 사용됩니다. 이제 저장된 신용 카드가 웹 사이트 범위 구성 설정에 따라 주문 배치 중에 표시됩니다. 이전에는 관리자가 관리자로부터 고객 주문을 생성하고 저장된 신용 카드 방법을 선택하려고 할 때 저장된 카드에 대해 사용할 수 있는 옵션이 없었습니다.
  • 기프트 카드 금액의 PayPal 크레딧 표시에 대한 예외 항목이 해결되었습니다. 기존에는 페이팔 크레딧이 활성화돼 여러 기프트 카드 금액이 구성됐을 때 쇼핑객이 기프트 카드 금액을 변경하면 매장은 할부 결제 금액을 업데이트하지 않았다. 이는 Adobe Commerce 2.4.3에서 알려진 문제입니다.

PayPal

  • Adobe Commerce은 PayPal Express 결제 방법을 사용하여 체크아웃하는 동안 더 이상 오류를 표시하지 않습니다. 이전에는 체크아웃 프로세스가 완료되었지만 Adobe Commerce에 다음 오류가 표시되었습니다. Something went wrong.
  • 이제 PayPal Express가 장바구니에서 예상대로 작동합니다. 이전에는 장바구니에서 빠른 체크아웃을 시작하기 위해 PayPal 단추를 클릭했을 때 Adobe Commerce에서 다음 오류가 발생했습니다. To check out, please sign in with your email address. GitHub-33445
  • 결제 작업 ​이 포함된 PayPal Payflow Pro 게이트웨이가 인증(으)로 설정된 배포에서 PayPal Payflow Pro는 이제 올바른 상위 거래 ID로 지연된 캡처를 수행합니다. 예상대로 체크아웃 시 만들어진 자격 증명 모음 토큰의 상위 트랜잭션 ID를 사용하여 Sale 트랜잭션이 Payflow로 전송됩니다. 이전에는 지연된 캡처 트랜잭션이 만들어져 PayPal Payflow로 전송되었습니다. GitHub-33445
  • 이제 쇼핑객은 PayPal 결제 고급 결제가 완료된 후 예상대로 성공 페이지로 리디렉션됩니다. 이전에는 결제가 성공적으로 처리되고 오류가 기록되지 않았더라도 쇼핑객이 이 페이지로 리디렉션되지 않았습니다.

성능

  • 성능을 개선하기 위해 magento_giftcardaccount.code에 인덱스를 추가했습니다.
  • 모듈 목록 로드 실행 시간이 개선되었습니다.
  • 인기 검색어 캐시의 성능이 개선되었습니다. 이전에는 search_query 테이블이 클수록 검색 쿼리를 완료하는 데 더 오래 걸렸습니다. GitHub-27559
  • Adobe Commerce은 기본적으로 제품을 저장하는 동안 이미지의 크기를 동기식으로 조정합니다. 이제 판매자는 di.xml 파일을 약간 편집하여 백그라운드 비동기 프로세스로 이미지 크기를 조정할 수 있습니다.
  • 다중 스토어 배포에서 카테고리 제품 인덱서의 성능이 개선되었습니다. GitHub-33984
  • glob() 시스템 호출에 대한 새로운 메모리 내 캐시는 glob() 호출 수를 줄여 성능을 향상시킵니다. GitHub-34025
  • 비동기 Order Grid 리인덱싱 프로세스의 성능이 개선되었습니다.
  • 제품 내보내기 중 메모리 사용량이 최적화되었습니다.
  • 관련 제품과 함께 제품 세부 사항 페이지 로드가 최적화되었습니다. 관련 제품 조건 쿼리도 최적화되었습니다.

가격 책정

  • 이제 제품 가격이 0에 가깝거나 같고 공유 카탈로그가 활성화된 경우 가격 정렬이 예상대로 작동합니다. 이전에는 가격 재인덱싱 중에 0계층 가격이 무시되었습니다.
  • 카테고리 페이지의 가격 필터에 두 번째 값이 포함되지 않은 경우 Adobe Commerce에서 더 이상 오류가 발생하지 않습니다. 이전에는 Adobe Commerce에서 로그 파일에서 예외를 throw했습니다.

ProductAlert

  • product_alert 소비자는 큐 메시지를 만들고, 소비자를 실행하고, 실행 시간을 개선하여 고객 알림 전송을 개선합니다. 이전에는 Adobe Commerce에서 10만 개 이상의 제품 경고를 전송할 때 메모리 부족 예외를 발생시켰습니다. Adobe Commerce도 모든 경고를 보내는 데 20시간 이상이 걸렸습니다.

제품 비디오

  • 비디오를 추가하는 동안 불완전한 URL을 입력하면 Adobe Commerce에서 이제 저장 단추 및 자동 완성 필드를 활성화합니다(관리자 카탈로그 > 제품 > 비디오 추가). 이전에는 저장 단추가 비활성화되어 있고 필드가 채워지지 않았습니다.

반품 상품 승인(RMA)

  • 이제 관리자 반품 생성 제품 그리드에 가격에 세금을 표시하도록 구성된 제품에 대한 가격만 포함하여 세금이 표시됩니다. 이전에는 Adobe Commerce에서 tax/calculation/price_includes_tax 플래그의 구성 표시 설정을 확인하지 않았습니다.

리뷰

  • 이제 제품 목록 보기에 제품에 대한 올바른 별 등급이 표시됩니다. GitHub-30196
  • 이제 구매자가 상점 첫 제품 페이지에서 검토 ​를 클릭하면 예상대로 검토가 표시됩니다.
  • 이제 제품 별 등급이 상점 제품 목록 페이지의 표 및 목록 보기에서 일관됩니다. 이전에는 동일한 제품이 그리드 및 목록 보기 모드에서 다른 등급을 가질 수 있었습니다.

보상

  • 이제 보상 포인트 누계 및 보상 포인트 내역에 동일한 누계가 표시됩니다. 이제 만료된 포인트가 올바르게 차감됩니다. 기존에는 보상 포인트 잔액이 만료된 포인트를 정확하게 반영하지 않았다.
  • 이제 만료된 보상 지점은 상점 보상 지점 내역 그리드의 이유 섹션에서 만료됨(으)로 표시됩니다.

판매

  • MariaDB 10.2.34로 업그레이드한 후 데이터 세트가 큰 테이블에 대한 비동기 모드에서 판매 그리드 업데이트 성능이 향상되었습니다.
  • 이제 Adobe Commerce은 상점 앞 계정 > 내 주문 > 주문 보기 페이지에서 예상대로 HTML 태그를 제거합니다. 이전에는 Adobe Commerce이 상점 첫 번째 고객 주문 설명 섹션에 HTML 태그를 표시했습니다.
  • sales_shipment_grid.order_id에 대한 인덱스가 있는지 확인하는 자동화된 테스트 범위가 추가되었습니다.
  • POST V1/orders 호출은 이제 오류 없이 확장 특성을 업데이트합니다. 이전에는 SQL 구문 오류가 발생했습니다.

검색 search-heading

  • 이제 가격 범위에 대한 계층화된 탐색 옵션이 사용자 지정 가격 속성에서 예상대로 작동합니다. Adobe Commerce은 사용자 지정 가격 속성을 필터링할 때 가격 탐색 단계의 구성을 사용합니다. 이전에는 Adobe Commerce에서 수동 단계 구성을 사용했습니다.
  • 이제 상점에는 카탈로그에서 사용할 수 있는 범주 수에 관계없이 계층 탐색에서 현재 범주의 모든 하위 범주가 표시됩니다.
  • 이제 Elasticsearch 카탈로그 검색이 분음 부호를 구분하지 않습니다. 이전에는 강조가 없는 용어를 검색하면 강조가 있는 동일한 용어를 검색하는 것과 다른 결과가 표시되었습니다.
  • 이제 검색 가중치가 특수 문자가 포함된 SKU 속성에 대해 올바르게 설정됩니다.
  • category_name이(가) 시스템 예약 제품 특성 코드에 추가되었습니다. 이제 사용자가 특성 코드가 category_name인 제품 특성을 만들려고 할 때 Adobe Commerce에 오류가 표시됩니다. 이전에는 제품이 예상 범주에 나열되지 않았으며 Elasticsearch 오류가 기록되었습니다.
  • 이제 인기 검색어가 각 GraphQL 검색 쿼리 후에 업데이트됩니다.
  • 이제 Adobe Commerce은 Elasticsearch 가격 색인 매핑에 올바른 가격 필드를 추가합니다. 이전에는 웹 사이트 ID 대신 스토어 ID를 사용하여 색인에 잘못된 가격 필드가 추가되었습니다.

배송

  • 선적 이메일에는 현재 선적에 대한 추적 번호만 포함됩니다. 이전에는 주문에 여러 선적이 포함된 경우 각 선적의 이메일에 해당 주문과 관련된 모든 선적의 추적 번호가 포함되었습니다.
  • 이제 Adobe Commerce은 다중 배송 모드에 있는 동안 구매자가 장바구니에서 제품을 삭제한 다음 단일 배송 주소로 전환하면 미니 장바구니를 성공적으로 업데이트합니다. 이전에는 제품 가격이 예상대로 업데이트되지 않았습니다.
  • 이제 S3 저장소 어댑터를 사용할 때 테이블 속도 가져오기가 예상대로 작동합니다. 이전에는 Adobe Commerce에 다음 오류가 표시되었습니다. File "https://[bucket].s3.eu-central-1.amazonaws.com/[prefix]/tmp/phpLjGmHf" not found. GitHub-33072
  • 이제 스토어 > 구성 > 판매 > 판매 이메일 ​에서 예상대로 배송 업데이트 이메일을 비활성화할 수 있습니다. GitHub-33165
  • 이제 Adobe Commerce은 관리자 및 상점 송장 페이지 합계에 무료 배송 비용(0)을 표시합니다. 이전에는 주문에 대한 배송이 0일 때 Adobe Commerce은 송장 페이지 배송 총계에 배송 금액을 합계로 표시하지 않았습니다.
  • 온라인 운송업체에 대한 요금 요청이 여러 요청에서 하나로 줄어들었습니다. 이제 패키지 보험 및 품목/패키지당 취급 가격이 올바르게 계산됩니다. 이전에는 Adobe Commerce에서 FedEx 배송 방법에 대해 잘못된 배송 요율을 표시했습니다.
  • 이제 Adobe Commerce은 푸에르토리코에서 배송할 배송 레이블을 만들 때 UPS 요금을 표시합니다. 이전에는 Adobe Commerce에 이러한 UPS 요금이 표시되지 않았습니다.
  • 이제 입력함에서 제거한 후 배송지 주소가 예상대로 완전히 지워집니다. 이전에는 주소를 삭제한 후에도 텍스트 상자에 하나 이상의 문자가 유지되었습니다.

스테이징

  • 이제 제품 예약 업데이트 이미지 및 비디오가 올바르게 저장됩니다. 이전에는 새 예약 업데이트를 만든 후 비디오, URL, 제목 및 설명을 제거했습니다.
  • 이제 Adobe Commerce은 속성이 활성화된 스토어 보기에 대해 새 업데이트 예약 양식에 최소 광고 가격 속성을 표시합니다.
  • 이제 Adobe Commerce은 제품 예약 업데이트 양식에 예상대로 이미지 탭을 하나만 표시합니다. 이전에는 Adobe Commerce에서 이 탭을 복제했습니다.
  • 이제 제품 재고 상태가 예약 업데이트 미리 보기에 올바르게 표시됩니다. 이전에는, 일정 업데이트를 만드는 동안 이전에 비활성화된 제품을 활성화하면 제품 상태가 품절로 표시되었습니다.

저장

  • 이제 고객으로 로그인 기능이 다른 URL에 여러 스토어가 포함된 배포에서 예상대로 작동합니다. 이전에는 Adobe Commerce이 올바른 저장소 도메인에 액세스할 때에도 올바른 저장소를 로드하지 않았습니다.

사이트 전체 분석 도구

  • 판매자는 이제 예상대로 사이트 전체 분석 도구에 액세스할 수 있습니다. 이전에는 키 쌍이 손상되어 일부 판매자가 도구에 액세스할 수 없었습니다.

세금

  • 이제 Adobe Commerce은 고객이 여러 주소로 배송을 선택한 후 항목을 삭제할 때 미니 장바구니 소계를 올바르게 계산합니다.
  • 이제 Adobe Commerce은 장바구니에 가상 제품만 포함되어 있을 때 모든 체크아웃 페이지에 동일한 세율을 표시합니다.
  • 구성 가능한 제품의 계층 가격은 이제 상점 앞에 정확한 포함 및 제외된 세금 값을 표시합니다. 기존에는 포함·제외된 세금 모두에 동일한 값이 표시됐다. GitHub-33673

테스트

  • WebAPI 테스트가 이제 PHP 8.1과 호환됩니다. GitHub-34653
  • 상인들은 이제 상인의 위치가 아니라 쇼핑객이 있는 국가의 쇼핑객 경험을 시험해 볼 수 있다.
  • 통합 테스트 메모리 사용량이 감소하여 테스트 성능이 향상되고 테스트 완료에 필요한 시간이 단축됩니다.
  • storefront 및 Admin에 대한 사용자 지정 날짜 특성 형식을 확인하는 테스트를 추가했습니다.
  • StorefrontPOWorkflowVerifyApprovalFlowTabTest 오류가 수정되었습니다. GitHub-34378
  • WebAPI 테스트의 기능 문제를 수정했습니다. GitHub-34196
  • 거짓 양성 정적 테스트를 초래한 오류를 수정했습니다. GitHub-34056
  • call_user_func_array에 대한 테스트 범위가 업데이트되었습니다. GitHub-34301
  • AWS Elasticsearch Magento\GraphQl\CatalogGraphQl\ProductSearchTest::testSearchSuggestions Failed asserting that an array is not empty. /var/www/html/dev/tests/api-functional/testsuite/Magento/GraphQl/CatalogGraphQl/ProductSearchTest.php:94 /var/www/html/dev/tests/api-functional/framework/Magento/TestFramework/TestCase/GraphQlAbstract.php:257을(를) 사용하여 실행할 때 Magento\GraphQl\CatalogGraphQl\ProductSearchTest 테스트에서 이 오류가 더 이상 발생하지 않습니다.
  • 모든 모의 변수의 이름을 Mock 접미사를 포함하도록 바꾸고 더 이상 사용되지 않는 개체 관리자 클래스에 대한 참조를 제거하여 중요하지 않은 여러 단위 테스트 경고를 해결했습니다. GitHub-33695

  • 이제 Magento\Framework\MessageQueue\TopologyTest 테스트가 RabbitMQ 서비스용 AWS MQ와 호환됩니다. 이전에는 이 테스트가 다음 메시지 때문에 실패했습니다. Invalid exchange configuration: magento-topic-based-exchange1 Failed asserting that two arrays are equal.

  • 이제 단위 테스트가 PHP 8.1과 호환됩니다. GitHub-34441

단위 테스트

다음 단위 테스트는 AspectMock 대신 PHPUnit을(를) 사용하도록 리팩터링되었습니다.

AllureHelperTest GitHub-33294

ObjectHandlerUtil GitHub-33584

MockModuleResolverBuilder GitHub-33583

MagentoTestCase GitHub-33582

ModuleResolverTest GitHub-33308

ParallelGroupSorterTest GitHub-33306

SuiteGeneratorTest GitHub-33299

OperationDataArrayResolverTest GitHub-33296

테마

  • 이제 Adobe Commerce의 기본 URL에 하위 경로가 구성된 경우 알림 메시지가 올바르게 표시됩니다.
  • 링크를 클릭할 때 쇼핑객이 탐색할 페이지를 나타내는 aria-label 요소를 상점 첫 페이지 템플릿에 추가했습니다. 이전에는 다른 페이지에 연결되는 링크에 동일한 링크 텍스트가 사용되었습니다. GitHub-33075
  • 기존 사용자 지정 테마가 있는 저장소의 홈 페이지를 로드할 때 Adobe Commerce에서 더 이상 오류 메시지가 표시되지 않습니다. 이전에는 Adobe Commerce에 The store will not work correctly in the case when cookies are disabled 메시지가 표시되었습니다.

번역 및 로케일

  • UserExpiration 유효성 검사기가 de_DEuk_UA 로케일로 더 이상 실패하지 않습니다. 이전에는 Adobe Commerce에서 로케일이 de_DE 또는 uk_UA(으)로 설정된 관리자에서 새 사용자를 만들 때 관리자가 만료 날짜를 설정하려고 할 때 오류가 발생했습니다. GitHub-32497
  • 이제 주소 만들기 또는 편집 양식에 지속적으로 스위스 지역 이름이 영어로 표시됩니다. GitHub-32602
  • Sark 섬의 GY10 포스트코드를 지원하기 위해 Guernsey에 대한 zip_codes.xml 패턴을 업데이트했습니다. GitHub-33144
  • directory_country_region 테이블에 벨라루스 지역을 추가했습니다. GitHub-33924
  • 필리핀(필리핀) 로케일을 실행하는 상점이 있는 디스플레이 예외 항목이 해결되었습니다. GitHub-33996
  • 이제 포르투갈어(포르투갈) 로케일로 설정된 스토어에서 새 계정을 만들 때 고객 생년월일을 성공적으로 입력할 수 있습니다. 이전에는 계정을 만들려고 할 때 Adobe Commerce에서 오류가 발생했습니다. GitHub-34130
  • 이제 제품 세부 사항 페이지가 아랍어(사우디아라비아) 로케일과 함께 성공적으로 표시됩니다. 이전에는 이 로케일이 제품 세부 사항 페이지를 손상했습니다.

UI

  • maps.googleapis.com을(를) 사용하는 MFTF 테스트에서 오류가 수정되었습니다.
  • 이제 Adobe Commerce은 문의처 양식 이메일 입력 필드에서 줄바꿈하지 않는 공백 문자를 트리밍합니다. 이전에는 전자 메일 입력(제공된 경우)에서 줄바꿈하지 않는 공백 문자를 제거하지 않고 양식이 제출되어 로그 파일에 오류가 발생했습니다. 저장소 관리자에게 보낸 연락처 전자 메일 메시지에서 회신 주소 필드도 누락되었습니다.
  • 이제 Adobe Commerce은 관리자의 위치에 따라 관련 제품, 상향 판매 제품 및 교차 판매 제품을 표시합니다.
  • 이제 Multiselect을(를) 모달에서 사용할 때 .action-close 단추가 예상대로 작동합니다. 이전에는 action-close 단추가 모달의 .action-close 단추의 CSS를 상속했기 때문에 작동하지 않았습니다. GitHub-27240
  • 이제 오퍼 리치 코드 조각이 제품 보기의 기본 가격 필드에 표시됩니다. 이전에는 이 코드 조각이 제품 보기의 관련 제품 블록에 있는 이 필드에서 누락되었으므로 Google 검색 결과에 잘못된 가격이 표시되었습니다. GitHub-34063
  • iOS을 실행하는 장치에서 모달 높이 문제가 해결되었습니다. GitHub-34467
  • 이제 작업 드롭다운 메뉴가 상점 전체에서 올바르게 배치됩니다. GitHub-31379
  • 장바구니 및 체크아웃 페이지에서 탐색 시 발생하는 접근성 오류가 해결되었습니다. GitHub-34483
  • 이제 화면 판독기에서 제품 페이지의 모든 관련 양식 요소를 읽을 수 있습니다.
  • Storefront 카탈로그 제품 위젯 정렬 순서(카탈로그 > 범주 > 제품)가 이제 관리자에 구성된 순서와 일치합니다. GitHub-27126
  • 이제 영역 선택기가 계정 만들기 페이지의 예상대로 작동합니다. GitHub-30099
  • 이제 관리자 고객 그리드에 예상대로 새로 추가된 date 사용자 지정 특성을 포함하여 모든 고객 데이터가 표시됩니다. 이전에는 date 특성 집합이 열로 설정된 경우 Adobe Commerce에서 오류가 발생하고 관리자 고객 그리드가 올바르게 표시되지 않았습니다.
  • 카탈로그 > 제품 세부 정보 페이지의 입력 레이블이 입력 목적을 정확하게 반영하도록 변경되었습니다. 사용자 입력이 필요하지 않은 필드에는 더 이상 별표가 있는 레이블이 표시되지 않습니다.
  • 이제 Tab 키를 사용하여 리치 텍스트 편집기 도구 모음에 액세스할 수 있습니다.
  • 이제 컨트롤 이름에 페이지당 항목 수 드롭다운에 대한 표시 레이블 텍스트가 포함됩니다.
  • 이제 테이블이 축소될 때 카탈로그 > 제품 세부 정보 페이지의 테이블 컨트롤에 표시되는 레이블과 액세스 가능한 이름이 있습니다.
  • 이제 상점 전면의 버튼에는 고유하고 설명적인 액세스 가능한 이름이 있습니다. 이전에는 텍스트 단추와 아래쪽 화살표 아이콘 단추가 있는 분할 단추의 액세스 가능한 이름이 같았습니다.
  • 오늘 보기 옵션을 관리 주문 및 금액 대시보드 차트에 추가하여 하루 동안의 판매 및 주문에 대한 요약을 제공했습니다. GitHub-34008
  • 이제 다중 선택 닫기 단추의 활성(클릭) 상태가 일관되게 작동합니다. GitHub-34338
  • 쿠키 제한 모드를 사용하지 않도록 설정한 경우 업그레이드 후 Adobe Commerce에 이 메시지가 더 이상 표시되지 않습니다. The store will not work correctly in the case when cookies are disabled. GitHub-33811
  • 이제 모바일 장치에서 전체 화면 제품 이미지가 세로 썸네일 탐색 방향과 함께 테마에 올바르게 표시됩니다. 이전에는 전체 화면 모드에서 모바일 장치에서 세로 썸네일 탐색 방향을 사용하는 테마에서 제품 이미지의 크기가 잘못 조정되거나 표시되지 않았습니다.
  • 백엔드 저장소와 위젯 제품 동기화 구성 설정을 사용하도록 설정한 경우 제품 세부 정보 페이지의 오류 메시지가 더 이상 빠르게 사라지지 않습니다.
  • 음수 값에 대한 유효성 검사가 새 반환 만들기 양식의 반환할 수량 필드에 추가되었습니다.
  • 주소 검색 구성 설정이 활성화된 배포에서 쇼핑객이 [검토 및 결제] 페이지에서 주소 변경 ​을 클릭할 때 Adobe Commerce에서 더 이상 중복 주소를 표시하지 않습니다.
  • 이제 관리자 범주 페이지의 저장소 보기 범위에서 작업하는 동안 제한된 권한이 있는 관리자에 대해 제품 추가 단추가 예상대로 활성화됩니다.
  • 이제 Adobe Commerce에서 중단점 보기가 일관됩니다.
  • 이제 Adobe Commerce은 관리 고객 페이지에 사용자 지정 로케일과 함께 사용자 지정 고객 날짜 속성을 올바르게 표시합니다.
  • 브라우저 창 너비가 768px인 상태로 표시할 때 페이지 빌더를 사용하여 추가된 이미지가 더 이상 상점 전면에서 복제되지 않습니다. 이전에는 이 브라우저 창 너비를 사용하여 Adobe Commerce이 모바일과 데스크탑 버전 이미지를 모두 표시하여 상점 정면에 이미지를 복제했습니다.

URL 재작성

  • bin/magento setup:upgrade을(를) 실행할 때 새 저장소 보기를 만드는 동안 모든 저장소 보기에 대해 URL 다시 쓰기가 더 이상 생성되지 않습니다. GitHub-32954

Visual Merchandiser

  • Visual Merchandiser 재고 부족 상태에서 하단으로 이동 자동 정렬 옵션이 이제 모든 간단한 제품의 재고가 부족할 때 구성 가능한 제품에 대해 예상대로 작동합니다.
  • 조건이 추가되지 않은 경우 시각적 머천다이저 규칙이 더 이상 저장되지 않습니다.

웹 API 프레임워크

  • 지속적인 장바구니가 활성화되면 자체 인증 고객 리소스에 대한 웹 API 요청으로 인증 오류가 더 이상 발생하지 않습니다.
  • 이제 PHP 7.3에서 \Magento\Framework\Api\AbstractSimpleObjectBuilder의 자식 클래스를 사용하여 개체를 만들 수 있습니다. 이전에는 Adobe Commerce이 PHP 7.3이 있는 Redhat에서 호스팅될 때 preg_match에서 이 경고 메시지가 표시되었습니다. Warning: preg_match(): Compilation failed: unrecognized character follows....
  • 이제 PUT /V1/guest-carts/:cartId/collect-totals 요청에서 검색된 합계가 올바른 shippingMethod에 의해 업데이트됩니다. GitHub-18508
  • REST API에 새 역직렬화기를 추가해도 더 이상 다른 역직렬화기가 제거되지 않습니다. 이전에는 REST API에서 새 콘텐츠 유형을 허용했지만 API에 대한 CORE 정의 콘텐츠 유형이 더 이상 작동하지 않으며 400 오류가 반환되었습니다. GitHub-26433
  • 이제 webapi.xml 파일에 정의된 매개 변수의 재정의를 제거할 수 있습니다. GitHub-33843
  • 이제 Adobe Commerce은 여러 번 연속 실패한 로그인 시도 후 예상대로 GraphQL 또는 REST API 요청으로 customertoken을(를) 생성합니다. 이전에는 Adobe Commerce에서 oauth_token_request_loglock_expires_at 값이 현재 날짜 및 시간보다 큰지 확인하지 않았으며, 항상 실패한 시도 횟수를 반환하여 고객이 로그인할 수 없었습니다. GitHub-34067
  • 마스크된 따옴표 ID를 QuoteRepository::getList에 추가하면 더 이상 무한 루프가 발생하지 않습니다. 이전에는 REST API에 의존한 결제 프로세서를 사용하여 주문을 업데이트하면 이 동작이 트리거되었습니다. GitHub-33675
  • /rest/all/V1/categories/<above_created_category_id> 이제 PUT 호출은 available_sort_by에 의해 지정된 값을 준수합니다. 이전에는 범주 페이지에서 가능한 모든 옵션을 사용하여 사용 가능한 제품 목록 정렬 기준 드롭다운을 선택하고 모두 사용 확인란을 선택했습니다. GitHub-32596
  • 고객 토큰을 생성하기 위한 REST API 요청 성능이 개선되었습니다.
  • URL에 스토어 코드 추가 ​가 (으)로 설정되어 있고 REST 호출에 스토어 코드가 포함되지 않은 경우 발생하는 오류가 수정되었습니다. 페이로드가 유효하지만 호출에서 다음 오류를 반환했습니다. Fatal error: Allowed memory size of **&#x200B;**&#x200B;**&#x200B;**&#x200B;**&#x200B; bytes exhausted (tried to allocate &#x200B;**&#x200B;** bytes) in vendor/magento/module-store/Model/StoreRepository.php on line 75.
  • 이제 REST API를 사용하여 동일한 주문에 대한 부분 송장을 동시에 생성할 수 있습니다.

위시리스트

  • 사이드바에 표시 위시리스트 옵션이 비활성화되면 Adobe Commerce은 더 이상 카테고리 사이드바에서 위시리스트를 렌더링하지 않습니다. 이전에는 Adobe Commerce에서 이 옵션을 무시했습니다.

WYSIWYG

  • 이제 PageBuilder가 WYSIWYG 편집기를 사용하여 사용자 정의 위젯을 올바르게 렌더링합니다.

알려진 문제

문제: 판매자는 Adobe Commerce 2.4.4에서 Adobe Commerce 2.4.4-p1로 업그레이드하는 동안 패키지 버전 다운그레이드 알림을 볼 수 있습니다. 이러한 메시지는 무시할 수 있습니다. 패키지 버전의 불일치는 패키지 생성 중 예외 항목에서 발생합니다. 제품 기능은 영향을 받지 않았습니다. 영향을 받는 시나리오 및 해결 방법에 대한 자세한 내용은 2.4.4에서 2.4.4-p1🔗 기술 자료 문서로 업그레이드한 후 다운그레이드된 패키지를 참조하십시오.

문제: 가맹점은 Apple Pay through Braintree으로 결제한 주문에 대해 부분 환불을 제출할 수 없습니다. 판매자가 주문 송장의 부분 환불을 위해 대변 메모를 만들려고 할 때 환불 수량 필드를 편집할 수 없습니다. 해결 방법: 패치 braintree-disabled-partial-capture-for-applepay-googlepay.patch을(를) 적용합니다. Adobe Commerce 2.4.4: 부분 송장을 만들 수 없음 기술 자료 문서를 참조하십시오.

문제: 관리자 스토어 > 구성 > 일반 > 국가 옵션 > 국가 허용 ​에서 옵션을 선택하지 않으면 쇼핑객이 장바구니에 제품을 추가할 수 없습니다. 대신 Adobe Commerce에 다음과 같은 콘솔 오류가 표시됩니다. Failed to load resource: the server responded with a status of 400 (Bad Request).

문제: 파트너 및 확장 찾기 > Magento Marketplace ​의 Dotdigital 설명이 오래되었습니다. 다음은 업데이트된 설명입니다.

Dotdigital은 디지털 마케터와 개발자가 고객 여정 전반에 걸쳐 커뮤니케이션을 제공할 수 있도록 지원하는 고객 참여 플랫폼입니다. Dell은 고객 데이터의 강력한 기능을 활용하여 브랜드가 성장하고 확장될 때 고객의 참여, 전환 및 충성도를 강화합니다. 고객은 강력한 통찰력을 제시하고 예측 크로스 채널 메시지를 자동화하여 시스템 전반에서 자사 데이터를 연결하는 사용이 간편한 플랫폼을 좋아합니다.

Dotdigital의 350명 이상의 직원은 전 세계 및 전 세계 중견 시장 및 기업 기업을 대상으로 근무하고 있습니다. 당사는 책임 있는 마케팅을 고취하고자 하며 지속 가능성, 개인 정보 보호 및 보안에 전념하고 있습니다. Dotdigital은 ISO 14001, ISO 27701 및 ISO 인증을 받은 세계 최초의 탄소 중립 마케팅 자동화 플랫폼임을 자부하고 27001.

구매 및 다운로드 정보는 Dotdigital — Marketing Automation을 참조하십시오.

커뮤니티 기여

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

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

파트너 기여

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

파트너
가져오기 요청
관련 GitHub 문제
아트윅스
magento/magento2#33787 magento/magento2#33662 magento/magento2#33661 magento/magento2#33431 magento/magento2#33232 magento/magento2#33218 magento/magento2#33214 magento/magento2#32226 magento/magento2#32139 magento/magento2#32133 magento/magento#32117232112 magento/magento2#
magento/magento2#33689 magento/magento2#33635 magento/magento2#33556 magento/magento2#33806 magento/magento2#32381 magento/magento2#33786 magento/magento2#33785 magento/magento2#33784 magento/magento2#33775
아트윅스
magento/magento2#34839 magento/magento2#34827 magento/magento2#34821 magento/magento2#34820 magento/magento2#34819 magento/magento2#34793 magento/magento2#34788 magento/magento2#34781 magento/magento2#34774 magento/magento2#34769 magento/magento#34737234617 magento/magento2#34522 magento/magento2#34492 magento/magento2#34491 magento/magento2#34470 magento/magento2#34419 magento/magento2#34418 magento/magento2#34410 magento/magento2#34400 magento/magento2#34346 magento/magento#343022 magento/magento2#34298 magento/magento2#34257 magento/magento2#34256 magento/magento2#34207 magento/magento2#34152 magento/magento2#34149 magento/magento2#34128 magento/magento2#34114 magento/magento#34113 magento/magento#341102#34099 magento/magento2#34076 magento/magento2#34075 magento/magento2#34051 magento/magento2#34022 magento/magento2#33999 magento/magento2#33787 magento/magento2#33727 magento/magento2#33683 magento/magento2#33682 magento/magento#336622 magento/magento2#33661 magento/magento2#33571 magento/magento2#33549 magento/magento2#33547 magento/magento2#33530 magento/magento2#33454 magento/magento2#33431 magento/magento2#33232 magento/magento2#33218 🔗magento/magento#332142{1 01} magento/magento2#33149 magento/magento2#33124 magento/magento2#33106 magento/magento2#32999 magento/magento2#32997 magento/magento2#32986 magento/magento2#32877 magento/magento2#32792{117 🔗 8}magento/magento2#32771🔗 magento/magento2#32282 magento/magento2#32226 magento/magento2#32139 magento/magento2#32133 magento/magento2#32117 magento/magento2#32112 magento/magento2#31963 magento gento2#31894 magento/magento2#31877 magento/magento2#31785 magento/magento2#31774 magento/magento2#31100 magento/magento2#30803 magento/magento2#30562 magento/magento2#30526 magento to/magento#1 51} magento/magento2# 🔗
magento/magento2#34579 magento/magento2#34490 magento/magento2#34422 magento/magento2#34510 magento/magento2#34414 magento/magento2#34511 magento/magento2#34435 magento/magento2#34512 magento/magento2#34317 magento/magento2#32948 magento/magento#26254234316 magento/magento2#34314 magento/magento2#34313 magento/magento2#34312 magento/magento2#34311 magento/magento2#34315 magento/magento2#33747 magento/magento2#33589 magento/magento2#33689 magento/magento2#33531 magento/magento#336352 magento/magento2#33556 magento/magento2#33806 magento/magento2#32615 magento/magento2#32991 magento/devdocs#9248 magento/magento2#32821 magento/magento2#33788 magento/magento2#32381 magento/magento2#33786 🔗magento/magento#2 61} magento/magento2#33785 magento/magento2#33784 magento/magento2#33775 magento/magento2#33783 magento/magento2#30828 magento/magento2#33774 magento/magento2#33773
청도토리
magento/magento2#34484
크리시 테크노랩스
magento/magento2#34442 magento/magento2#34423 magento/magento2#34171 magento/magento2#34157
어안
magento/magento2#34185 magento/magento2#32720 magento/magento2#25279
magento/magento2#34513 magento/magento2#34356 magento/magento2#29647 magento/magento2#30241
Aligent 컨설팅
magento/magento2#33844
패스트 화이트 캣
magento/magento2#33658
magento/magento2#33839
기술 부서
magento/magento2#33369
magento/magento2#34451
MediaCT
magento/magento2#33227
magento/magento2#33984
Basecom
magento/magento2#32891
magento/magento2#32885
MRM COMMERCE
magento/magento2#32637
magento/magento2#32636
앰퍼샌드
magento/magento2#31879
maritos/magento2-performance-fixes#4
브랜둥
magento/magento2#31654
magento/magento2#30948
EY
magento/magento2#30995
magento/magento2#31019 magento/magento2#32625 magento/magento2#33696
몬순
magento/magento2#30001
magento/magento-semver#50
네츠
magento/magento2#27212
magento/magento2#29609
어안
magento/magento2#25279
magento/magento2#29647 magento/magento2#30241

개인 기여자 기여

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

기여 커뮤니티 구성원
가져오기 요청
관련 GitHub 문제
계단
magento/magento2#34873
magento/magento-beta#47
계단
magento/magento2#34555
bitExpert/phpstan-magento#152
케이트 키지마
magento/magento2#34491
magento/magento2#34579
케이트 키지마
magento/magento2#34470
magento/magento2#34490
케이트 키지마
magento/magento2#34419
magento/magento2#34422
케이트 키지마
magento/magento2#34418
magento/magento2#34510
케이트 키지마
magento/magento2#34410
magento/magento2#34414
케이트 키지마
magento/magento2#34400
magento/magento2#34511
계단
magento/magento2#34361
magento/magento2#32252
케이트 키지마
magento/magento2#34302
magento/magento2#34435
케이트 키지마
magento/magento2#34298
magento/magento2#34512
mrtuvn
magento/magento2#34290
magento/magento2#34467
케이트 키지마
magento/magento2#34256
magento/magento2#34317
vovsky
magento/magento2#34207
magento/magento2#32948 magento/magento2#26254
프레든
magento/magento2#34185
magento/magento2#34513
AZniukhin
magento/magento2#34148
magento/magento2#34130
케이트 키지마
magento/magento2#34113
magento/magento2#34316
케이트 키지마
magento/magento2#34110
magento/magento2#34314
케이트 키지마
magento/magento2#34099
magento/magento2#34313
케이트 키지마
magento/magento2#34075
magento/magento2#34312
케이트 키지마
magento/magento2#34051
magento/magento2#34311
안나팍
magento/magento2#34022
magento/magento2#34315
sagar2009kumar
magento/magento2#34001
magento/magento2#34067
바셰프
magento/magento2#34000
magento/magento2#33996
성직자
magento/magento2#33998
magento/magento2#34024 magento/magento2#34025
라고스트
magento/magento2#33948
magento/magento2#34338
드미트리 푸스
magento/magento2#33922
magento/magento2#33924
이호르-스비지예프
magento/magento2#33903
magento/magento2#33928 magento/magento2#23324
수세
magento/magento2#33886
magento/magento2#33680 magento/magento2#33755 magento/magento2#33945
넷스톰
magento/magento2#33874
magento/magento2#34008 magento/merchdocs#1686
보바야추크
magento/magento2#33851
magento/magento2#34483
안나팍
magento/magento2#33727
magento/magento2#33747
마르빈힌츠
magento/magento2#33726
magento/magento2#33760 magento/magento2#33908
실린미콜라
magento/magento2#33682
magento/magento2#33589
안나팍
magento/magento2#33662
magento/magento2#33689
바르틀로미에즈
magento/magento2#33658
magento/magento2#33839
서지-
magento/magento2#33530
magento/magento2#33531
qsolutions-pl
magento/magento2#33487
magento/magento2#33486
지티에시
magento/magento2#33468
fastly/fastly-magento2#466 magento/magento2#28102 magento/magento2#6401
몬테샷
magento/magento2#33449
magento/magento2#33334
안나팍
magento/magento2#33431
magento/magento2#33635
이호르-스비지예프
magento/magento2#33419
magento/magento2#34166
sippsolutions
magento/magento2#33369
magento/magento2#34451
이호르-스비지예프
magento/magento2#33324
klaviyo/magento2-klaviyo#133 magento/magento2#33675 magento/magento2#33676
야스페르제인스트라
magento/magento2#33227
magento/magento2#33984
케이트 키지마
magento/magento2#33218
magento/magento2#33556
케이트 키지마
magento/magento2#33214
magento/magento2#33806
키상
magento/magento2#33202
magento/magento2#33101
마나블루하르
magento/magento2#33172
magento/magento2#33698
마나블루하르
magento/magento2#33130
magento/magento2#33143
DrJohnM
magento/magento2#33128
magento/magento2#33144
크리스티나스톨보바
magento/magento2#33106
magento/magento2#32615 magento/devdocs#9248
라고스트
magento/magento2#33098
magento/magento2#34338
엥콤킬로
magento/magento2#33095
magento/magento2#32930
서맥 호흡기
magento/magento2#33067
magento/magento2#33075
엥콤폭스트로트
magento/magento2#33001
magento/magento2#32596
DmitryTsymval
magento/magento2#32986
magento/magento2#32991
변덕쟁이
magento/magento2#32891
magento/magento2#32885
차단
magento/magento2#32818
magento/magento2#33434
MJTheOne
magento/magento2#32814
magento/magento2#32819
이호르-스비지예프
magento/magento2#32808
magento/magento2#32954
우식
magento/magento2#32792
magento/magento2#32821
프레든
magento/magento2#32720
magento/magento2#34356
브고르스키
magento/magento2#32637
magento/magento2#32636
계단
magento/magento2#32286
magento/magento2#32289 magento/magento2#28326
케이트 키지마
magento/magento2#32282
magento/magento2#33788
안나팍
magento/magento2#32226
magento/magento2#32381
케이트 키지마
magento/magento2#32139
magento/magento2#33786
케이트 키지마
magento/magento2#32112
magento/magento2#33775
케이트 키지마
magento/magento2#31963
magento/magento2#33783
편리하
magento/magento2#31879
maritos/magento2-performance-fixes#4
니그원
magento/magento2#31654
magento/magento2#30948
키르모로조프
magento/magento2#31613
magento/magento2#33809
mrtuvn
magento/magento2#31413
magento/magento2#31379
다니
magento/magento2#30995
magento/magento2#31019 magento/magento2#32625 magento/magento2#33696
안나팍
magento/magento2#30803
magento/magento2#30828
케이트 키지마
magento/magento2#30562
magento/magento2#33774
우식
magento/magento2#30526
magento/magento2#33773
hws47a
magento/magento2#30001
magento/magento-semver#50
필립 샌더
magento/magento2#27212
magento/magento2#29609

시스템 요구 사항

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

설치 및 업그레이드 지침

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

마이그레이션 툴 키트

데이터 마이그레이션 도구는 기존 Magento 1.x 저장소 데이터를 Magento 2.x로 전송하는 데 도움이 됩니다. 이 명령줄 인터페이스에는 확인, 진행 추적, 로깅 및 테스트 기능이 포함됩니다. 설치 지침은 데이터 마이그레이션 도구 설치를 참조하십시오. 데이터 마이그레이션 저장소를 살펴보거나 기여해 보십시오.

코드 마이그레이션 도구 키트는 기존 Magento 1.x 저장소 확장 및 사용자 지정을 Magento 2.x로 전송하는 데 도움이 됩니다. 명령줄 인터페이스에는 Magento 1.x 모듈 및 레이아웃을 변환하는 스크립트가 포함되어 있습니다.

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