Adobe Commerce 2.4.3 릴리스 노트
Adobe Commerce 2.4.3에서는 향상된 성능 및 보안과 더불어 상당한 플랫폼 개선 사항이 도입되었습니다. 보안 개선 사항으로는 reCAPTCHA 적용 범위 확장 및 내장 속도 제한 포함 등이 있습니다. 코어 작성기 종속성 및 서드파티 라이브러리가 PHP 8.x와 호환되는 최신 버전으로 업그레이드되었습니다.
이 릴리스에는 코어 코드에 대한 370개 이상의 새로운 수정 사항과 33개의 보안 개선 사항이 포함되어 있습니다. Adobe Commerce 2.4.2 릴리스 정보에서 확인된 모든 알려진 문제는 이 릴리스에서 해결되었습니다.
Adobe Commerce 2.4.2-p2에 대한 정보는 Adobe Commerce 2.4.2-p2 릴리스 노트를 참조하십시오.
기타 릴리스 정보
이러한 기능에 대한 코드는 분기별 릴리스와 함께 번들로 제공되지만 이러한 프로젝트 중 일부(예: B2B, 페이지 작성기 및 프로그레시브 웹 애플리케이션(PWA) Studio)도 독립적으로 릴리스됩니다. 이러한 프로젝트에 대한 버그 수정은 각 프로젝트에 대한 설명서에서 사용할 수 있는 별도의 프로젝트별 릴리스 정보에 설명되어 있습니다.
API 속도 제한 문제를 해결하려면 MC-43048__set_rate_limits__2.4.3.patch를 적용하십시오.
이 핫픽스는 웹 API가 배열에 20개 이상의 항목을 포함하는 요청을 처리할 수 없는 문제에 대한 솔루션을 제공합니다. 이 문제는 Magento Open Source 2.4.3, Adobe Commerce 2.4.3 또는 2.3.7-p1을 실행하는 배포에 영향을 줍니다. 서비스 거부(DoS) 공격을 방지하기 위해 이러한 릴리스에 기본 속도 제한이 추가되었으며 기본 최대값이 20으로 설정되었습니다. 이 패치는 기본 제한을 더 높은 값으로 되돌립니다. 스토어 DoS Adobe Systems공격이 발생한 것으로 의심되는 경우 기본 입력 제한을 더 낮은 값으로 낮추어 요청할 수 있는 리소스 수를 제한하는 것이 좋습니다. Web API에서 배열🔗에 20개 이상의 항목이 있는 요청을 처리할 수 없음 기술 자료 문서를 참조하세요.
AC-384__Fix_Incompatible_PHP_Method__2.4.3_ce.patch를 적용하여 업그레이드 시 PHP 치명적 오류 해결
Adobe Systems Commerce 2.4.3으로 업그레이드하는 동안 다음과 같은 치명적인 오류가 발생할 수 있습니다.
PHP Fatal error: Uncaught Error: Call to undefined function Magento\Framework\Filesystem\Directory\str_contains() in [...]/magento/vendor/magento/framework/Filesystem/Directory/DenyListPathValidator.php:74
이 오류는 PHP 8.x 함수인 str_contains
함수를 사용했기 때문에 발생합니다. Adobe Commerce 2.4.3은 PHP 8.x를 지원하지 않습니다. 이 핫픽스는 이 함수를 지원되는 PHP 7.x 함수로 대체합니다. Adobe Commerce 업그레이드 2.4.3, 2.3.7-p1 PHP 치명적 오류 핫픽스 기술 자료 문서를 참조하십시오.
AC-3022.patch
을(를) 적용하여 DHL을 배송 운송업체로 계속 제공
DHL은 스키마 버전 6.2를 도입했으며 조만간 스키마 버전 6.0을 더 이상 사용하지 않을 예정입니다. DHL 통합을 지원하는 Adobe Commerce 2.4.4 및 이전 버전은 버전 6.0만 지원합니다. 이러한 릴리스를 배포하는 판매자는 가능한 한 빨리 AC-3022.patch
을(를) 적용하여 DHL을 운송 회사로 계속 제공해야 합니다. 패치 다운로드 및 설치에 대한 자세한 내용은 DHL을 배송업체로 계속 제공하려면 패치 적용 기술 자료 문서를 참조하십시오.
강조 표시
이 릴리스에서 다음 하이라이트를 확인하십시오.
상당한 보안 향상
이 릴리스에는 33가지 보안 수정 사항 및 플랫폼 보안 개선 사항이 포함되어 있습니다. 이러한 보안 수정 사항 중 대부분은 2.4.2-p2 및 2.3.7-p1로 백포트되었습니다.
RCE(원격 코드 실행) 및 XSS(교차 사이트 스크립팅) 취약점을 해결하는 데 도움이 되는 33가지 보안 개선 사항
현재까지 이러한 문제와 관련된 확인된 공격은 발생하지 않았습니다. 그러나 특정 취약성은 고객 정보에 액세스하거나 관리자 세션을 인수하는 데 잠재적으로 악용될 수 있습니다. 이러한 문제의 대부분은 공격자가 먼저 관리자에 대한 액세스 권한을 얻어야 합니다. 그 결과, IP 허용 목록에 추가, 2단계 인증, VPN 사용, /admin
이(가) 아닌 고유한 위치 사용, 양호한 암호 위생 등을 포함하여(그러나 이에 국한되지 않음) 관리자를 보호하기 위해 필요한 모든 조치를 취하도록 상기시켜 드립니다. 이러한 수정된 문제에 대한 자세한 내용은 Adobe Systems 보안 게시판🔗을 참조하십시오.
추가 보안 개선 사항
이 릴리스의 보안 개선 사항은 다음을 포함한 최신 보안 모범 사례의 규정 준수를 향상시킵니다.
-
새로운 Composer 플러그인 은 종속성 혼동을 방지하고 공용 패키지 저장소의 내부 패키지와 동일한 이름을 가진 악성 패키지를 식별하는 데 도움이 됩니다. Adobe Systems 릴리스 2.4.3 릴리스의 새로 만들기 Composer 플러그인 블로그 게시물을 참조하십시오.
-
이제 DoS(서비스 거부) 공격을 방지하기 위해 API 에 속도 제한이 내장되어 있습니다. 이제 Web API는 클라이언트가 요청할 수 있는 리소스의 크기 또는 수(기본 최대값은 20으로 설정되며 비즈니스 요구 사항에 따라 다른 값으로 구성할 수 있음)에 제한을 적용합니다. 이러한 제한을 구성하는 방법에 대한 자세한 내용은 속도 제한을🔗 참조하십시오.
-
ReCAPTCHA 적용 범위가 다음을 포함하도록 확장 되었습니다.
-
해당 HTML 페이지가 있는 웹 API는 ReCAPTCHA를 통해 다룹니다. (통합에서 액세스하는 웹 API는 제외됩니다.) ReCAPTCHA 적용 범위는 스팸 공격으로부터 엔드포인트를 보호합니다. OAuth를 사용하는 서드파티 통합 서비스에서 웹 API에 액세스하면 ReCAPTCHA가 비활성화됩니다.
-
주문하기 상점 페이지 및 결제 관련 웹 API입니다. 이러한 페이지에 대한 ReCAPTCHA 보호는 기본적으로 비활성화되어 있으며 관리자가 활성화할 수 있습니다. 이 적용 범위는 카딩 공격으로부터 매장을 보호하기 위해 무차별 대입 방지 메커니즘을 추가합니다.
-
인프라 개선
이 릴리스에는 프레임워크의 품질과 다음 기능 영역을 개선하는 개선 사항이 포함되어 있습니다.
-
고객 계정
-
카탈로그
-
CMS
-
OMS
-
가져오기/내보내기
-
프로모션 및 타기팅
-
장바구니 및 체크아웃
-
B2B
-
스테이징 및 미리보기
PayPal이 포함된 배포에서 PayPal 나중에 결제 지원 이 기능을 통해 구매자는 구매 시 전체 금액을 지불하는 대신 2주 단위로 주문 금액을 지불하는 것이 가능하다.
새 use_application_lock
인덱싱 모드. use_application_lock
모드를 사용하면 환경 변수를 사용하거나 app/etc/env.php
파일을 구성하여 다시 인덱싱을 사용할 수 있습니다. 이 모드가 활성화된 상태에서 실패 후 더 이상 인덱서를 수동으로 재설정할 필요가 없습니다. 다시 인덱싱 프로세스에 응용 프로그램 잠금 모드 사용을 참조하세요.
플랫폼 개선 사항
버전 2.4.3은 아직 PHP 8.x와 호환되지 않지만, 다음의 플랫폼 업그레이드는 PHP 8.x와의 향후 호환성에 더 가깝게 우리를 제공합니다.
-
Core Composer 종속성 및 타사 라이브러리가 PHP 8.x와 호환되는 최신 버전으로 업그레이드되었습니다.
-
KnockoutJS 라이브러리가 v3.5.1(최신 버전)로 업그레이드되었습니다.
-
더 이상 사용되지 않는 TinyMCE v3 라이브러리가 제거되었습니다. TinyMCE v3.x와 관련된
Magento_Tinymce3Banner
모듈 및 MTF 테스트가 Adobe Commerce에서 제거되었습니다. -
버전 2.4.3은 테스트를 거쳤으며 Redis 6.0.12와 호환되는 것으로 확인되었습니다. (버전 2.4.x는 Redis 5.x와 호환됩니다.)
-
Laminas 라이브러리 종속성이 PHP 8.x 호환 버전으로 업그레이드되었습니다. 파일에서 일부 중복 종속성이
composer.json
제거되었습니다. Adobe Systems Commerce 2.4.3에서는 Laminas 3.4.0 을 사용합니다.
성능 향상
이 릴리스에는 제품 가격 및 카탈로그 규칙 인덱서에 대한 인덱싱 시간을 줄이는 향상된 기능이 포함되어 있습니다. 판매자는 이제 고객 그룹 또는 공유 카탈로그에서 웹 사이트를 제외할 수 있으므로 인덱싱을 위한 레코드 수가 줄어들고 인덱싱 시간이 단축됩니다.
라이브 검색
🔗Adobe Sensei 🔗 기반 라이브 Search는 인공 인텔리전스 및 머신 러닝 알고리즘을 사용하여 집계된 방문자 데이터에 대한 심층 분석을 수행함으로써 직관적인 검색 경험 제공합니다. 실시간 검색 릴리스 정보를 참조하세요.
그래프QL
이 릴리스에는 다음 기능에 대한 GraphQL 지원이 추가되었습니다.
-
공유 카탈로그
-
희망 목록. addWishlistItemsToCart 돌연변이이(가) 지정된 위시리스트에서 고객의 장바구니로 항목을 이동합니다.
-
선물 등록. 포함된 작업:
-
giftRegistry 쿼리를 사용하여 고객의 선물 등록 내용을 반환합니다.
-
선물 등록기를 만들기, 업데이트 또는 삭제합니다.
-
초대받은 사람과 선물 레지스트리를 공유합니다.
-
-
협상 가능한 견적.
negotiableQuote
및negotiableQuotes
쿼리를 참조하세요.새로운 돌연변이는 다음과 같습니다.
-
공유된 경로. 라우팅 쿼리 및 RoutableInterface는 제품, 범주 및 CMS 페이지에서 라우팅 요청을 지원합니다.
urlResolver
쿼리는 더 이상 사용되지 않으며 해당 기능은route
쿼리로 대체되었습니다.
이러한 개선 사항에 대한 자세한 내용은 GraphQL 개발자 안내서를 참조하십시오.
B2B
버전 2.4.3에서는 B2B v1.3.2가 도입되었습니다. 이 릴리스에는 여러 버그 수정이 포함됩니다. B2B 릴리스 정보를 참조하세요.
페이지 빌더
이제 Page Builder를 Magento Open Source에서 번들 확장으로 사용할 수 있습니다. 이제 Adobe Commerce 2.4.3 및 Magento Open Source 2.4.3의 기본 컨텐츠 편집 도구입니다. WYSIWG 편집기를 서드파티 모듈로 대체할 수 있습니다.
페이지 빌더는 다음 관리 영역에서 TinyMCE 편집기를 대체합니다.
- CMS 페이지
- CMS 차단
- 범주 설명
- 제품 설명
TinyMCE에서 만든 모든 콘텐츠는 HTML으로 페이지 빌더로 마이그레이션되었습니다.
PWA Studio
개선 사항 및 버그 수정에 대한 자세한 내용은 PWA Studio 릴리스를 참조하십시오. PWA Studio 버전 및 호환 버전 목록은 호환성을 참조하십시오.
업그레이드 호환성 도구
호환성 업그레이드 도구의 범위가 커뮤니티의 피드백을 기반으로 확장되었습니다. #upgrade-compatibility-tool Slack 채널에 참여하여 Adobe 제품 팀과 커뮤니티의 지원을 받고 도구의 향후 방향을 안내해 보세요.
Cloud Managed Services 업데이트
이번 릴리스에는 Amazon Simple Storage Service(AWS S3) 및 Amazon Aurora Managed Services에 대한 지원이 개선되었습니다. AWS ElastiCache, AWS Elasticsearch 및 AWS 관리 큐(Rabbit MQ)에 대한 인증된 지원을 제공합니다. (Dell은 이러한 서비스의 기능, 성능 및 Adobe Commerce과의 통합을 테스트했습니다.)
Adobe Stock 통합
이 릴리스에는 Adobe Stock 통합 v2.1.1이 포함되어 있습니다.
공급업체가 개발한 확장
이 릴리스의 기능 및 변경 사항에 대한 업데이트는 다음 항목을 참조하십시오.
-
Amazon 결제. Amazon Pay는 더 이상 사용되지 않으며 이후 2.4.x 릴리스에서 제거됩니다. 버전 2.4.3 이상에는 호환성에 대한 업데이트와 주요 버그에 대한 수정 사항만 포함됩니다.
해결된 문제
2.4.3 코어 코드에서 수백 개의 문제를 해결했습니다.
설치, 업그레이드, 배포
- 이제
bin/magento setup:db:status
명령은 성공적으로 업그레이드한 후 모든 항목이 최신 상태임을 나타내는 메시지를 반환합니다. 이전에는 응용 프로그램에서 다음 오류가 표시되었습니다.Declarative Schema is not up to date
.
- 이제 구성 가능한 새 제품 만들기가 실패할 때 양식을 다시 로드할 때 구성 값이 유지됩니다. 이전에는 양식 다시 로드 중에 값이 손실되어 응용 프로그램에 다음 오류가 표시되었습니다.
The value specified in the URL Key field would generate a URL that already exists
. GitHub-32102
bin/magento setup:upgrade
을(를) 실행하여 Redis를 사용하는 Magento Open Source 배포에서 Adobe Commerce으로 업그레이드할 때 응용 프로그램에서 더 이상 예외가 발생하지 않습니다.
- 이전에 만든 장바구니 가격 규칙은 이제 배포가 Magento Open Source에서 Adobe Commerce으로 업그레이드된 후 콘텐츠 스테이징 대시보드 페이지에 표시됩니다.
- Galera Cluster에서 실행되는 배포는 이제 더 많은 고객을 지원합니다. GitHub-31038
- 이제 관리자는 애플리케이션 프로그램이 에서 옵션을 사용하거나
—use-rewrites=0
web/seo/use_rewrites
0으로 설정된 상태로 설치된 경우 배포 시 성공적으로 로그인할 수 있습니다core_config_data_table
. GitHub-32100
AsyncCssPlugin
에 대한sortOrder
로드를 업데이트했습니다. 이제 응용 프로그램이JsFooterPlugin
전에AsyncCssPlugin
을(를) 로드합니다. GitHub-30882
- 이제
Magento\Config\Model\Config\PathValidator
이(가) 표시 경로를 확인하여 요소가 존재하는지 확인하고 구성 경로가 있는지 확인하고 유효성 검사에 대신config.xml
경로를 사용합니다. GitHub-27678
- Grunt를 사용하거나 서버측 컴파일을 사용하여 더 적은 파일을 컴파일하면 이제 동일한 결과가 생성됩니다. 전에.
.abs- styles
다른.abs- styles
in_extends.less
을 확장하는 는 Grunt로 컴파일 할 때 제대로 출력되지 않았습니다. 이로 인해 프로덕션 배포와 개발 배포 간에 차이가 발생했습니다. GitHub-7231
관리자 GWS
- 이제 관리자 GWS는 사용자 지정 권한이 있는 관리자를 위해 관리자 컬렉션의
website_id
SQL 조건에 대해int
값을 사용합니다.
Adobe Stock 통합
- 이제 API 키(클라이언트 ID) 및 클라이언트 암호 가 설정되지 않은 경우 Adobe Stock 검색 페이지에서 응용 프로그램이 관리 스토어 > 구성 > 고급 > 시스템 페이지에 정보 메시지와 링크를 표시합니다. 이전에는 응용 프로그램에
We couldn't find any records
오류가 표시되었지만 링크가 없습니다.
백엔드
- 제한된 액세스 권한(예: 하나의 웹 사이트에만 액세스 권한이 할당된 관리자)을 가진 관리자는 더 이상 글로벌 범위로 설정된 카테고리를 편집할 수 없습니다.
- 생성된 시스템 보고서(시스템 > 지원 > 시스템 보고서)가 올바르게 렌더링되었습니다. 이전에는 보고서 콘텐츠가 잘못 정렬되었습니다.
- 이제 번들 제품을 만드는 동안 동적 가격 설정을 사용하도록 설정하면 응용 프로그램에서 가격 필드에 대한 유효성 검사를 예상대로 끕니다. 이전에는 동적 가격 설정을 사용하도록 설정한 경우 가격 필드에서 값을 제거할 때 응용 프로그램에서 유효성 검사 오류가 발생했습니다. GitHub-26214
- 애플리케이션이 두 URL에서 액세스할 수 있도록 구성된 배포에서 관리자 URL이 기본 웹 사이트 URL과 다를 경우 더 이상 무한 리디렉션이 발생하지 않습니다.
번들 제품
- 이제
addProductsToCart
돌연변이를 사용하여 두 개 이상의 확인란 옵션이 있는 번들 제품을 장바구니에 추가할 수 있습니다.
- 이제 임시 테이블을 사용하여 번들 제품의 가격 색인화가 실행되므로 데이터베이스 테이블이 잠기지 않습니다. 이전에는 응용 프로그램에서 실제 테이블을 사용했기 때문에 테이블이 잠겼습니다.
- 이제 번들 항목의 가격을 0.00으로 설정할 수 있습니다. 이전에는 가격을 0.00으로 설정한 후 편집 페이지로 돌아오면 가격이 기본값으로 반환되었습니다. GitHub-32383
- 이제 번들 제품이 포함된 주문의 주문 세부 사항에 주문 전에 가격이 변경된 경우 번들 제품에 대한 정확한 가격이 표시됩니다.
- 번들 제품 스톡 상태는 이제 하위 제품의 스톡 상태에 따라 업데이트됩니다. 이전에는 번들 제품이 제품에서 한 개의 옵션을 제거하면 품절로 표시되었으며, 번들 제품에는 동일한 SKU를 사용하는 두 개의 옵션이 있습니다.
- 이제 관리자는 번들 제품의
Shipment Type
특성 값을 다른 특성 그룹으로 이동한 후 변경할 수 있습니다. 이전에는 이 특성을 특성 집합에서 기본 그룹이 아닌 특성 그룹으로 이동할 경우 항상Together
값으로 저장했습니다.
- 이제 GraphQL
setGuestEmailOnCart
돌연변이가 게스트 이메일을 올바르게 업데이트합니다. 이전에는 견적 및 견적 주소 표가 업데이트되지 않았습니다.
- 이제 REST API 호출을 통해 하위 제품을 번들 제품으로 추가, 제거 또는 업데이트하면 예상대로 다시 색인화가 트리거됩니다. 이전에는 이러한 작업이 재색인화를 트리거하지 않았으며, 그 결과 번들 제품은 수동 재색인화가 수행될 때까지 재고 상태를 변경하지 않았습니다.
- 이제 애플리케이션에서 계층 가격이 있는 번들 제품에 대한 올바른 가격 범위를 표시합니다. GitHub-30284
- 이제 애플리케이션에서 번들 옵션의 가격이 변경된 후 장바구니 페이지 및 체크아웃 워크플로의 배송 단계에서 예상한 것과 동일한 총 가격을 표시합니다.
- 이제 고객 장바구니에서 액세스하여 번들 제품을 성공적으로 구성할 수 있습니다. 이전에는 제품 구성 페이지가 완전히 로드되지 않았으며 설정을 저장할 수 없었습니다.
- 판매자는 이제 다중 스토어 배포의 각 스토어 보기에서 번들 제품에 대한 고유 가격을 할당할 수 있습니다. 웹 사이트별 가격이
catalog_product_bundle_selection_price
표에 저장됩니다. 이전에는 스토어 > 구성 > 카탈로그 > 카탈로그 > 가격 > 카탈로그 가격 범위 가Website
(으)로 설정된 경우에도 애플리케이션에서 웹 사이트 범위에 번들 제품의 가격을 기준으로 하지 않았습니다.catalog_product_bundle_selection_price
에 웹 사이트별 가격이 저장되지 않았습니다. GitHub-12584
- 다이내믹 가격 책정 을(를) 사용하지 않도록 설정하면 번들 제품에 대한 인보이스에 연결된 단순 제품에 대한 올바른 수량이 표시됩니다. 이전에는 번들 제품과 연계된 단순 제품의 수량이 번들 제품이 아닌 상위 제품의 수량이었습니다. GitHub-30802
updateProductsInWishlist
돌연변이가 이제 위시리스트의 번들 제품에 속하는 항목을 성공적으로 업데이트했습니다. 이전에는 이 돌연변이가 위시리스트 항목을 업데이트하는 대신 항목을 삭제하고 새 항목을 만들어 항목 ID를 변경했다.
- 이제
POST /V1/product/:sku
끝점을 사용하여 번들 제품을 만들거나 업데이트하는 동안required_options
및has_options
번들 특성을 예상대로 설정할 수 있습니다. 이전에는 이러한 사용자 지정 속성을 1(1)로 설정하려는 노력에도 불구하고 0으로 설정되었습니다.
- 이전에 누락된 번들 제품 데이터가 이제 스테이징 프로세스에 포함됩니다. 따라서 구매자가 제품 목록 페이지에서 번들 제품을 구매한 경우와 제품 페이지에서 직접 번들을 추가한 경우의 제품 비헤이비어의 불일치가 해결됩니다.
캐시
varnish6.vcl
파일이 고객 페이지의 캐싱을 무시하도록 업데이트되었습니다.
CAPTCHA
- 이제 CAPTCHA가 구매자가 제공한 데이터를 올바르게 확인하고, 이제 구매자가 PayPal Payflow Pro를 사용하여 여러 번 체크아웃하려고 시도했지만 실패한 후 CAPTCHA 필드가 예상대로 표시됩니다.
- 체크아웃 워크플로의 결제 페이지에서 CAPTCHA 유효성 검사가 더 이상 임의로 실패하지 않습니다.
- 이제 실패한 완료 시도 횟수를 초과하면 애플리케이션에서 예상대로 CAPTCHA 필드를 표시합니다. 이전에는 애플리케이션에서 CAPTCHA 문제를 다시 시도하도록 요청했지만 CAPTCHA 필드가 표시되지 않았습니다.
- 이제 CAPTCHA가 체크아웃 페이지에서 예상대로 작동합니다. 이전에는 쇼핑객이 CAPTCHA 문제를 올바르게 응답한 후 체크아웃 페이지의 로더가 완료되지 않았으며 응용 프로그램에 다음 오류가 표시되었습니다.
captchaData[formId] is undefined
. (이 오류는 쇼핑객이 이전에 2.3.5-p1을 실행하는 배포에 액세스한 브라우저와 동일한 브라우저를 사용한 경우에만 발생했습니다.)
_.isEmpty()
이(가)defaultCaptcha.js
파일을 성공적으로 확인했습니다. 이전에는 이러한 확인이 완료되지 않았으므로 업그레이드 후 체크아웃 페이지 로드가 실패했습니다. GitHub-31641
장바구니 및 체크아웃
- 이제 애플리케이션은 장바구니에서 제품 수량을 변환하고 업데이트할 때 로케일별 소수 로케이터를 계정 고려합니다.
- 주문에서 더 이상 배송 주소와 함께 제공된 고객 이름을 생략하지 않습니다. 이전에는 플래그 지정이 데이터베이스에 저장되지 않았기 때문에
same_as_billing
이름이 생략되었습니다.
- 이제 장바구니에서 제품을 편집할 때 기프트 등록에 대한 링크가 예상대로 유지됩니다. 이전에는 장바구니 업데이트 단추를 클릭했을 때 이러한 링크가 사라졌습니다.
- 소비자
quoteItemCleaner
에 대한 모든 큐 메시지는 이제 여러 제품이 삭제된 후 상태가complete
예상대로 변경됩니다. 이전에는 이 소비자에 대한 메시지 한 개만 상태가complete
(으)로 변경되었으며 나머지 메시지는in progress
(으)로 변경되었습니다.
- 이제 애플리케이션은 쇼핑객이 주문 하기 버튼 버튼을 클릭 할 때만 관련 블록에 약관 유효성 검사 메시지를 표시합니다. 이전에는 결제 작업 과정
The order wasn't placed. First, agree to the terms and conditions, then try placing your order again
에서 쇼핑객 결제 방법을 변경할 때마다 애플리케이션 적용 할인 Code 블록에 이 메시지를 표시했습니다.
- 이제 업데이트 예약 미리 보기에서 장바구니에 번들 제품을 추가하고 장바구니를 클릭하면 예상대로 체크아웃 페이지로 리디렉션됩니다. GitHub-447
- 이제 구매자가 업데이트 단추를 클릭하지 못하고 배송 단계로 돌아간 경우 결제 결제 단계에서 결제 주소 양식 변경 사항을 애플리케이션에서 버립니다.
- 이제 쇼핑객이 잘못된 제품 수량을 추가하고 장바구니 관리 페이지에서 항목 및 수량 업데이트 단추를 클릭할 때 애플리케이션에 정보 오류 메시지가 표시되고 제품 수량이 업데이트되지 않습니다. 이전에는 애플리케이션에서 제품 수량을 업그레이드하여 오류 메시지가 표시되지 않았습니다. GitHub-459
- 사용자 지정 가능한 옵션
(File)
이(가) 있는 제품에는 이제 다중 배송 체크아웃 프로세스 전체에서 예상대로 활성 링크가 포함됩니다. 이전에는 이 링크가 없었습니다. GitHub-31095
- 이제 관리 장바구니에서 여러 통화를 지원하는 스토어의 제품 가격을 올바른 통화로 표시합니다. 이전에는 가격이 지정된 통화로 두 번 이상 전환되었습니다. 처음에는 상점 앞쪽에서 장바구니에 제품이 추가되었고 그 다음에는 나중에 관리자에서 주문이 렌더링될 때 다시 전환되었습니다.
- 이제 애플리케이션은 관리자가 상점 첫 화면에서 쇼핑객이 만든 관리자의 주문을 완료한 후 예상대로 장바구니를 비웁니다. 이전에는 관리자가 주문을 완료한 후 고객이 다시 로그인하면 상점 장바구니에 주문 콘텐츠가 여전히 포함되었습니다. GitHub-30262
- 이제 구매자는 최소 광고 가격(MAP)이 일반 제품 가격을 초과하는 제품을 장바구니에 추가할 수 있습니다.
- 이제 구매자는 여러 주소로 체크아웃할 때 체크아웃 워크플로우에서 청구 주소를 성공적으로 변경할 수 있습니다.
- 게스트가 생성한 모든 유료 결제 거래는 이제 데이터베이스에 저장되고 예상대로 관리자에 표시됩니다. 이전에는 일부 소규모 동시 주문만 데이터베이스에 저장되었으며 데이터베이스 잠금으로 인한 시간 초과로 인해 대부분의 주문이 손실되었습니다. GitHub-25862
- 이제 게스트가 미니 장바구니에 제품을 배치할 때 애플리케이션에서 특수 문자가 포함된 인라인 환영 메시지를 올바르게 표시합니다. 이전에는 애플리케이션이 미니 장바구니에 제품을 추가하거나 시작 메시지를 표시하지 않았습니다. GitHub-32250
- 매장 배달을 활성화하면 체크아웃 워크플로우의 배송 페이지가 성공적으로 로드됩니다. 이전에는 애플리케이션에서 JavaScript 오류가 발생했으며 배송 체크아웃 페이지가 완전히 렌더링되지 않았습니다.
- 카탈로그
di.xml
파일에itemResolvers
인수를 추가했습니다. 따라서 구성 가능하고 그룹화된 제품 모듈이 비활성화된 경우 체크아웃이 더 이상 중단되지 않습니다. GitHub-30860
- 이제 응용 프로그램에서 관리자 순서 변경 작업 과정에서 예상한 대로 결제 및 배송 정보 섹션에 라디오 단추를 표시합니다. GitHub-30257
- 이제 장바구니에 여러 옵션이 있는 번들 제품이 포함된 경우, 애플리케이션에서 장바구니 수준 고정 할인과 함께 장바구니 가격 규칙을 올바르게 적용합니다. 이전에는 장바구니 가격 규칙이 주문에 완전히 적용되지 않았습니다. GitHub-30952
- 범주 목록 보기의 장바구니에 추가 단추가 예상대로 작동합니다. GitHub-32232
- 이제
/V1/carts/mine/items
POST을 사용하여 그룹화된 제품의 사용자 지정 수량을 장바구니에 추가할 수 있습니다. GitHub-26909
- 애플리케이션이 더 이상 체크아웃 워크플로우의 청구 주소 영역을 배송 주소로 채우지 않습니다. 이전에는 청구 주소의 시/도 필드가 비어 있고 배송 주소와 청구 주소가 다른 경우 응용 프로그램에서 청구 주소 시/도 필드를 배송 주소의 정보로 채웠습니다. GitHub-31608
카탈로그
- 수량 증가 활성화 및 수량 증가 속성의 대량 업데이트가 예상대로 작동합니다. GitHub-29544
- 이제 숫자 전용 SKU가 포함된 공유 카탈로그를 복제할 수 있습니다. 이전에는
\Magento\Catalog\Model\ProductIdLocator
클래스가 숫자 전용 SKU에서 올바르게 작동하지 않아 공유 카탈로그를 복제하려고 할 때 응용 프로그램에서 오류가 발생했습니다.
- 관리자와 최근 제품 동기화를 활성화한 후 애플리케이션에서 더 이상 JavaScript 오류가 발생하지 않습니다. 이전에는 응용 프로그램에 이 JavaScript 오류가 표시되었습니다.
Cannot read property 'status' of undefined
.
- 이제 사용자 지정 테마 레이아웃 업데이트가 예상대로 적용됩니다. 이전에는 사용자 지정 테마 레이아웃 업데이트가 무시되었습니다.
- 이제
indexer_update_all_views
실행 중에cron
에서 예상대로 제품 범주 캐시를 지웠습니다. 이전에는 다시 색인화한 후 범주 페이지 상의 제품 수가 정확하지 않았습니다.
- 스토어 보기에 대한 제품 업데이트 REST API 요청에 특성이 지정되지 않은 경우 속성 값은 이제 변경되지 않습니다. 이전에는 속성이 지정되지 않은 경우 응용 프로그램이 속성 값을 기본 범위 값으로 재설정했습니다.
- 이제 제품이 SKU로 필터링될 때 관리 제품 표(관리자 카탈로그 > 제품)에 올바른 제품 수가 표시됩니다.
- 이제 범주 권한이 활성화된 경우 CMS 페이지에 제품이 추가되면 애플리케이션에서 정확한 재고 상태를 표시하고 지정된 고객 그룹의 가격을 표시할 수 없습니다. 기존에는 실물 재고 여부와 관계없이 모든 상품이 품절로 나타났다.
- 이제 Advanced Pricing 고객 그룹 가격 블록 가격 입력 필드의 최소 너비는 5자리입니다. 이전에는 저해상도 디스플레이의 이 필드에 두 개의 기호만 표시되었습니다.
- 이제 애플리케이션은 제품을 삭제한 후 제품 미디어 이미지를 성공적으로 삭제합니다. 이전에는 제품을 삭제한 후 제품 미디어 이미지가 폴더에 남아 있었습니다.
- 이제 관리자에서 제품을 만들거나 편집한 다음 예약 디자인 업데이트를 만들 때 페이지 레이아웃이 예상대로 업데이트됩니다. GitHub-32007
- 이제 값이 0인 사용자 지정 제품 속성을 공백으로 저장할 수 있습니다. 이전에는 이 값이 공백으로 업데이트되지 않았습니다.
- 이제 사용자 지정 범주 레이아웃 업데이트 파일이 예상대로 제품에 적용됩니다. 이전에는 업데이트 파일 핸들(
catalog_category_view_*
)이 제품 핸들과 일치하지 않았습니다. GitHub-27285
- 관리자 제품 목록의 고정 제품 세금(FPT) 열에 대해 정렬이 비활성화되었습니다. 이전에는 FPT 열이 정렬된 후 제품 페이지를 다시 로드할 수 없었습니다.
- 이제 각 웹 사이트에서 일치하는 제품의 가격이 다를 때 다중 웹 사이트 배포에서 페이지 빌더 제품 위젯 미리 보기가 예상대로 작동합니다.
- GET
/rest/V1/products/?searchCriteria[filterGroups]
을(를) 사용하여 제품 검색에서 위치별 정렬이 이제 예상대로 작동합니다. 이전에는 제품 컬렉션에 정렬에 대한 필드position
값이 없었습니다. GitHub-31591
- 이제 관리 사용자는 제품 그리드의 이름 및 SKU 필드에서 두 개의 공백을 볼 수 있습니다. 이전에는 애플리케이션이 여러 공간을 단일 공간으로 축소했습니다.
- 이제 제품의 판매 가능 수량 관리자가 0일 때 상점에 재고 부족으로 표시됩니다. 이전에는 이러한 제품이 상점에 재고로 나열되었으며 애플리케이션 에 활성 장바구니 추가 버튼 이 표시되었습니다. GitHub-31117
- 이제 관리자는 사용자 지정 가능한 옵션
(File)
이(가) 있는 제품을 고객 관리 페이지의 장바구니 섹션(고객의 활동 열)에서 주문한 항목 그리드에 추가할 수 있습니다. 이전에는 값이\Magento\Catalog\Model\Product\Type\AbstractType::_prepareOptions
에 삽입되기 전에 올바른 형식을 지정하지 않았기 때문에 응용 프로그램에서 항목을 목록에 추가하지 않았습니다.
- 이 애플리케이션은 구매자에게 하나의 옵션만 있는 번들 제품에 대한 제품 옵션을 선택하라는 메시지를 더 이상 표시하지 않습니다.
- 이제 새 위젯을 만드는 동안 애플리케이션에서 레이아웃 업데이트의 모든 하위 범주(앵커 및 비앵커 범주)를 표시합니다.
- 하나의 스토어 보기에 대해서만 제품 이름이 업데이트된 경우
product
쿼리가 다중 스토어 배포의 모든 스토어 보기에 대한 기본값을 더 이상 덮어쓰지 않습니다. GitHub-31083
- Adobe Commerce은 관리자 관련 제품, 상향 판매 및 교차 판매 목록의 페이지당 값을 변경할 때 예상대로 총 페이지 수를 업데이트합니다. GitHub-31059
- 이제 관리자는 사용자 지정 가능한 옵션이 두 개 이상인 제품을 SKU별 주문에 추가할 수 있습니다.
(File)
- 권한이 제한된 관리자가 관리자의 CMS 페이지에 제품 위젯을 추가할 때 애플리케이션에서 더 이상 오류가 발생하지 않습니다. 이전에는 관리자가 저장 단추를 클릭할 때 응용 프로그램에서 이 오류가 발생했습니다.
We are sorry, an error has occurred while generating the content
.
- 이제 JavaScript 달력 사용 을 사용하도록 설정하면 사용자 지정 가능한 날짜 옵션이 이전 주문의 날짜로 채워지는 제품 세부 정보 페이지가 열립니다. 이제 사용자 지정 날짜 옵션 값 확인자가 값의 형식이 현재 구성을 기반으로 하지 않는 경우 대체 형식으로 대체됩니다. 이전에는 사용자 지정 날짜 옵션 값이 비어 있었습니다.
- 이제 제품이 품절되었을 때 애플리케이션에서 장바구니에 하나의 오류만 표시됩니다. 이전에는 애플리케이션에서 중복 메시지를 표시했습니다. GitHub-27469
- 이제 관리자는 사용자 지정 가능한 옵션
(File)
이(가) 있는 제품을 SKU별 주문에 추가할 수 있습니다. GitHub-30285
- 이제
type_id
을(를) 지정하지 않고 제품 및 가격을 저장할 수 있습니다. GitHub-13639
- 이제 REST
PUT /V1/products/:sku/links
요청을 사용하여 새 하위 제품을 새 그룹 제품과 연결할 때 예상대로 상점 앞에서 그룹 제품을 사용할 수 있습니다. 이전에는bin/magento cron:run
을(를) 실행한 후 제품이 올바르게 색인화되지 않았습니다.
- 더 이상
NULL
SKU 값으로 제품을 만들 수 없습니다. 이전에는 사용자 지정 가져오기를 통해 또는 데이터베이스에서 직접 SKU 값 없이 제품을 만들 수 있었지만 관리자에서 편집하려고 할 때 애플리케이션에서 오류가 발생했습니다. GitHub-27411, GitHub-32525
- 단순 제품에 필요한 사용자 지정 옵션을 추가해도 경고 없이 상위 복합 제품에서 더 이상 제거되지 않습니다. 이제 애플리케이션에 유익한 경고가 표시되고 제품이 저장되지 않습니다. 이전에는 응용 프로그램이 제품 변경 사항을 저장하고 경고를 표시하지 않았습니다. GitHub-30492
카탈로그 규칙
- 이제 카탈로그 가격 규칙이 항목에 적용되면
products
쿼리가 현재 값을 반환합니다. GitHub-26738
- 장바구니 또는 카탈로그 규칙이 만료되거나, 비활성화되거나, 비활성 상태가 된 후 다시 인덱싱이 실패하면
catalogrule_product__temp
(으)로 시작하는 임시 테이블이 예상대로 삭제됩니다. GitHub-22273
- 이제 시간대가
\Magento\CatalogRule\Model\Indexer\IndexBuilder::reindexById
및\Magento\CatalogRule\Model\Indexer\IndexBuilder::reindexByIds
에서 동일한 방식으로 적용됩니다. GitHub-29549
CMS 콘텐츠
- 이제 프론트엔드 크기 조정 사용 구성 설정을 사용하면 업로드 중에 예상대로 큰 이미지 크기가 조정됩니다.
- CMS 페이지 저장 컨트롤러에 대한 오류 처리를 수정했습니다. 이전에는
cms_page_prepare_save
이벤트에서Error
개체가 throw되면 이 함수에는Exception
이 필요하므로 응용 프로그램에서 이 개체를addExceptionMessage
함수로 전달하여 계약을 깼습니다. 이 문제는addErrorMessage
함수를 사용하여 오류 메시지를 추가하여 해결되었습니다. GitHub-30149
- 이제 CMS 페이지 계층 편집 탭에서 새 페이지를 여러 노드에 할당할 수 있습니다. 이전에는 노드에 페이지를 할당하려고 할 때 고유 제한 사항 위반이 발생했습니다. GitHub-363
구성 가능한 제품
- 제품에서 구성할 수 있는 옵션을 클릭할 때 제품 이미지 갤러리에서 제품 썸네일이 더 이상 복제되지 않습니다.
- 위시리스트에서 구성 가능한 제품을 편집할 때 표시되는 구성 팝업이 확인 단추를 클릭하면 예상대로 닫힙니다.
- 이제 애플리케이션에서 구성 가능한 제품이 하나만 포함된 주문에 대한 송장을 올바르게 생성합니다. GitHub-31143
- 이제 구매자는 기본이 아닌 스토어 보기에서 구성 가능한 제품을 장바구니에 추가할 수 있습니다. 이전에는 기본 스토어가 아닌 보기에서 구매자가 구성 가능한 제품을 추가하려고 할 때 응용 프로그램에 다음 오류가 표시되었습니다.
Could not add item to cart. Please check required options and try again
. GitHub-31660
콘텐츠 보안 정책 CSP)
- 콘텐츠 보안 정책이 이제
data: scheme
을(를) 통해 base64로 인코딩된 이미지 및 글꼴 로드를 지원합니다.
cron
- Cron 정리 쿼리는 다음 성능 문제를 줄이거나 제거하기 위해 리팩터링되었습니다.
cron
개의 작업이 보류 중인 상태로 남아 있고 MySQL 쿼리가 점점 느려지며 CPU 사용량이 증가합니다. GitHub-26507
cronjobs
이제 24시간 이상 상태로running
유지되면 자동으로 상태로error
변경됩니다 . 따라서 해당 작업의 새 인스턴스 를 다시 실행할 수 있으며 작업이 statusrunning
로 잘못 설정된 경우 작업 상태를 수동으로 변경할 필요가 없습니다. 이전에는 acronjob
가 statusrunning
에서 멈춘 경우 애플리케이션 때문에 동일한 작업의 새 인스턴스가 시작되지 않아 작업 상태를 수동으로 변경해야 했습니다. GitHub-8933
cron
이제 작업이 예상대로 완료되고 더 이상 다음 직렬화 오류가[Magento\Framework\DB\Adapter\DeadlockException]SQLSTATE[40001]: Serialization failure: 1213 Deadlock found when trying to get lock; try restarting transaction, query was: DELETE FROM cron_schedule WHERE (status = 'missed') AND (job_code in ('indexer_reindex_all_invalid', 'indexer_update_all_views', 'indexer_clean_all_changelogs')) AND (created_at < '2018-09-28 18:32:28')
발생하지 않습니다. GitHub-18409
- 이전 실패 후
indexer_update_all_views
개의 cron 작업이 예상대로 실행됩니다. 실패한 실행은cron_schedule schedule
에서 실패로 표시되며 후속 실행은 자동으로 실패하지 않습니다. 이전에는cron_schedule
테이블이 보류 중인 작업으로 가득 찼으며indexer_update_all_views
cron 작업이 실행되지 않았습니다. GitHub-23054
cron
이(가) 그룹이 겹치는 대규모 배포에서 잠금을 설정하려고 할 때cron
교착 상태가 더 이상 발생하지 않습니다. GitHub-8933
- 일부
cron
작업만 실행된 후cron_schedule
테이블에서cron
교착 상태가 더 이상 발생하지 않습니다. GitHub-22438
사용자 지정 고객 속성
- 상점 앞의 고객 계정 주소록에 있는 상태 필드는 이제 로 로드되며 드롭다운 페이지 요소로 유지됩니다. 이제 모든 페이지 요소가 완전히 로드될 때까지 제출 단추를 사용할 수 없습니다. 이전에는 응용 프로그램에서 이 필드를 텍스트 상자로 로드한 후 드롭다운 요소로 렌더링하고, 구매자가 텍스트 필드에 값을 입력하고 저장할 수 있으므로 나중에 체크아웃 중에 오류가 발생했습니다.
- 이제 애플리케이션에서 상점 및 관리자 주문 페이지에 사용자 지정 고객 주소 속성을 올바르게 표시합니다. 이전에는 드롭다운 속성의 선택한 옵션이 주소 정보 섹션에서 누락되었으며, 입력 속성의 값에 속성 코드가 포함되어 있었습니다. GitHub-508
- 파일을 업로드할 때 고객 주소 속성을 관리자 고객 주소 필드의 첨부 파일과 함께 저장하면 애플리케이션에서 더 이상 오류가 발생하지 않습니다. 이 문제는 컨트롤러 작업에서 반환 문이 누락되어 발생했습니다. 이전에는 응용 프로그램에서 다음 오류가 발생했습니다.
Something went wrong while saving the file
.
- 이제 REST GET 장바구니 API 호출이 청구 및 배송 주소에 대한 올바른 사용자 지정 속성 값을 반환합니다. 이전에는 사용자 지정 주소 속성이 내 계정 상점 첫 페이지의 주문 세부 사항 페이지와 관리자에 잘못 표시되었습니다.
- 이제 응용 프로그램에서 입력 형식이
file (attachment)
인 고객 주소 특성이 포함된 파일을 성공적으로 처리했습니다. 이전에는 첨부 파일을 업로드하는 동안 응용 프로그램에서 이 오류가 발생했습니다.Something went wrong while saving the file
.
고객
- 이제 스토어 크레딧 이메일은 선택한 범위를 고려하며 올바른 이메일 주소에서 전송됩니다.
- 이제 계정 생성 날짜별로 필터링하면 구성된 시간대 설정을 준수하고 관련 생성된 모든 계정을 캡처하는 결과가 생성됩니다.
- 이제 고객 그리드 필터는 데이터가 이전에 캐시된 경우 제한된 사용자에 대해 올바른 웹 사이트 옵션을 사용합니다. 이전에는 고객 그리드 필터가 캐시에서 웹 사이트 매개 변수를 검색하고 제한된 사용자에 대해 잘못된 데이터를 포함했습니다.
- 다중 웹 사이트 배포에서 하나의 웹 사이트가 삭제될 때 애플리케이션에서 더 이상 고객 관리 페이지에 예외가 발생하지 않습니다. 이전에는 관리자가 포괄적인 고객 목록에 액세스하려고 할 때 응용 프로그램에 모든 고객이 표시되지 않고 다음 오류가 표시되었습니다.
The website with id 2 that was requested wasn't found. Verify the website and try again
.
- 권한이 있는 관리자는 이제 고객의 계정 정보 탭에서 고객을 다른 웹 사이트로 다시 할당할 수 있습니다.
- 이제 입력 유형이
(File)
인 고객 주소 특성을 만들 때 파일을 성공적으로 업로드할 수 있습니다. 이전에는 파일을 업로드하고 저장하려고 할 때 응용 프로그램에서 다음 오류가 발생했습니다.Something went wrong while saving the file
.
고객 세그먼트
- 이제 애플리케이션 프로그램은 예상대로 상점의 고객 세그먼트를 기반으로 관련 제품을 표시합니다. 이전에는 특정 고객 세그먼트에 대해 관련 제품 규칙 이 섹션을 만들 때 애플리케이션 프로그램에 이 섹션이 표시되지 않았습니다.
- 이제 동적 블록은 해당 고객 세그먼트 세그먼트가 게스트와 등록된 고객 모두에 적용될 때 장바구니에 등록된 고객에 대해 표시됩니다. 이전에는 애플리케이션 이 블록이 게스트에 대해서만 표시되었습니다.
- 이제 관리자로부터 주문을 받으면 고객 세그먼트가 자동으로 업데이트됩니다. 이전에는 관리 순서를 만든 후 관리 사용자가 관련 고객 세그먼트로 이동하여 관련 세그먼트 데이터를 수동으로 새로 고치고 세그먼트 데이터 새로 고침 단추를 클릭해야 했습니다.
- 이제 관련 고객 세그먼트의 모든 고객에 대해 애플리케이션에서 장바구니에 동적 블록을 표시합니다. 기존에는 고객 세그먼트에 게스트와 등록 고객이 모두 포함된 경우에도 게스트가 블록을 보지 못했다.
Product was Ordered
조건을 사용하는 고객 세분화 규칙으로 인한 데이터베이스 성능 문제가 해결되었습니다.
- REST/SOAP API에 대한 고객 세그먼트 이벤트 관찰자가 추가되었습니다. 따라서 이제 주문이 REST/SOAP API를 통해 수행될 때 세그먼트에 정의된 기준이 일치하는 경우 고객 세그먼트가 예상대로 자동으로 업데이트됩니다.
- GraphQL 요청에 대한 고객 세그먼트 이벤트 프로세서가 추가되었습니다. 이전에는 장바구니 가격 규칙 조건에서 고객 세그먼트를 사용할 때 장바구니 가격 규칙 할인이 장바구니에 적용되지 않았습니다. GitHub-371
디렉토리
- 체크아웃 워크플로우의 배송 섹션 중에 쇼핑객이 잘못된 우편 번호를 입력할 때 애플리케이션에서 더 이상 예외가 발생하지 않습니다. GitHub-23371
다운로드
- 이제 주문에 다운로드 가능한 제품과 다운로드 가능한 옵션이 있는 구성 가능한 제품이 모두 포함된 경우 애플리케이션에서 새 주문 이메일에 다운로드 가능한 제품에 대한 링크를 표시합니다. 이전에는 독립 실행형 다운로드 가능한 제품에 대한 링크가 표시되었지만 다운로드 가능한 옵션이 있는 구성 가능한 제품에 대한 링크가 표시되지 않았습니다.
동적 블록(이전 배너)
- 이제 동적 블록이 지정된 페이지에만 표시됩니다. 이전에는 동적 블록이 지정되지 않은 경우 애플리케이션에서 모든 페이지에 위젯에 할당된 모든 배너를 표시했습니다.
- 이제 빈 콘텐츠로 동적 블록을 저장할 수 있습니다.
EAV
- 이제 고객 주소 속성 날짜 값이 2자리 포맷 대신 4자리 포맷으로 저장됩니다.
이메일
- 관리자 암호 재설정 페이지의 암호 재설정 링크가 이제 예상대로 작동합니다. 이전에는 사용자 지정 템플릿이 관리자 암호 재설정 페이지에 사용되었을 때 관리자가 전자 메일
Your password reset link has expired
내의 링크를 클릭하면 애플리케이션에 다음 메시지가 표시되었습니다. 이 문제는 사용자 지정 이메일 템플릿에 사용자 ID에 대한 잘못된 변수가 포함되어 있기 때문에 발생했습니다.
- 이제 스토어 보기 수준에서 사용하도록 설정된 경우 관리자에서 고객 이메일을 보내는 기능이 제대로 작동합니다. 이전에는 이메일 알림 설정이 글로벌 수준이 아닌 스토어 보기 수준에서 사용하도록 설정된 경우 애플리케이션이 고객 이메일을 보내지 않았습니다.
- 이제 애플리케이션 기능은 모든 웹 사이트에서 비동기 이메일 전송을 활성화하지 않은 다중 사이트 배포에서 예상대로 이메일을 전송합니다. 이전에는 하나 이상의 웹 사이트에서 이 설정이 비활성화된 경우 활성화된 경우에도 어떤 웹 사이트에서도 이메일이 전송되지 않았습니다. 송장, 선적 및 대변 메모 이메일에도 유사한 문제가 있습니다. 그러나 주문 설명, 송장 설명, 배송 설명 및 대변 메모 설명 이메일은 정상적으로 전송되었습니다. GitHub-31950
- 이제 관리자로부터 선물 레지스트리를 공유할 때 애플리케이션이 보내는 이메일 메시지에 레지스트리 위치에 대한 유효한 링크가 포함되어 있습니다. 이전에는 이 링크를 가져가면 404 오류가 발생했습니다. GitHub-504
- 이제 송장 및 송장 PDF에 예상대로 동일한 번들 제품 가격이 포함됩니다. 이전에는 송장 PDF에 번들 제품에 대한 잘못된 가격이 포함되었습니다. GitHub-12856
- 반환 값이
string
템플릿 되도록 이메일 필터 메서드에 문자열 캐스팅이 추가되었습니다. 이전에는 개발자 모드가 아닌 동안 예외가 catch되면 애플리케이션 프로그램이 개체를 반환했습니다phrase
. 이것은 차례로 치명적인Uncaught TypeError
. GitHub-32671
- 이제 다중 사이트 배포의 한 웹 사이트에서 비동기 전송이 활성화된 경우(스토어 > 구성 > 영업 > 영업 이메일 > 일반 설정 > 비동기 전송) 주문 확인 이메일이 예상대로 전송됩니다. GitHub-31950
- 이제 애플리케이션 앱은 고객이 연락처 양식에서 이메일을 보내려고 할 때 예외가 발생할 때 예상대로 오류를 기록합니다. GitHub-23645
프레임워크
- 이제 관리자의 상위 클래스에서 원래 클래스 및 상속된 인터페이스와 함께 문서 블록 주석을 확인합니다. 이전에는 상위 클래스를 확인하지 않았기 때문에 이벤트를 트리거하는 관리자 내 고객 관련 작업을 수행하면 오류가 발생했습니다. 응용 프로그램에서 예외 로그에 이 오류를 기록했습니다.
report.CRITICAL: Method's return type must be specified using @return annotation.
.
- Redis 페이지 캐싱이 활성화된 배포에서 Redis 서버가 중지될 때 애플리케이션에서 더 이상 치명적인 오류가 발생하지 않습니다.
bin/magento config:set system/backup/functionality_enabled 1
을(를) 사용하여 백업을 사용하도록 설정하면 응용 프로그램에서 백업에서 미디어 폴더 제외 설정을 적용합니다. 이전에는 이 설정에도 불구하고 미디어 폴더 경로/magento
가 double //로 잘못 구성되었기 때문에 백업되었습니다.
- 이제 애플리케이션이 관리 장바구니 페이지에 대해 예상대로 번역 가능한 모든 문자열을 번역합니다. 이전에는 번역 로드가 너무 늦게 발생하여 컨트롤러 작업 사전 디스패치에 가입된 모든 관찰자를 건너뛰었습니다. GitHub-31849
- 이제 고객 으로 로그인 활성화 확장 설정이 비활성화된 경우 만들기 새로 만들기 고객 계정 페이지의 양식 유효성 검사이 성공적으로 작동합니다. 이전에는 애플리케이션 인스턴스에서 JavaScript 오류가 발생했습니다.
bin/magento setup:db-schema:split-sales
을(를) 사용하여 데이터베이스 테이블을 이동하십시오. 이제 테이블이 만들어지고 데이터가 올바르게 채워집니다. 이전에는 테이블 존재 확인이 잘못되었기 때문에bin/magento setup:db-schema:split-sales
을(를) 실행할 때 응용 프로그램에서SQLSTATE
개의 오류가 발생했습니다.
ProcessManager
에 의해 포크된 하위 프로세스에 대한 예외 처리가 개선되었습니다. 지금 예외가 발생하면 기본 프로세스가 종료되고 오류 메시지가 한 번만 표시됩니다. 이전에는 여러 인덱서 오류가 기록되고 여러 메시지가 표시되었습니다. GitHub-30622
- 이 영역 파일의
di.xml
에 등록된 플러그인이 없는 경우 전역 Adobe Commerce 플러그인(예:webapi_rest
및graphql
)이 더 이상 새 사용자 지정 영역 유형에 대해 트리거되지 않습니다.
- 초기화 중에 발생하는 예외는 더 이상 캐시되지 않으며 이제 500 응답 코드를 트리거합니다.
- 이제 판매자는 스토어 보기별로 카탈로그 이벤트에 이미지를 할당하거나 삭제할 수 있습니다. 이전에는 카탈로그 이벤트를 편집하는 동안 스토어 보기를 변경할 때 이미지 삭제 확인란이 활성화되지 않았으며 응용 프로그램에서 다음 오류가 표시되었습니다.
Uncaught ReferenceError: toggleValueElements is not defined at HTMLInputElement.onclick
. GitHub-364
communication.xml
파일에 병합된 마지막 처리기가 이전에 만든 모든 처리기를 더 이상 재정의하지 않습니다. GitHub-29528
일반 수정 사항
- 이제 애플리케이션에서 내 제품 리뷰 페이지와 내 계정 페이지의 최근 리뷰에 올바른 별 수를 표시합니다. 이전에는 애플리케이션에서 리뷰 별표를 첫 번째 리뷰에만 적용하고 페이지의 다른 리뷰에는 별표를 지정하지 않았습니다.
- 이제 헤더의 계정 링크는 WCAG 표준을 따릅니다. 이전에는 헤더에 있는 계정 링크에 중복된 ID가 포함되어 있어 WCAG 유효성 검사가 실패했습니다.
- 이제 애플리케이션에서 카탈로그 이벤트 날짜를 UTC 시간대로 저장합니다. 이전에는 애플리케이션에서 카탈로그 이벤트 날짜를 사용자의 시간대로 저장했습니다.
- 게스트 쇼핑객이 잘못된 주소를 사용할 때 애플리케이션에서 시스템 로그 생성 오류가 더 이상 발생하지 않습니다. 이전에는 응용 프로그램에서 페이지를 렌더링하는 대신 간헐적으로 이 오류를 표시했습니다.
No such entity with addressId
. GitHub-15115
- 지원되지 않는 형식의 이미지에 대해 이미지 크기 조정 프로세스가 더 이상 중지되지 않습니다. 이전에는
catalog:images:resize
에서 지원되지 않는 이미지 형식이 발견되면 프로세스가 중지되고 응용 프로그램에서 다음 오류가 표시되었습니다.bin/magento catalog:images:resize Unsupported image format
.
- 로고 이미지에 대한 WEBP 및 AVIF 지원이 관리자에 추가되었습니다. GitHub-32495
media_gallery
특성의 범위를 더 이상 변경할 수 없습니다. 이전에는media_gallery
특성의 범위를 다시global
(으)로 변경했을 때 응용 프로그램에서 오류가 발생했습니다.
- 예약된 업데이트로 추가된 관련 제품은 업데이트 종료 날짜 이후에 더 이상 상점 제품 페이지에 표시되지 않습니다. GitHub-469
- 내 계정 선물 레지스트리 페이지에서 항목 관리 를 클릭하면 응용 프로그램에 정확하고 유용한 메시지가 표시되며 레지스트리 제품의 재고가 부족합니다. 이전에는 응용 프로그램에서 다음 오류가 발생했습니다.
Error: Call to a member function getId() …
. GitHub-490
- 이제 예상대로 새 페이지 추가 페이지에서 웹 사이트 루트 계층에 CMS 페이지를 추가할 수 있습니다.
- 이제 엔티티 유형을 선택하면 예약된 내보내기 목록에서 필터링이 예상대로 작동합니다. 이전에는 필터가 작동하지 않았으며 애플리케이션에서 JavaScript 오류가 발생했습니다. GitHub-361
- 이제 데이터베이스 저장소 메서드를 사용하여 범주를 저장할 때 범주 이미지가 예상대로
catalog/tmp/category
디렉터리에서catalog/category
디렉터리로 복사됩니다. 이제media_storage_file_storage
테이블의 이미지 행에도 올바른directory_id
이(가) 있습니다. GitHub-11995
- 이제 CMS 계층 구조에 변경 사항을 제출한 후 예상대로 상인에 무효화된 캐시에 대한 알림이 표시됩니다. 이전에는 CMS 계층 구조를 저장하는 동안 애플리케이션에서 캐시를 무효화하지 않았습니다.
- 장바구니의 장바구니 섹션에 대한 중복 AJAX 요청이 감소되었습니다. 이전에는 애플리케이션이 장바구니 소계를 제대로 로드하지 않아 장바구니 다시 로드를 트리거했습니다.
- 예약어가 URL 키에 포함되지 않도록 URL에 대한 유효성 검사가 추가되었습니다. 잘 알려진 URI(Uniform Resource Identifier) 정의를 참조하십시오.
- PHP 7.4를 실행하는 배포에서 카테고리/제품 URL 다시 쓰기 생성 설정이 아니요(으)로 설정되어 있고 쇼핑객이 존재하지 않는 카테고리 경로에 액세스하려고 하면 응용 프로그램에서 404 오류를 반환합니다. 이전에는 응용 프로그램에서
Trying to access array offset on value of type bool
을(를) 나타내는 500 오류가 반환되었습니다. GitHub-31984
- 이제 디자인 그룹 및 디자인 업데이트 예약 그룹이 제거된 특성 집합을 사용하여 만든 제품을 편집할 수 있습니다. 이전에는 해당 속성 집합에서 만든 제품을 편집하려고 하면 애플리케이션에서 치명적인 오류가 발생했습니다. GitHub-44
nowdoc
이(가)Magento_Backend
스토어 전환기에서heredoc
을(를) 대체했습니다. GitHub-32262
- 이제 관리자는 로그인 후 요청된 관리 페이지로 직접 리디렉션됩니다. 이전에는 관리자가 로그인하면 관리 대시보드(또는 시작 페이지로 구성된 페이지)로 리디렉션되어 대상으로 수동으로 이동해야 했습니다. GitHub-31042
- 아르헨티나, 볼리비아, 칠레, 에콰도르, 가이아나, 파라과이, 페루, 수리남 및 베네수엘라 지역을
directory_country_region
표에 추가했습니다. GitHub-31169
- 알바니아, 덴마크, 그리스, 아이슬란드, 포르투갈, 스웨덴 지역이 표에
directory_country_region
추가되었습니다. GitHub-31040
- 이제 예외가 발생할 때 메시지가 MysqlMQ 메시지 큐 오류로 플래그가 지정됩니다. GitHub-18140
- 이제 관리 대변 메모 및 송장 페이지에 대한 세금 정보를 로드할 때 애플리케이션에서 올바른 분류 객체를 참조합니다. GitHub-31197
- Royal Mail Click & Drop 통합이 이제 예상대로 작동합니다. 이전에는 이 통합을 활성화하려고 할 때 응용 프로그램에서 이 오류가 발생했습니다.
Sorry! Something went wrong. Please try again later
. GitHub-28996
- 이제 잘못된 선적, 대변 메모 또는 송장 ID가 URL로 전달될 때 애플리케이션에서 정보 오류 메시지를 표시합니다. 이전에는 애플리케이션에서 치명적인 오류가 발생했습니다. GitHub-30424
- 정적 파일의 위치에서 재귀가 제거되었습니다. 이제 애플리케이션에서 500 오류 대신 404 페이지를 표시합니다. 이전에는 기본 NGINX 구성의 버그로 인해 무한 재귀가 발생했습니다. GitHub-31530
cms_index_noroute.xml
파일의 이름이cms_noroute_index.xml
(으)로 수정되었습니다. GitHub-31300
.editorconfig
파일이db_schema_whitelist.json
파일의 자동 서식을 수정하도록 리팩터링되었습니다. GitHub-31171
- 브라우저 창의 크기를 조정해도 더 이상 중복 바인딩 돋보기 이벤트가 트리거되지 않습니다. GitHub-30788
user_id
까지Magento\Users\Model\ResourceModel\Users\Collection
을(를) 필터링할 때 응용 프로그램에서 더 이상 SQL 예외를 throw하지 않습니다. GitHub-31216
기프트 카드
- 이제 기프트 카드를 취소하면 기프트 카드에서 보류 중인 결제 요금이 예상대로 제거됩니다. 이전에는 기프트 카드가 삭제된 후
cron
을(를) 실행할 때 응용 프로그램에서 오류가 발생했습니다.
- 이제 쇼핑객은 여러 주소로 체크아웃할 때 주문 검토 페이지의 주문에서 기프트 카드를 제거할 수 있습니다. 이전에는 구매자가 카드를 선택한 다음 제거 를 클릭해도 애플리케이션에서 주문에서 기프트 카드를 제거하지 않았습니다.
- 이제 애플리케이션에서 장바구니에 기프트 카드를 추가한 후 기프트 카드의 값을 변경하면 장바구니에 기프트 카드의 새 가격이 표시됩니다.
- 가격 범위 유효성 검사 논리가 기프트 카드 만들기 페이지에 추가되었습니다. 이전에는 관리자가 최소값이 최대값을 초과하는 카드를 만들 수 있었습니다. GitHub-493
addRequisitionListItemsToCart
쿼리가 이제 요청에allow_open_amount
에 대한 값이 없을 때 사용자 지정 기프트 카드의 금액을 예상대로 반환합니다.
선물 메시지
- 이제
setGiftOptionsOnCart
돌연변이가 선물 메시지를 올바르게 만듭니다. GitHub-388
선물 등록
- 선물 레지스트리를 만들거나 편집하는 동안 이벤트 날짜 값이 상점 및 관리자의 값과 동일합니다. 이전에는 선물 레지스트리를 편집하고 저장할 때마다 응용 프로그램이 상점 및 관리자 모두에서 이벤트 날짜 를 하루 뒤로 조정했습니다. GitHub-466
- 선물 등록에서 비활성화된 제품이 더 이상 애플리케이션에 표시되지 않습니다. 이전에는 선물 레지스트리에 제품을 추가한 후 사용하지 않도록 설정한 경우 쇼핑객이 레지스트리에 액세스할 때 이 메시지가 표시되었습니다.
Error: Call to a member function getId() …
. GitHub-510
선물 포장
- 이제 스토어 보기에 대한 선물 포장 레이블 번역이 예상대로 작동합니다.
- 선물 포장은 이제 여러 주소로 배송되는 주문에 대해 예상대로 적용됩니다.
- 이제 모든 제품이 제거되면 애플리케이션에서 장바구니에서 선물 포장 비용이 제거됩니다.
- 이제 대변 메모에 선물 포장 및 구성 가능한 제품 요금이 포함된 경우 대변 메모 합계가 정확합니다. 기존에는 선물포장 세액이 항상 대변 메모 총액에 포함되는 것은 아니었다. GitHub-34
Google Analytics
- Google Analytics가 활성화되어 있을 때 관리자가 상점에서 페이지를 로드하려고 할 때 애플리케이션에서 더 이상 오류가 발생하지 않습니다. AJAX 요청을 www.google-analytics.com 수 있도록 에 대한
connect-src
CSP 항목이 추가되었습니다. GitHub-30880 (영문)
Google 태그 관리자
- 이제 결제 작업 과정의 결제 페이지에 있는 과금 주소의 UI 구성요소가 Google 태그 관리자를 사용할 때 견적 주소를 올바르게 사용합니다. 이전에는 결제 페이지 페이지에서 JavaScript 오류가 발생했습니다.
그래프QL
- 이제 GraphQL
products
쿼리는 속성 편집 페이지 에 사용된 것과 동일한 정렬 순서로 정렬된 속성 옵션을 반환합니다.
- 이제 GraphQL 요청 응답
{ category(id: 2){ children { name children { name } } } }
에 올바르게 정렬된 범주 트리가 포함됩니다.
- 이제 개체에는
CartItemPrices
장바구니 항목에 적용되는 고정 제품 세금의 배열을 반환하는 새 GraphQL 필드fixed_product_taxes
가 포함됩니다. 이전에는 장바구니 품목에 적용된 고정 제품세가 장바구니 쿼리에 포함되지 않았습니다.
- 이제 GraphQL에 대한 빈 요청에서 응답 코드 500이 아닌 200이 발생합니다. 이전에는 쿼리 결과가 생성되기 전에 GraphQL 구문 분석기에서 예외가 발생했습니다.
- 이제 변형은
applyRewardPointsToCart
차감된 보상 포인트의 가치를 정확하게 반영하도록 장바구니 총계를 업데이트합니다. GitHub-486
- GraphQL을 사용하여 업셀 제품을 링크 경우 비활성화된 제품은 더 이상 GraphQL 응답에 포함되지 않습니다.
- 이제 판매자는 게스트 결제가 비활성화된 경우 GraphQL
setShippingAddressesOnCart
방법을 사용하여 쇼핑객 장바구니에 대한 과금 및 배송 주소를 설정할 수 있습니다.
- 쿼리에
categoryList
개체에 여러 조각이 포함되어 있을 때 더 이상 예외가CategoryTree
발생하지 않습니다. GitHub-31086
- 이제 GraphQL
product
쿼리가 올바른 고객 그룹 가격을 반환합니다.
- 이제 GraphQL
products
쿼리 응답이 제품 특성 위치에 따라 집계를 정렬합니다.
- 제품 및 카테고리 URL 접미사에 null 값이 포함된 경우 애플리케이션에서 GraphQL 쿼리 중에 더 이상 형식 오류가 발생하지 않습니다. GitHub-30909
- 이제
CustomizableDateValue
개체에type
특성이 있습니다. 이 값은 DATE, DATE_TIME 또는 TIME으로 설정할 수 있는 열거형입니다.
dynamicBlocks
쿼리이(가) 지정된 필터와 일치하는 동적 블록의 내용을 반환합니다.
- 이제 POST
V1/products/special-price-delete
요청 시 예상대로 지정된store_id
가격만 삭제됩니다. 이전에는 이 호출이 모든 스토어에서 지정된 SKU 특별 가격을 모두 제거했습니다. GitHub-25907
- 돌연변이의 속성 오류가
country_code
수정되었습니다createGiftRegistry
.
- 돌연변이의 속성 문제를
giftRegistryUid
수정했습니다updateGiftRegistryItems
.
- 돌연변이가
updateGiftRegistryRegistrants
선물 등록부에 임의의 사람을 등록자로 추가하는 데 사용되는 것을 방지하기 위해 추가 검사를 추가했습니다.
- 이제 변형이
addConfigurableProductsToCart
지정된 제품의 올바른 썸네일을 반환합니다. 이전에는 상위 제품의 썸네일을 반환했습니다.
- 쿼리는
products
특별 가격 기간이 미래 날짜로 설정된 경우 더 이상 제품의 특별 가격을 노출하지 않습니다. GitHub-30210, GitHub-29631
- 이제
customer
쿼리 응답에total_giftcard
특성이OrderTotal
개체의 일부로 포함됩니다.
products
쿼리에서 계층 가격 설정이 없는 항목의 가격 계층에 대한 잘못된 정보를 반환하는 문제를 해결했습니다. GitHub-32279
이미지
- 이제 POST
/V1/product/:sku
엔드포인트를 사용하여 번들 제품을 생성하거나 업데이트하는 동안 required_options 및 has_options 번들 속성을 예상대로 설정할 수 있습니다. 이전에는 이러한 사용자 지정 속성을 1(1)로 설정하려고 했음에도 불구하고 0(영)으로 설정되었습니다.
가져오기/내보내기 가져오기
- 이제 [내보내기 페이지] 페이지의 [엔티티 속성] 그리드에서 제품 엔티티에 대한 [범주 ID] 필터가 예상대로 작동합니다.
- 이제 모든 하위 제품이 품절되면 그룹화된 제품 재고 상태가 예상대로 재고 부족으로 업데이트됩니다. GitHub-32647
- 이제 구성 가능한 제품 스톡 상태가 임포트에 의해 하위 제품 스톡 상태가 업데이트되면 예상대로 자동으로 업데이트됩니다. 이전에는 하위 제품 재고 상태가 임포트에 의해 업데이트될 때 제품 재고 상태가 자동으로 업데이트되지 않았습니다.
- 이제 예약된 내보내기에서 빈 값을 저장할 수 있습니다. 이전에는 내보내기를 만들거나 저장한 후 applicationupdated가 빈 필터 값을 업데이트했습니다. 와 값은 모두
no
데이터베이스에서 0으로 표시되었으며 값은not selected
로 재정의되었습니다no
.not specified
- 내보내기 프로세스는 이제 제품, 재고 소스 및 고객 엔터티를 내보낼 때 계정 사용자 역할 범위를 고려합니다. 이전에는 내보내기 프로세스에서 개인 사용자 역할 내보내기 엔터티의 내보내기를 허용하는 사용자 역할 범위를 무시했습니다.
- 이제 애플리케이션 프로그램은 제품 세금 클래스를
None
if a product is imported withtax_class_name
valuesNone
or0
로 설정합니다. 이전에는 가 CSV 파일에 있는None
경우product tax_class_name
애플리케이션 에서 기존 세금 클래스를 복제한 새 세금 클래스None
를 만들었습니다. 가 CSV 파일에 있는0
경우product tax_class_name
애플리케이션 은 해당 값을 무시했으며 가져온 후 제품 세금 클래스가 변경되지 않았습니다.
- 이제 관리자는 관리자로부터 번들 제품
bundle_values
의name
을(를) 변경할 수 있습니다. 이전에는 관리자의 이름을 변경한 후 애플리케이션에 제품이 품절로 상점 앞에 표시되었습니다. 또한 제품은 동일한 SKU와 하나의 번들 옵션 섹션으로 병합되었습니다.
- 이제 고객 데이터를 내보낼 때 애플리케이션에서 사용자 범위를 고려합니다. 이전에는 고객을 내보내려고 하면 애플리케이션이 모든 웹 사이트에서 고객 데이터를 내보냈습니다.
__EMPTY__VALUE__
이(가) CSV 파일에 지정된 경우 응용 프로그램은 CSV 파일 가져오기 중에 예상대로 상향 판매, 교차 판매 및 관련 제품 간의 제품 관계를 제거합니다.
- 많은 고객(관리자 시스템 > 내보내기)의 사용자 지정 주소 데이터를 내보내도 더 이상 일반적으로 메모리 오류가 발생하지 않습니다. 이전에는 사용자 지정 주소 데이터를 내보낼 때 애플리케이션에서 모든 고객 데이터를 로드하려고 했으므로 메모리가 고갈되고, 애플리케이션에서 메모리 할당 실패 오류가 발생했습니다.
- 기본 CSV 가져오기 프로세스 중에 더 이상 중복 계층 가격을 가져오지 않습니다. 기존에는 중복 계층 가격의 수입을 막기 위해 유효성 검증이 누락됐고, 중복 계층 가격이 발생하면 가맹점은 상품을 살리지 못했다. 판매자가 제품 변경을 예약하려고 할 때도 이 오류가 발생했습니다.
SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry…
.
- 이제 가져오는 동안 모든 제품 이미지의 유효성이 검사됩니다. 이전에는 제품에 여러 이미지가 있을 때 애플리케이션에서 첫 번째 이미지만 검증했습니다. GitHub-28236
- 이제 가져오는 동안 예상대로 고객 주소에서 지역을 삭제할 수 있습니다. 이전에는 고객 주소를 빈 영역으로 가져올 때 지정된 영역이 변경되지 않았습니다.
- 이제 추가 제품 속성으로 JSON 또는 HTML 콘텐츠가 포함된 제품을 CSV 파일로 올바르게 내보냅니다. 이전에는 CSV 파일에 잘못된 필드에 겹친 데이터 문자열이 포함되어 있었습니다.
색인
- 이제 하위 프로세스가 실패하면 프로세스 매니저가 종료되고 오류가 발생합니다. 이전에는 전달된 함수(예: 인덱서 차원)의 수가
MAGE_INDEXER_THREADS_COUNT
환경 변수의 값보다 적은 경우 프로세스 관리자가 항상 성공적으로 종료되었습니다. GitHub-30964
- 이제 인덱서 모드가 저장 시 업데이트 로 설정된 경우 REST PUT
/V1/products/:sku/links
요청을 사용하여 제품을 연결할 때 상점 검색 결과에 예상대로 제품을 사용할 수 있습니다.
- 이제 인덱서 모드가 저장 시 업데이트(으)로 설정된 경우 카탈로그 가격 규칙 인덱서가 예상대로 작동합니다. GitHub-370
- 이제 제품이 포함되지 않은 비활성화된 범주를 삭제해도 카탈로그 검색 및 범주 플랫 색인 테이블에는 영향을 주지 않습니다. 이전에는 비활성 카테고리를 삭제하면 전체 다시 색인이 트리거되었습니다. GitHub-23297
- 이제 사용자 지정 인덱서가 구독에 대해 다른 엔티티 열 이름을 사용할 수 있습니다. 이전에는 데이터베이스 트리거에서 인덱서가 지정된 인덱서가 아닌 일정별 업데이트(으)로 마지막으로 설정된 인덱서의 열 이름을 사용했습니다. GitHub-21853
- 응용 프로그램에서 더 이상 요청의 영향을 받지 않는 고객 데이터 섹션(
Magento_Customer/js/section-config
)을 다시 로드하기 위한 AJAX 요청을 보내지 않습니다. GitHub-31948
- 범주의 제품
catalog_category_product
및catalogsearch_fulltext
(및 해당 종속 항목)을 추가, 제거 또는 재정렬한 후에는 다음 인덱서가 더 이상 무효화되지 않습니다. 이전에는 이러한 의도치 않은 제거로 인해 사이트의 전체 리인덱싱이 트리거되었습니다. 플랫 카탈로그가 활성화되지 않은 경우 이러한 조건에서 전체 색인 재지정이 금지됩니다.
인프라
- 종속성
pelago/emogrifier
이(가) 버전 3.1.0에서 5.0.0으로 업데이트되었습니다. 이 업데이트로 인해Magento\Email\Model\Template\Filter
클래스에 이전 버전과 호환되지 않는 변경 내용이 도입되었습니다. 변경된 코드는 이메일 템플릿 렌더링 중에 실행됩니다. BIC 참조를 참조하십시오.
- 새 제품을 저장할 수 없는
\Magento\CatalogInventory\Model\Indexer\Stock\CacheCleaner::getCategoryIdsByProductIds
문제를 해결했습니다.
- 더 이상 사용되지 않는 TinyMCE v3 라이브러리가 제거되었습니다. TinyMCE v3.x와 관련된
Magento_Tinymce3Banner
모듈 및 MTF 테스트가 Adobe Commerce에서 제거되었습니다.
- 쇼핑객이 프랑스어 문자 기호(예: "é", "è")가 포함된 전자 메일 주소를 입력하면 애플리케이션에서 연락처 양식에
Invalid header value detected
오류가 더 이상 발생하지 않습니다. 이제 응용 프로그램에서 사용자 이름의 UTF-8 문자를 ASCII 인코딩으로 변환합니다. 이전에는 UTF-8 문자가 이메일 주소의 고유 섹션에서 ASCII 인코딩으로 변환되지 않았습니다.
- 플러그인이 상위 클래스에 추가될 때 애플리케이션에서 더 이상 PHP 치명적인 오류가 발생하지 않습니다. GitHub-31291
Magento_Msrp
,Magento_MsrpConfigurableProduct
,Magento_MsrpGroupedProduct
,Magento_Multishipping
,Magento_MysqlMq
모듈에 대한 README.md 파일을 업데이트했습니다. GitHub-32577
phpcpd
PHP 8 호환성을 위해 v6.0.3으로 업데이트되었습니다.
colinmollenhour/php-redis-session-abstract
PHP 8 호환성을 위해 v1.4.4로 업데이트되었습니다. GitHub-32709
phpstan.neon
파일에서 탭과 공백의 잘못된 조합이 수정되었습니다. GitHub-31239
- 코드 베이스 전체에서 사용되지 않는 속성
$_isScopePrivate
을(를) 제거했습니다. GitHub-30506
- 페이지 레이아웃이에서 더 이상 하드 코딩되지 않음
Magento\Widget\Block\Adminhtml\Widget\Instance\Edit\Chooser\Container
. 따라서getPageLayouts()
함수는 이제 다른 모듈에서 선언한 실제 페이지 레이아웃 목록을 예상대로 반환합니다. 이전에는 하드 코딩된 레이아웃만 반환했습니다. GitHub-31168
composer.lock
파일이 최신 버전의 코딩 표준으로 업데이트되었습니다. GitHub-31152
web-token/jwt-framework
패키지에 대한 누락된 종속성을magento/module-jwt-framework-adapter
에 추가했습니다. GitHub-32578
- 등대 지표 점수를 개선하기 위해 수동 수신기를
fotorama.js
라이브러리에 추가했습니다. GitHub-31140
- Google Analytics 모듈용 README.md 파일이 업데이트되었습니다. GitHub-32616
- 이제 Process Manager는 포크된 프로세스에서 예외를 제대로 처리합니다. 이제 기본 프로세스가 종료되고 응용 프로그램에 오류 메시지가 한 번만 표시됩니다. 또한 포크된 프로세스의 예외는 이제 기본 프로세스에서 throw될 때 처리됩니다. 이전에는 응용 프로그램이 여러 인덱서 오류를 기록하고 여러 오류 메시지를 표시했습니다. GitHub-30622
- 애플리케이션 프로그램은 플러그인이 상위 클래스에 추가될 때 더 이상 오류를 발생시키지 않습니다. (이제
Assest.php
에서optionsProvider
매개 변수가getContentIdentities
뒤에 선언되었습니다.) 이전에는 응용 프로그램에서 다음 오류가 발생했습니다.Error: Cannot instantiate interface Magento\Framework\Data\OptionSourceInterface
. GitHub-31291
- 빈 폴더에서
Magento\Framework\Filesystem\Io\Ftp::ls()
을(를) 실행하면 예상대로 빈 배열이 반환됩니다. 이전에는 응용 프로그램에서Invalid argument supplied for foreach() in vendor/magento/framework/Filesystem/Io/Ftp.php…
예외를 throw했습니다. GitHub-31288
app/code/Magento/Authorization/Model/Role.php
에서 역할 및 규칙에 대한update
메서드가 더 이상 사용되지 않는 것으로 표시되었습니다. GitHub-30756
- SameSite 쿠키 매개 변수에 대한 연결이 수정되었습니다. 이전에는 잘못된 연결로 인해 ,
domain
및 기타 매개 변수에value
접미사가lex
추가되었습니다. GitHub-26377, GitHub-32440
- 코드 베이스에서
allure-framework/allure-phpunit
이(가) v1.3.1로 업그레이드되었습니다. 이전에는 응용 프로그램에 다음 오류가 표시되었습니다.Warning: Use of undefined constant GLOB_BRACE - assumed 'GLOB_BRACE' (this will throw an Error in a future version of PHP) in /var/www/html/src/vendor/allure-framework/allure-phpunit/src/Yandex/Allure/Adapter/AllureAdapter.php:74.
GitHub-24635
- 이제 프로덕션 모드에서
bin/magento
명령을 실행하는 동안 오류가 발생하면 응용 프로그램에서 더 많은 오류를 표시합니다. 이전에는 오류 메시지가 표시되지 않거나 정보가 부족한 메시지가 표시되었습니다. GitHub-32786
ArrayIterator
PHP 개체가 PHP 7.4에서 예상대로 작동하도록 업데이트되었습니다. GitHub-32088
- 배송 운송업체를 사용할 수 없을 때 고객이 주문을 완료하려고 할 때 애플리케이션에서 더 이상 오류가 발생하지 않습니다. 대신 체크아웃 페이지와
Sorry, no quotes are available for this order at this time
메시지가 표시됩니다. 이전에는 애플리케이션 프로그램이 빈 체크아웃 페이지 를 표시하고 예외 로그array_keys() expects parameter 1 to be array, null given
에 이 메시지를 기록했습니다. GitHub-30830
- 애플리케이션에서 더 이상 각 쿠키를 별도의 컨텍스트로 기록하지 않습니다.
$_COOKIE
배열도 문자열로 변환되었습니다. 이전에는 각 쿠키가 별도의 컨텍스트로 기록되었기 때문에 쿠키 수가 50개를 초과하면 응용 프로그램에서 다음 메시지를 기록했습니다.Unable to send the cookie. Maximum number of cookies would be exceeded
. GitHub-31334
인보이스
- 관리자에서 새 송장을 만들 때 의 전자 메일 복사본 확인란이 예상대로 작동합니다. 판매 전자 메일 에서 송장 전자 메일을 보내는 전역 설정을 사용하도록 설정한 경우 이전에는 확인란이 무시되었습니다. 이제 일관되고 선적 및 대변 메모 작성 페이지와 동일한 방식으로 작동합니다. GitHub-28511
미디어 갤러리
bin/magento media-gallery:sync
이제 XMP 정보가 없는 PNG 이미지를 처리할 때 예상대로 실패합니다.
- 테이블의 항목은
catalog_product_entity_media_gallery
관련 제품이 삭제될 때 예상대로 제거됩니다. GitHub-17727
- 이제 JavaScript 축소가 활성화되면 미디어 갤러리에서 이미지 세부 사항을 업데이트할 수 있습니다. 이전에는 이미지 세부 사항이 저장되지 않았고 애플리케이션 프로그램에 다음 오류가
TypeError: Cannot read property 'call' of undefined in jquery.validate
표시되었습니다. GitHub-31633
증권 시세 표시기
새로 만들기 기능 및 MFTF 핵심 버그 수정은 Functional Testing Framework 변경 로그🔗에 설명되어 있습니다.
magento indexer:reindex
및cache:flush
명령 및AdminReindexAndFlushCache
작업 그룹 은 , ,Catalog
,CatalogUrlRewrite
Sales
CatalogRule
Paypal
CatalogRuleConfigurable
Indexer
Downloadable
및 . 모듈의 실행을 개선하기 위해 테스트에서 제거되었습니다.Bundle
GitHub-31031
AdminSubmitCategoriesPopupActionGroup
테스트 오류를 방지하기 위해 테스트에 추가되었습니다. GitHub-31251
- 테스트는 and
StorefrontAssertProductNameOnProductMainPageActionGroup
(기존 작업 그룹)를 사용하여StorefrontCheckQuickSearchStringActionGroup
리팩터링되었습니다. GitHub-31251
리팩터링된 테스트
실행 시간을 개선하기 위해 다음 테스트가 리팩토링되었습니다.
AddOutOfStockProductToCompareListTest
AdminApplyTierPriceToProductWithPercentageDiscountTest
AdminCheckingCreditMemoTotalsTest
AdminCheckDashboardWithChartsTest
AdminConfigDefaultProductLayoutFromConfigurationSettingTest
AdminCreateInvoiceTest
AdminCreateOrderAddProductCheckboxTest
AdminMassOrdersCancelCompleteAndClosedTest
AdminMassOrdersCancelProcessingAndClosedTest
AdminMassOrdersHoldOnCompleteTest
AdminMassOrdersHoldOnPendingAndProcessingTest
(더 이상 사용되지 않는 AdminMassOrdersHoldOnPendingAndProcessingTest
대체)
AdminMassOrdersUpdateCancelPendingOrderTest
AdminMassProductPriceUpdateTest
AdminMassUpdateProductAttributesMissingRequiredFieldTest
AdminOrdersReleaseInUnholdStatusTest
AdminPanelIsFrozenIfStorefrontIsOpenedViaCustomerViewTest
AdminSortingByWebsitesTest
AdminUpdateSimpleProduct
AdminUpdateSimpleProductWithRegularPriceInStockEnabledFlatTest
AdminValidateShippingTrackingNumberTest
CancelOrdersInOrderSalesReportTest
ProductsQtyReturnAfterOrderCancelTest
StorefrontConfigurableProductBasicInfoTest
작업 그룹
이러한 테스트에서는 반복적인 작업이 작업 그룹으로 대체되었습니다.
AdminCheckConfigurableProductPriceWithDisabledChildProductTest
AdminConfigurableProductCreateTest
AdminConfigurableProductRemoveAnOptionTest
AdminCreateProductDuplicateUrlkeyTest
AdminCreateSimpleProductNegativePriceTest
AdminCreateSimpleProductZeroPriceTest
AdminCreateVirtualProductFillingRequiredFieldsOnlyTest
AdminUpdateSimpleProductWithRegularPriceInStockDisabledProductTest
AdminUpdateSimpleProductWithRegularPriceInStockNotVisibleIndividuallyTest
AdminUpdateSimpleProductWithRegularPriceInStockVisibleInCatalogOnlyTest
새 작업 그룹
AdminClearFiltersOnGridActionGroup
AdminClickAddNewPageOnPagesGridActionGroup
AdminClickInsertWidgetActionGroup
AdminClickRefundOfflineOnNewMemoPageActionGroup
AdminFillAccountInformationOnCreateOrderPageActionGroup
AdminGoToOrderStatusPageActionGroup
AdminOpenCMSPagesGridActionGroup
AdminSelectAttributeSetOnEditProductPageActionGroup
AssertAdminProductIsAssignedToCategoryActionGroup
(필터링 제품 그리드를 SKU로 대체하고 테스트 실행 시간을 줄이기 위해 첫 번째 행을 클릭)
AssertLinkActionGroup
AssertStorefrontCartDiscountActionGroup
ClickPlaceOrderActionGroup
SaveCmsPageActionGroup
StorefrontAssertProductNameIsNotOnProductMainPageActionGroup
StorefrontGuestCheckoutProceedToPaymentStepActionGroup
StorefrontHoverProductOnCategoryPageActionGroup
StorefrontSelectCustomizeAndAddToTheCartButtonActionGroup
삭제된 작업 그룹
Backend
,Bundle
,BundleImportExport
,Catalog
,CatalogRule
,CatalogSearch
,Checkout
,Downloadable
,Elasticsearch
,Elasticsearch6
,Indexer
,LayeredNavigation
,LoginAsCustomer
,Newsletter
,Sales
,SalesRule
,Search
,Store
,Swatches
,UrlRewrite
,Weee
및Wishlist
모듈에 대한 실행 시간을 개선하기 위해 테스트에서CliIndexerReindexActionGroup
을(를) 제거하거나 값을 변경했습니다.
Catalog
,CatalogUrlRewrite
,Checkout
,Config
,ConfigurableProduct
,Contact
,Cookie
,CurrencySymbol
,Customer
,Downloadable
,Elasticsearch
,Elasticsearch6
,Fedex
,Indexer
,LayeredNavigation
,LoginAsCustomer
,Msrp
,Multishipping
,Sales
,Swatches
,Translation
,UrlRewrite
,Vault
,Weee
및Wishlist
모듈에서CliCacheFlushActionGroup
을(를) 제거했습니다.
뉴스레터
- 뉴스레터 대기열 생성과 뉴스레터 전송 사이의 기간에 뉴스레터 구독을 취소한 고객에게 애플리케이션이 더 이상 뉴스레터 이메일을 전송하지 않습니다. GitHub-32116
- 이제 응용 프로그램에서 뉴스레터 활성화 설정을 적용합니다(스토어 > 설정 > 구성 > 고객 > 뉴스레터 > 일반 옵션). 이전에는 이러한 설정이 다중 스토어 배포의 기본 범위에서 항상 검색되었습니다. GitHub-31188
- 이제 REST 호출 GET
/V1/customers/search
이(가) 여러 뉴스레터를 구독한 고객에 대해 올바른 정보를 반환합니다. GitHub-31168
- 캐싱 구독 상태가 뉴스레터 플러그인에서 제거되었습니다. GitHub-19345
주문
- 이제 애플리케이션은 부분 송장이 발행된 주문의 고객 계정에 스토어 크레딧을 반환할 때 송장이 발행된 고객 잔액을 올바르게 계산합니다.
- 이제 애플리케이션은 환불 고객 잔액을 저장할 때 예상대로 수정된 주문을 저장합니다. GitHub-393
결제 방법
- 이제 애플리케이션 기능은 이메일이 전송된 지역에 관계없이 결제 차단을 렌더링
frontend
합니다. (현재 영역은 이제 결제 블록이 렌더링되기 전처럼frontend
에뮬레이트됩니다.) 이전에는 이메일이 전송된 영역에서 결제 블록이 렌더링되었습니다. 그 결과, 영업 이메일이 관리 또는 REST API에 의해 트리거되었는지 여부에 관계없이 자산에 대한 URL이 잘못된 영역(webapi_rest
또는adminhtml
)에서 로드를 시도했습니다.
- 이제 애플리케이션 프로그램은 다운로드 가능한 제품에 대한 링크 를 체크아웃 중에 지정된 이메일 주소로 보냅니다. 이전에는 게스트 쇼핑객이 PayPal Express Checkout을 사용하고 주문을 제출하고 결제하기 위해 다른 이메일 주소를 입력하면 애플리케이션에서 다운로드 가능한 제품 링크를 첫 번째 주소로 보냈습니다.
- 이제 응용 프로그램이 여러 통화를 지원하는 배포의 결제 방법 페이지에 사용 가능한 스토어 크레딧에 대한 정확한 값을 표시합니다.
- 이제 게스트 쇼핑객 쇼핑객이 결제 중에 주문의 배송 주소를 다른 국가로 변경할 때 결제 방법 목록이 예상대로 업데이트됩니다. 이전에는 청구 주소를 변경해도 가능한 결제 방법에 대한 업데이트가 트리거되지 않았습니다.
PayPal
- 쇼핑객은 이제 특수 문자가 포함된 배송 주소로 PayPal Payflow Pro 주문을 성공적으로 체크아웃할 수 있습니다. 이전에는 응용 프로그램이 이러한 주문에 대한 지불을 거부했습니다.
- 이제 쇼핑객은 PayPal을 사용하여 결제에 성공한 후 주문 성공 페이지 페이지로 다시 리디렉션됩니다. 이전에는 세션 데이터가 유실되어 쇼핑객이 빈 페이지 페이지로 리디렉션되었습니다.
성능
- 대형 카탈로그에 대한 관리 SKU 검색 성능이 개선되었습니다. 이제 쿼리 최적화 프로그램 힌트를 사용하여 쿼리를 실행하는 동안 인덱스를 강제 사용합니다.
- 큰 테이블(수백만 행)에서 실행할 때
catalog_product_alert
cron
프로세스의 성능이 향상되었습니다. 이전에는catalog_product_alert
에서 모든 제품 알림을 로드하여 메모리 부족 예외가 발생했습니다.
- 관리 양식을 렌더링하기 위해 하나의 편집 페이지만 필요한 경우 애플리케이션에서 더 이상 모든 CMS 페이지를 로드하지 않습니다. 이제 이러한 페이지가 더 빨리 로드됩니다. GitHub-30936
-
이제
WHERE IN
식의 숫자 값이 문자열이 아닌 숫자로 캐스팅되어 일부 버전의 MariaDB에서 쿼리 성능이 향상됩니다. GitHub-31135 -
use_application_lock
모드를 사용하면 환경 변수를 사용하거나app/etc/env.php
파일을 구성하여 다시 인덱싱을 사용할 수 있습니다. 이 모드가 활성화된 상태에서 실패 후 더 이상 인덱서를 수동으로 재설정할 필요가 없습니다. 이 모드가 활성화되지 않은 경우 실패 후 인덱서를 수동으로 재설정해야 합니다. 다시 인덱싱 프로세스에 응용 프로그램 잠금 모드 사용을 참조하세요.
가격 책정
- 이제 쇼퍼가 상점에서 제품 수량을 업데이트할 때 애플리케이션에서 그룹화된 가격으로 제품 가격을 올바르게 업데이트합니다. GitHub-32669
- 이제 제품에 계층 가격이 할당되고
Magento\Framework\Api\ExtensibleDataObjectConverter
이(가) 제품 데이터를 변환하는 데 사용되면 번들 제품을 저장할 수 있습니다. 이전에는 제품을 저장할 때 제품 데이터를 배열로 변환하는 데Magento\Framework\Api\ExtensibleDataObjectConverter
을(를) 사용하면 응용 프로그램에서 제품을 저장하지 않고 다음 오류가 표시되었습니다.Notice: Undefined index: price in app/code/Magento/Catalog/Model/Product/Type/Price.php on line 382.
- 이제 예약된 가격 업데이트가 구매자의 장바구니에 이미 있는 제품에 적용됩니다. GitHub-356
- 이제 수량 증분이 활성화되고 소수점 재고가 1보다 작은 경우 계층 가격이 예상대로 제품에 적용됩니다. 이전에는 최소 계층 가격 수량이 1로 설정되었습니다.
제품 비디오
- 이제 비디오 추가 단추(관리자 카탈로그 > 제품)를 사용하여 여러 비디오를 연속적으로 추가할 수 있습니다. 이전에는 비디오 필드에 이전 비디오의 세부 사항이 유지되었습니다.
- 제품 페이지에서 제품 비디오에 대한 전체 화면 모드로 전환하면 이제 모바일 장치에서 예상대로 작동합니다. 이전에는 전체 화면 모드로 전환하면 전체 화면 모드를 종료하기 전에 비디오가 일시 중지되었습니다.
- 이제 탐색 화살표 단추(Next 및 Prev)가 상점 앞 제품 비디오에 예상대로 표시됩니다.
- 판매자는 이제 예상대로 제품 페이지의 비디오 삽입 단추를 사용하여 Vimeo 비디오를 추가할 수 있습니다. 이전에는 응용 프로그램에 404 오류가 표시되었습니다. GitHub-31753
견적
- 이제
/V1/guest-carts/examplecartid/items
호출이 요청된 저장소 보기를 반환합니다. 이전에는 요청된 보기가 아닌 저장소의 첫 번째 스토어 보기를 반환했습니다.
- 이제 송장 전송을 구성할 수 있습니다. 이전에는 송장 전송을 구성할 수 없었고, 생성된 후에는 항상 애플리케이션에서 송장을 전송했습니다. 인보이스와 주문 이메일은 모두 한 명의 관찰자의 범위에서 발송되었다. 이제 별도의 관찰자가 주문 이메일 및 송장 이메일 전송을 제어합니다. GitHub-27656
보고서
- 이제 모든 시스템 보고서를 Adobe Commerce on cloud infrastructure 프로젝트에서 보고 다운로드할 수 있습니다. 이전에는 로그, 데이터, 디자인 또는 스토어에 대한 시스템 보고서를 다운로드할 수 없었습니다.
- 이제 관리자 보고서 > 검토 > 제품별 의 마지막 검토 날짜에 올바른 검토 날짜가 표시됩니다. 이전에는 검토 날짜 대신 제품 생성 날짜가 표시되었습니다.
반품 상품 승인(RMA)
- 특성 필드 값
required
이(가) no(으)로 설정된 경우 RMAresolution
특성이 더 이상 필요에 따라 표시되지 않습니다.
- 이제 관리자로부터 반환할 여러 주문을 선택할 수 있습니다. 이전에는 여러 반환을 선택하고 작업 드롭다운 메뉴에서 닫기를 선택한 후 제출 을 클릭했을 때 응용 프로그램에서 오류가 발생했습니다.
- 이제 애플리케이션은 REST API를 사용하여 반환 상태를 변경한 후 예상대로 고객에게 이메일 알림을 보냅니다.
- 이제 애플리케이션은 관리자 고객 반환 그리드의 필터 값에 따라 레코드를 필터링합니다. 이전에는 응용 프로그램에서 [모든 고객 관리] 페이지로 안내했으며 필터 재설정 단추도 클릭하여 이 페이지로 리디렉션되었습니다. GitHub-436
리뷰
- 이제 제품 리뷰 평가 별이 내 계정 페이지의 리뷰 세부 정보 섹션에서 올바르게 계산됩니다.
- 이제 제품 검토 세부 사항 페이지의 평균 제품 등급 및 제품 등급 섹션이 올바르게 렌더링됩니다. 기존에는 애플리케이션에서 점포 평점을 계산할 때 리뷰 ID가 설정되지 않고 제품 리뷰 템플릿이 제대로 렌더링되지 않았다.
- 관리자가 검토를 승인한 후 이(가) 이 제품을 먼저 검토해야 합니다 링크가 검토 횟수에 따라 변경됩니다.
- 이제 관리자는 제품 편집 페이지의 제품 검토 섹션에서 제품 검토를 예상대로 정렬할 수 있습니다. GitHub-30270
- 이제 관리자가 승인하고 저장소가 아닌 다른 도메인에서 검토를 저장한 후 검토를 올바른 저장소 ID로 저장합니다. GitHub-17510
보상
- 가맹점은 이제 주문한 고객이 시스템에서 제거된 후 보상 포인트를 사용하여 전체 또는 부분적으로 주문한 상품을 취소할 수 있습니다.
- 이제 판매자는 장바구니 가격 규칙에서 보상 포인트를 제거할 수 있습니다. 이전에는 장바구니 가격 규칙을 만들 때 판매자가 보상 포인트 를 0으로 설정하려고 하면 보상 포인트 수량의 이전 값이 지속되었습니다.
- 이제 관리자 마케팅 > 검토 보류 중 그리드에서 여러 검토가 승인되면 제품 검토에 대한 보상 포인트가 관련 웹 사이트와 연결됩니다. 이전에는 리워드 포인트가 상점 첫 화면에 표시되지 않았고 관리자의 관련 웹 사이트에 연결되지 않았습니다.
- 이제 앱이 여러 주소로 체크아웃하는 쇼핑객이 크레딧(보상 포인트) 저장 옵션을 선택하거나 선택 취소하면 결제 방법 목록을 업데이트합니다.
판매
- 이제 관리 사용자는 이월 주문 허용 설정이 활성화된 경우(Stores > Configuration > Catalog > Inventory > Product Stock 옵션)을 주문할 수 있습니다. 이전에는 애플리케이션 프로그램에서 오류가 발생했습니다.
- 이제 구매자는 성이 공백으로 끝날 때 주문 및 반품 페이지에서 주문을 찾을 수 있습니다.
- 이제 100% 할인을 지정하는 장바구니 가격 규칙이 카탈로그 제품 및 할인 세금이 적용되며 무료 배송이 가능한 주문에 적용될 때 정확한 총계를 사용하여 송장이 생성됩니다. 기존에는 주문서의 가격이 맞지만, 인보이스가 맞지 않았습니다. GitHub-30853
- 이제 날짜별로 주문을 필터링하면 정확한 결과가 반환됩니다. 이전에는 주문 날짜별로 주문을 필터링할 때 애플리케이션 00:00 UTC 이후에 접수된 주문을 반환하지 않았습니다.
- 이제 멀티 스토어 배포에서 웹 사이트 범위가 가격 속성에 사용될 때 대변 메모 그리드에 올바른 통화 기호가 표시됩니다.
- 관리자 만들기 새로 만들기 주문 페이지 페이지를 다시 로드한 후 체크아웃 작업 과정의 지불 및 배송 정보 섹션에서 지불 방법 라디오 단추가 더 이상 사라지지 않습니다. GitHub-32106
- 이제 아랍어 텍스트가 송장에 올바르게 표시됩니다.
- 이제 애플리케이션은 PayPal Payment Pro를 결제 게이트웨이로 배포하는 상점의 주문이나 송장을 기준으로 하는 대변 메모에 대해 부분 대변 메모 세금 합계를 올바르게 계산합니다. 이전에는 복수 송장이 있는 주문에 대해 애플리케이션은 대변 메모에 부분 송장 취소에 대해 해당 주문의 전체 세금을 적용했습니다.
- 새로운 주문 이메일을 고객에게 보낼 때 애플리케이션에서 더 이상 무작위 데이터베이스 교착 상태를 만들지 않습니다. 이전에는 업데이트된 SQL 열 대신 전체 개체와 관련 개체를 저장했기 때문에 교착 상태가 발생했습니다. 응용 프로그램에서 다음 유형의 오류를 표시했습니다.
SQLSTATE[40001]: Serialization failure: 1213 Deadlock found when trying to get lock; try restarting transaction
. GitHub-31090
- 이제 Storefront 주문 세부 사항 페이지에 올바른 배송 제품 수량이 표시됩니다. 이전에는 주문 배송 페이지의 템플릿이 배송 수량 을(를)
int
(으)로 렌더링하여 제품 수량이 올바르지 않았습니다. 이 설정은 (으)로float
변경되었습니다.
- 송장 사본 이메일 버튼 버튼을 선택 취소하면 애플리케이션에서 더 이상 주문 송장 사본을 이메일로 보내지 않습니다. 이전에는 응용 프로그램에서 고객 및 송장 전자 메일 복사본 보내기 에 전자 메일을 보냈습니다. GitHub-28511
- 기존 고객에 대해 관리자로부터 신규 주문을 생성할 때 애플리케이션에서 고객 계정에 대해 중복 주소 항목을 더 이상 생성하지 않습니다. 주소록에 저장 확인란의 이름이 주소록에 추가(으)로 변경되었으며 이제 기본적으로 관리자에서 선택되지 않습니다.
- 이제 이 애플리케이션은 쇼핑객이 계정의 주문을 인쇄할 때 HTML 인쇄 보기용 로고 설정에 업로드된 로고를 사용합니다. 이전에는, 애플리케이션이 업로드된 로고 대신 LUMA 로고를 표시했습니다.
- 이제 품목 수가 20개를 초과할 때 상점의 주문 품목 호출기가 예상대로 작동합니다. 이전에는 호출기가 소아 제품을 고려했으며 총 수가 올바르지 않았습니다.
- 이제 애플리케이션은 주문 페이지 및 대변 메모 페이지 그리드에 소계 및 운송 및 처리 값에 대한 올바른 통화 기호를 표시합니다. GitHub-22662
- Safari를 사용하는 관리자는 이제 관리자의 주문에 제품을 추가할 수 있습니다. 이전에는 관리자가 선택한 제품을 주문에 추가 단추를 클릭하면 응용 프로그램에 회전 하중 아이콘이 표시되고 페이지가 정지되었습니다. GitHub-30265
판매 규칙
- 이제 애플리케이션은 장바구니에 여러 장바구니 가격 규칙이 적용될 때 최대 할인 수량이 적용됨 또는 할인 수량 단계(구매 X) 조건이 있는 장바구니 가격 규칙을 올바르게 적용합니다. 이전에는, 다른 장바구니 가격 규칙 다음에 최대 수량 할인이 적용된 또는 할인 수량 단계(구매 X) 가 적용된 장바구니 가격 규칙이 적용된 경우 총 할인은 최대 수량 할인이 적용된 또는 할인 수량 단계(구매 X) 에 대해 구성된 값으로 감소되었습니다.
- 이제 쿠폰 보고서는 분할 데이터베이스가 구현된 배포에서의 쿠폰 활동을 정확하게 반영합니다.
- 범주 IS NOT 조건이 포함된 장바구니 가격 규칙은 이제 범주에 할당되지 않았지만 상위 제품이 할당된 구성 가능한 하위/단순 제품에 예상대로 적용됩니다.
- 이제 쿠폰이 주문에 적용되면 GraphQL
cart
쿼리가 장바구니의 청구 단계에 대한 올바른 총계를 반환합니다.
검색 search-heading
- 범주 페이지에
modes-label
,mode-list
,toolbar-amount
,sorter
,limiter
HTML 요소 ID가 더 이상 없습니다.
- 부분 단어 검색 결과에 더 이상 예기치 않거나 관련이 없는 일치 항목이 포함되지 않으며 검색은 상점 및 관리자 모두에서 일관된 결과를 생성합니다. 이제 응용 프로그램은 부분 단어 검색에 대해 스테머 없이 다른 분석기를 사용합니다. 이전에는 검색 결과에 검색 키워드가 포함되지 않은 제품이 표시되었습니다. (이전에 기본 분석기에 압축기가 포함되었으며, 동일한 분석기가 검색 시 부분 단어 검색에 사용되었기 때문에 검색 결과가 예기치 않거나 관련이 없는 일치 항목을 생성할 수 있습니다.)
- 이제 빠른 검색은 검색 쿼리에 여러 단어가 있고 제품 이름이 검색할 수 없도록 구성된 경우 결과를 반환합니다. 이전에는 제품 이름이 검색할 수 없는 것으로 구성된 경우 애플리케이션에서 여러 단어가 포함된 검색 쿼리에 대한 쿼리 예외를 throw했습니다.
- 이제 검색 가능한 것으로 구성된 경우 검색 결과에 예상대로
weight
특성이 포함됩니다.
- Elasticsearch이 활성화된 빈 범주 페이지를 볼 때 애플리케이션에서 더 이상 오류가 발생하지 않습니다. 대신, 페이지가 예상대로 렌더링되고 유용한 메시지가 표시됩니다. 이전에는 빈 전체 텍스트 인덱스가 범주 페이지에서 예외를 트리거했습니다.
- 이제 쇼핑객이 검색을 시작한 후 검색 필드 외부를 클릭하면 검색 필드 자동 완성 기능이 예상대로 작동합니다. 이제 구매자가 입력을 재개하면 자동 완성 제안이 다시 나타납니다. 이전에는 추가 문자를 입력해도 애플리케이션에서 자동 완성 제안을 표시하지 않고 검색 상자를 클릭하여 검색 제안을 다시 표시하지 않았습니다.
- 고급 검색에서 전체 또는 부분 SKU를 기반으로 제품을 검색하면 이제 예상 제품이 반환됩니다.
- 이제 계층화된 탐색 필터에 정확한 제품 수가 표시됩니다. 이전에는 Elasticsearch의 제품 수 값이 카탈로그 권한으로 필터링되지 않았습니다.
- 카테고리 URL 페이지 매개 변수가 페이지 매김을 초과할 때 Elasticsearch에서 더 이상 오류가 발생하지 않습니다. GitHub-23843
- 이제 사용자 지정 Elasticsearch 필드 매퍼를
Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\CompositeResolver
에 추가할 수 있습니다. GitHub-24350
- 이제 개발자는 Elasticsearch 매핑을 변경할 수 있습니다. 이전에는 기본 매핑에서 Elasticsearch 서버로 전송된 동적 템플릿이 하드 코딩되어 개발자가 사용자 지정 모듈과 연결된 추가 데이터를 Elasticsearch에 색인화할 수 없었습니다. GitHub-24363
- 검색 제안 기능이 비활성화되면 검색 필드(양식 미니검색)가 예상대로 작동합니다. GitHub-30584
배송
- 이제 애플리케이션은 여러 주소가 있는 체크아웃 중에 제품을 삭제한 후 쇼핑객이 장바구니 페이지로 다시 이동할 때 예상대로 배송 가격을 업데이트합니다.
- 이제 장바구니에 있는 일부 품목이 무료 배송에 적합할 때 애플리케이션에서 올바른 조정된 배송 가격을 표시합니다. 이전에는 장바구니의 일부 품목이 무료 배송에 적합할 경우 애플리케이션에서 배송 가격을 조정하지 않고 구매자에게 전체 배송 가격을 표시했습니다.
- 특정 웹 사이트로 제한된 관리자는 이제 동일한 웹 사이트에 배치된 주문에 대해 배송을 만들 수 있습니다. 이전에는 기본 스토어 보기에 대한 권한이 없는 관리자가 관리자가 액세스할 수 있는 스토어 보기에 있는 주문을 배송하려고 할 때 애플리케이션에서 이 예외가
Notice: Undefined offset: 1 in /app/code/Magento/Catalog/Model/Product/Attribute/Backend/GroupPrice/AbstractGroupPrice.php on line 293
발생했습니다.
- 이제 애플리케이션은 주문이 무료 DHL 배송 조건을 충족하는지 여부를 결정할 때 관련 장바구니 가격 규칙 할인을 계정 고려합니다.
- 이제 배송 레이블은 주문이 기본 통화가 아닌 통화로 주문될 때 여러 통화를 지원하는 스토어에 대해 주문 통화 대신 기본 통화를 예상대로 사용합니다. GitHub-31891
- 이제 다중 배송 페이지에서 멀어진 후 체크아웃 중에 장바구니 페이지로 돌아가면 애플리케이션에 올바른 주문 소계가 표시됩니다. GitHub-31889
- 관리자 주문 생성 중 청구 정보를 편집해도 기본 배송 및 청구 주소가 다른 고객의 배송 정보가 더 이상 변경되지 않습니다. GitHub-31786
- 쇼핑객이 배송 방법 및 요금 가져오기 를 클릭하고 관리자로부터 주문을 만들 때 배송 방법을 선택할 때 응용 프로그램에서 더 이상 댓글 추가 확인란의 선택을 취소하지 않습니다. GitHub-30256
- 이제 쇼핑객은 뒤로 브라우저 버튼을 사용하여 배송 방법 선택 페이지 페이지로 돌아가면서 여러 주소로 주문을 체크아웃할 수 있습니다. 이전에는 애플리케이션 프로그램에 손상된 배송 방법 선택 페이지 가 표시되었습니다. GitHub-30268
- 이제 제품 수량은 쇼핑객이 여러 주소로 배송 주소 페이지에서 수량을 변경하고 브라우저 뒤로 버튼을 클릭한 후에도 예상대로 변경되지 않습니다. GitHub-31956
- 체크아웃 중에 장바구니 가격 규칙이 적용되면 정액 배송 방법 요금이 더 이상 0이 되지 않습니다. GitHub-21832
- 판매자가 배송 레이블 만들기 확인란이 활성화되어 있고 제품 이름에 유니코드 문자가 포함되어 있는 경우 DHL을 사용하여 주문을 배송하려고 할 때 응용 프로그램에서 더 이상 오류가 발생하지 않습니다. 이전에는 레이블 생성을 요청할 때 응용 프로그램에서 이 오류를 표시했습니다.
The response is in wrong format
. GitHub-31032
- 한 웹 사이트에서
United States
을(를) 사용하고 다른 웹 사이트에서Disable all countries
을(를) 기본 범위로 사용하는 다중 사이트 배포에서 관리자의 주문을 정상적으로 수행할 수 있습니다. 이전에는 응용 프로그램에서 주문을 하지 않았으며 다음 오류가 표시되었습니다.Please check the shipping address information. "regionId" is required. Enter and try again
. GitHub-30577
스테이징
- 이제 Fastly를 구현하는 배포에서 예약 블록 업데이트 기능이 예상대로 작동합니다. 이전에는 Fastly 캐시 태그가 무효화되지 않고 Fastly가 오래된 콘텐츠를 계속 제공하므로 애플리케이션에서 블록 콘텐츠를 업데이트하지 않았습니다.
- 이제 장바구니 가격 규칙 스테이징 미리 보기가 여러 웹 사이트 스토어 보기에 할당될 때 적절한 웹 사이트에 로드됩니다. 이전에는 장바구니 가격 규칙 미리 보기가 할당된 웹 사이트에 관계없이 기본 스토어 보기에 로드되었습니다.
- 기본이 아닌 스토어 보기의 제품에 대한 특별 가격은 이제 예약된 업데이트가 종료된 후 예상대로 기본값으로 설정됩니다.
- 판매자는 이제 종료 날짜가 포함된 향후 스테이징 업데이트를 만든 후 다운로드 가능한 제품 페이지에서 연결된 샘플이 있는 다운로드 가능한 제품을 성공적으로 저장할 수 있습니다. 이전에는 응용 프로그램에서 제품을 저장하지 않고
The downloadable sample isn't related to the product. Verify the link and try again
메시지를 표시했습니다. GitHub-488
- 범주 일정 업데이트 미리 보기 중에 모든 제품 ID를 포함하는 대용량 데이터베이스 쿼리가 더 이상 실행되지 않습니다. 대신 카테고리 필터가 제품 컬렉션에 적용되어 카테고리의 스테이징 미리 보기를 위한 임시 테이블을 만듭니다. 이전에는 응용 프로그램에서 스테이징 미리 보기를 위해 임시 테이블에 모든 제품을 삽입했으므로 성능이 저하되었습니다.
Magento_SalesRuleStaging
모듈이 더 이상 2.3.x에서 업그레이드하는 동안 오류를 트리거하지 않습니다.
- 이제 일정 업데이트를 볼 때 응용 프로그램에 올바른 데이터가 있는 카탈로그 규칙 조건이 표시됩니다. 이전에는 조건이 있는 예약 업데이트를 보면 애플리케이션이 조건을 표시하지 않거나 잘못된 데이터가 있는 조건을 표시했습니다.
- 업데이트 전에 예약된 업데이트를 선택 취소하면 제품에 대한 기본값 사용 확인란이 선택된 상태로 유지됩니다.
- 이제 카탈로그 가격 규칙이 정의되지 않은 특성 값이 있는 제품에 예상대로 적용됩니다. 이전에는 카탈로그 가격 규칙을 통해 생성된 할인이 정의되지 않은 속성이 있는 제품에는 적용되지 않았습니다. GitHub-461
- 이제 카탈로그 규칙이 서로 다른 시간대에 스토어가 있는 다중 웹 사이트 배포에서 예상대로 작동합니다. 이전에는 모든 웹 사이트에서 애플리케이션이 카탈로그 규칙을 한 번에 적용하거나 비활성화했습니다.
- 특정 웹 사이트에 대한 일정 업데이트를 만들 때 계층 가격이 더 이상 제거되지 않습니다.
- 이제 종료 날짜가 포함된 향후 스테이징 업데이트를 만든 후 다운로드 가능한 제품 페이지에서 제품을 저장할 수 있습니다. 이전에는 응용 프로그램에서 제품을 저장하지 않고
The downloadable link isn't related to the product. Verify the link and try again
메시지를 표시했습니다. GitHub-474
저장
- 스토어 홈 페이지를 표시할 때 응용 프로그램에서
0
문자열을 더 이상 빈 값으로 처리하지 않습니다. 이전에는 응용 프로그램이 요청 경로 시작 시 정수 값을 저장소 ID로 처리했으며 이로 인해 SEO에 의도하지 않은 영향이 있었습니다.
- under
lib/internal/Magento/Framework/App/Action/Plugin
에 대한\Magento\Framework\App\ActionInterface
플러그인은 플러그인을 사용하여 다른 모듈에서 한 모듈의 동작을 사용자 정의해야 한다는 지침을 유지하기 위해 제거되었습니다. GitHub-28050
- 이제 웹 사이트를 만드는
Please enable your Store View before using this Web Site as Default
동안 비활성화된 경우Store View
기본값으로 선택Website
하려고 하면 애플리케이션 에 다음 메시지가 표시됩니다. 이전에는 웹 사이트가 다운되어 애플리케이션 프로그램에 경고가 표시되지 않았습니다.
세금
- 이제 애플리케이션 은 최소 주문 금액을 유효성 검사 하는 동안 계정 숨김 세금을 고려합니다.
- 이제 쇼핑객이 장바구니로 돌아가 장바구니에 번들 제품을 추가한 후 결제를 진행할 때 애플리케이션에 고정 제품세(FPT)가 예상대로 표시됩니다. GitHub-30250
- 이제 애플리케이션은 관리자가 기존 고객에 대한 주문을 생성할 때 관리자 새 주문 페이지의 주소 정보 섹션에 있는 과금 및 배송 주소 모두에 대한 VAT 번호 입력 필드를 저장된 VAT 번호로 미리 채웁니다. GitHub-31846
- 활성화된 경우
customer/create_account/vat_frontend_visibility
이제 애플리케이션의 고객 등록 페이지에 VAT 번호 필드가 표시됩니다. GitHub-31326
테스트
- 테스트 환경이 Redis 6.0.12로 업그레이드되었습니다.
- 통합 테스트에서
CacheCleaner::cleanAll();
을(를) 제거했습니다. GitHub-31074
- 이 시나리오에 대한 테스트가 추가되었습니다. 관리자는 고객이 큐에 있는 뉴스레터를 구독할 때 고객 계정을 편집할 수 있습니다. GitHub-30645
Catalog
,CatalogUrlRewrite
및LoginAsCustomer
모듈의 실행 시간을 개선하기 위해 테스트에서cache:flush
명령을 제거했습니다. GitHub-31056
- 중복 매개 변수가 제거되고
\Magento\Logging\Model\ProcessorTest::testLoggingProcessorLogsActionShipping
에서 필요한 경우 POST이 GET으로 변경되었습니다.
테마
- JS 코드를 페이지의 맨 아래로 이동 설정(스토어 > 구성 > 고급 > 개발자 > JavaScript 설정)과 쿠키가 모두 활성화되어 있으면 고객 로그인 페이지에 이 메시지가 더 이상 표시되지 않습니다.
The store will not work correctly in the case when cookies are disabled
.
- 이제 헤더의 계정 링크는 WCAG 표준을 따릅니다. 이전에는 헤더에 있는 계정 링크에 중복된 ID가 포함되어 있어 WCAG 유효성 검사가 실패했습니다.
- 이제 애플리케이션은 레이아웃 구성보다 스토어 로고 이미지에 대한 스토어 구성의 우선순위를 지정합니다. 기존에는 로고 이미지 크기가 고정돼 매장별로 차이가 없었다.
- 이제 애플리케이션은 표준 Adobe Commerce 테마를 사용하는 상점 첫 페이지에 페이지 요소를 일관되게 표시합니다. 이전에는 일부 스타일이 빈 테마에 적용되지 않았으므로 이 테마를 사용하는 페이지에 일부 페이지 요소가 표시되지 않았습니다. (예를 들어, 내 주문 페이지 검색 필드에 돋보기 아이콘이 없습니다.)
번역 및 로케일
- 인라인 변환이 구성되면 문자열에 추가된 대괄호는 더 이상 이스케이프되지 않습니다. 이전에는
escapeHtmlAttr
메서드가 대괄호를 HTML 엔터티 코드로 변환했습니다. GitHub-32000
- 관리자에서 번역할 수 없는 구를 이제 번역할 수 있습니다. (이 끌어오기 요청은 모든 관리자 문자열을 지역화할 수 있도록 만들기 위한 지속적인 노력에 기여합니다.) GitHub-11175
- 저장된 결제 방법(내 계정 > 저장된 결제 방법 )을 관리하는 데 사용되는 템플릿의 텍스트 문자열을 변환할 수 있습니다. GitHub-31211
- 이제 관리자에서 보낸 주문 전자 메일은 관리자 계정과 연결된 로케일이 아닌 스토어 로케일을 사용합니다. GitHub-26521
UI
- 이제 관리자 바닥글에 올바른 제품 버전이 표시됩니다.
- 이제 소스에 대한 페이지 매김이 관리자 선적 생성 시 예상대로 제공됩니다.
- 사용자 지정 날짜 특성을 사용하여 제품을 필터링하고 관리자 로케일이
en_GB
인 경우 제품 격자 필터가 올바르게 작동합니다.
- 이제 핀치-투-줌 제스처가 iOS 장치의 제품 페이지 이미지 갤러리 돋보기에서 예상대로 작동합니다.
- 이제 관리자 제품 그리드 검색 결과의 페이지 매김이 예상대로 각 검색에 대해 페이지 1부터 시작됩니다.
- 확대/축소할 때 장바구니가 표시되는 예외 항목이 해결되었습니다. 이전에는 이 페이지를 확대/축소할 때 표시 요소가 겹쳤습니다.
- 관리자 초대 페이지(관리자 마케팅 > 개인 판매 > 초대)의 탭 정렬 문제가 해결되었습니다. 이전에는 고객이 수락한 초대의 탭 표시가 잘못 표시되었습니다. GitHub-333
- 이제 PayPal Express Checkout을 사용하여 체크아웃하는 동안 표시되는 주문 리뷰 페이지가 정상적으로 로드됩니다. 이전에는 템플릿에 사용되지 않은 게재 방법 업데이트 단추가 포함되어 있었습니다. 이 단추는 페이지 렌더링 중에 스크립트에 의해 일부만 숨겨져 있었습니다. GitHub-32006
- 이제 제품 페이지의 고객 리뷰 섹션에 있는 평가 별과 리뷰 텍스트의 간격은 긴 평가 이름이 있을 때 적절히 조정됩니다. GitHub-31890
- 이제 옵션이 송장, 선적 및 대변 메모 보관 페이지의 조치 드롭다운 목록에 예상대로 표시됩니다.
- 이제
datetime
구성 요소timeOnly
옵션이 예(으)로 설정된 경우 응용 프로그램에서 올바른 시간 값을 표시합니다. GitHub-23157
- 이제 관리 콘텐츠 > 위젯 에서 새 위젯을 만든 후 레이아웃 업데이트를 제거할 수 있습니다. GitHub-29936
- 이제 레이아웃 업데이트 제거 단추가 관리자 콘텐츠 > 위젯 에서 추가한 모든 레이아웃에서 예상대로 작동합니다. 이전에는 여러 레이아웃을 추가할 때 이 단추가 첫 번째로 선택한 레이아웃 이외의 레이아웃에서 작동하지 않았습니다. GitHub-30286
- 이제 응용 프로그램에서 레이아웃 파일에 설정된 페이지 제목을 고객 계정 편집 파일의 브라우저 페이지 제목으로 사용합니다. 이전에는
Magento\Customer\Controller\Account\Edit
컨트롤러 작업에서 페이지 제목 값을Account Information
(으)로 적용했습니다. GitHub-30724
-
판매자가 암호 표시 및 숨기기 간을 전환할 수 있도록 하는 확인란이 다음 페이지에 추가되었습니다.
- 고객 로그인
- 고객 등록
- 고객 편집(암호 변경 섹션)
- 고객이 새 암호 설정 GitHub-31557
- 관리자가 속성 세트를 변경한 후 그룹화된 제품 세트에 제품을 추가할 때 표시되는 그리드 셀의 중복 헤더를 제거했습니다. GitHub-30911
- 이제 응용 프로그램에서 고객 > 로그인 페이지의 로그인 영역에
DateRange
필터를 표시합니다. 이전에는 응용 프로그램에Text
필터가 표시되었습니다. GitHub-30328
- JavaScript은 관리 페이지의 렌더링 문제를 줄이기 위해 템플릿 파일에서 제거되고 별도의 파일로 이동되었습니다. 이전에는 HTML 축소가 활성화된 배포에서 관리 페이지가 제대로 렌더링되지 않았습니다. 응용 프로그램에 다음 오류가 표시되었습니다.
An error has happened during application run. See exception log for details
. GitHub-32454
- 이제
dropdownDialog
위젯은 필요한 드래그 가능한 크기 조정 가능한jquery-ui
청크만 로드합니다. 기존에는 불필요한 코드를 대량으로 로드해 로드 시간이 부풀려지고 성능이 저하됐다. GitHub-32810
URL 재작성
- 다중 사이트 배포의 특정 웹 사이트에 대한 제품 URL 재작성은 이제 제품이 벌크 업데이트로 웹 사이트에 할당된 후 예상대로 생성됩니다.
- 이제 URL 키에 대한 기본값 사용 확인란이 상위 범주에 대해 활성화된 경우 응용 프로그램에서 하위 범주에 대한 URL 경로를 올바르게 생성합니다. 이전에는 다중 스토어 보기 배포에서 다른 URL 키를 사용할 때 계층 구조에서 범주를 이동하면 잘못된
url_path
값이 생성되었습니다. GitHub-16202
- 이제 응용 프로그램에서 범주 계층 구조에서 범주를 이동할 때 모든 저장소 범위에 할당된 범주의
url_path
을(를) 업데이트합니다. 이전에는 계층 구조에서 범주를 이동하면 잘못된url_path
이(가) 발생했습니다.
- 이제 사용자 지정 URL을 사용하여 책임자로부터 생성된 URL 리디렉션이 성공적으로 작동합니다. 이전에는 GraphQL이 GraphQL
urlResolver
쿼리의 응답을 캐시하고 URL 다시 작성 업데이트 후 이전 값을 반환했습니다.
- 이제 웹 사이트에서 제품을 제거할 때 제품 URL 재작성은 예상대로 제거됩니다. GitHub-24184
app/code/Magento/UrlRewrite/Model/ResourceModel/UrlRewriteCollection.php
컬렉션의addStoreFilter
함수에서store_id
에 대한main_table
참조를 추가했습니다. 이전에는store_id
열도 포함된 테이블의 컬렉션에join
을(를) 추가할 때마다 문제가 발생했습니다. GitHub-31853
- 이제
PUT /V1/products/:sku
REST 끝점이 예상대로 제품 URL 다시 쓰기를 다시 생성합니다. 이전에는 끝점이 제품url_key
값을 다시 생성했지만 URL은 다시 쓰지 않았습니다. GitHub-30316
사용자
- 이제
Edit Product Design
을(를) 제외한 전체Catalog
트리(카탈로그 > 인벤토리 > 제품 > 제품 디자인 편집)를 선택하여 효과적인 새 사용자 역할(관리자 시스템 > 권한 > 사용자 역할)을 저장할 수 있습니다. 이전에는 응용 프로그램에서 이 역할의 사용자가 변경한 제품을 저장하지 않고 다음 오류를 표시했습니다.Not allowed to edit the product's design attributes
. GitHub-31973
- 이제 새 관리자의 이메일을 생성할 때 애플리케이션에서 올바른 사용자 정의 이메일 템플릿을 사용합니다. 이전에는 응용 프로그램에서 관리자 이름과 성을 생략한 이전 기본 템플릿을 사용했습니다.
- 이제 새 사용자에게 이메일을 보낼 때 애플리케이션에서 올바른 이메일 템플릿을 사용합니다. 이전에는 사용자 지정 템플릿이 선택된 경우에도 애플리케이션에서 기본 템플릿을 사용했습니다.
버전 CMS
- 이제 레이아웃을 변경하면 애플리케이션에서 CMS 페이지에 올바른 테마를 적용합니다. 이전에는, 페이지에 할당된 테마에 관계없이, 레이아웃 변경 사항을 저장한 후 애플리케이션에서 할당된 테마를 Luma로 변경했습니다.
- 이제 제한된 역할이 있는 관리자는 계층 노드에 할당된 액세스 권한이 있는 페이지를 성공적으로 추가, 업데이트 또는 복제할 수 있습니다. 이전에는 이러한 조건에서 애플리케이션에서 치명적인 오류가 발생했습니다.
비디오
- 이제 고급 JavaScript 번들링을 활성화하고 사용하면 제품 갤러리에서 예상대로 비디오를 사용할 수 있습니다. GitHub-32501
- 구성 가능한 제품에 속하는 간단한 제품에 대한 YouTube 비디오가 이제 예상대로 작동합니다. 이전에는 이미지가 위치 대신 ID로 주문되었습니다. 그 결과, 일부 비디오는 이미지처럼 취급되었습니다. GitHub-29690
Visual Merchandiser
- Visual Merchandiser를 사용한 관리 범주 페이지 로드 성능이 향상되었습니다. 관리자 범주 페이지를 로드해도 더 이상 큰 데이터베이스 쿼리가 생성되지 않습니다.
웹 API 프레임워크
- 이제 카탈로그 API가 새 값을 추가하고 이전 값을 제거하여 제품의 사용자 지정 옵션 값을 올바르게 업데이트합니다. 이전에는 API가 이전 값을 삭제하지 않았습니다.
- 이제 POST
/V1/guest-carts/:cartId/billing-address
이(가) 주소 ID를 문자열이 아닌 정수로 반환합니다.
웹 사이트 제한
- 이제 구매자는 로그인하라는 메시지가 표시되기 전에 액세스하려던 페이지로 리디렉션됩니다. 이전에는 웹 사이트 제한이 활성화되고 제한 모드가 비공개 판매: 로그인 전용 으로 설정된 배포에서 쇼핑객은 스토어 홈 페이지 페이지로 리디렉션되었습니다.
위젯
- 이제 관리자는 위젯의 모든 레이아웃 업데이트를 삭제할 수 있습니다. 이전에는 위젯에 여러 레이아웃 업데이트가 있는 경우 관리자가 첫 번째 업데이트만 삭제할 수 있었습니다.
- 제품 위젯에서 장바구니에 추가 단추를 클릭해도 더 이상 페이지가 다시 로드되지 않습니다. 이전에는 제품 위젯에서 장바구니에 추가 단추를 클릭하면 제품이 장바구니에 추가되기 전에 현재 페이지가 다시 로드되었습니다.
- 이제 사용자 지정 텍스트 앵커 필드가 비어 있으면 TinyMCE의 CMS 계층 노드 링크 위젯에서 계층 링크를 예상대로 렌더링합니다.
위시리스트
- 위시리스트에서 제품에 대한 항목 편집 단추를 클릭해도 구성 가능한 제품의 구성 설정이 응용 프로그램에서 더 이상 재설정되지 않습니다. GitHub-32119
- 이제 위시리스트에서 사용자 정의 가능한 파일 옵션을 사용하여 제품을 업데이트할 때 애플리케이션에 올바른 제품 가격이 표시됩니다. 이전에는 애플리케이션에 잘못된 제품 가격이 표시되고 업로드된 파일에 대한 링크가 표시되지 않았습니다.
- 이제 여러 개의 위시 목록이 있는 고객의 위시 목록에 있는 총 제품 수가 위시 목록의 항목 수와 일치합니다. 기존에는 품절 상품이 전체 상품 수치에 포함됐다.
- 이제 애플리케이션은 제품을 주문에 추가한 후 위시 목록에서 제품을 제거합니다. GitHub-30260
- 이제 구매자는 위시리스트에서 관련 제품을 장바구니에 추가할 수 있습니다. 이전에는 쇼핑객이 관련 제품 섹션의 모두 선택 링크를 클릭했을 때 응용 프로그램에서 구성 가능한 제품과 관련 제품을 추가하지 않고 구성 가능한 제품만 추가했습니다. GitHub-32274
알려진 문제
문제: reCAPTCHA를 사용하지 않도록 설정할 때 JavaScript 오류 발생. reCAPTCHA를 체크 아웃에 사용하지 않도록 설정하면 체크 아웃이 진행되지만 응용 프로그램에서 콘솔 로그에 Uncaught TypeError
오류가 표시됩니다. 이 문제는 이후 릴리스에서 수정됩니다.
문제: 콘텐츠 보안 정책 오류. Storefront는 콘솔 로그에 다음 오류를 표시합니다. The Content-Security-Policy directive frame-ancestors does not support the source expression unsafe-inline
. Storefront 성능은 영향을 받지 않습니다.
문제: 기프트 카드 금액의 PayPal 신용 표시에 이상이 있습니다. PayPal 크레딧이 활성화되고 여러 선물 카드 금액이 구성된 경우 쇼핑객 선물 카드 금액이 변경되더라도 상점은 할부 결제 금액을 업데이트하지 않습니다. 이 문제의 수정 사항은 Adobe Systems Commerce 2.4.4 및 Magento Open Source 2.4.4에 포함될 예정입니다.
문제: _ SKU_별로 장바구니에 추가된 제품에 대해 주문 추가 버튼 버튼이 작동하지 않습니다. SKUAn error has happened during application run
별 주문에 제품을 추가한 후 주문 에 추가 버튼 버튼을 클릭하면 애플리케이션에서 이 오류 메시지를 표시합니다. 제품은 장바구니 목록에 추가되지 않습니다. 해결 방법: 제품 추가 기능을 사용합니다.
문제: GraphQL category
및 categoryList
쿼리는 공유 카탈로그의 범주가 숨김 또는 노출되는지 여부를 결정하는 범주 권한을 무시합니다. 상점에는 현재 공유 카탈로그에 할당되거나 할당 취소된 모든 범주가 표시됩니다. 이 문제는 B2B 공유 카탈로그가 활성화된 PWA 저장소를 구현하는 Adobe Commerce 2.4.3 배포에 영향을 줍니다.
커뮤니티 기여
더 넓은 Magento Open Source 커뮤니티에 감사하며 이번 릴리스에 대한 기여를 인정하고자 합니다.
커뮤니티 엔지니어링 팀 Magento 참가자는 월별, 분기별, 연도별로 상위 기여 개인 및 파트너 목록을 유지 관리합니다. 해당 기여자 페이지에서 GitHub의 병합된 PR에 대한 링크를 따라갈 수 있습니다.
파트너 기여
다음 표에는 파트너의 기여가 요약되어 있습니다. 이 표에는 가져오기 요청에 기여한 파트너, 외부 가져오기 요청 및 이와 관련된 GitHub 문제 번호(사용 가능한 경우)가 나열되어 있습니다.
개인 기여자 기여
다음 표에는 커뮤니티 구성원의 기여가 나와 있습니다. 이 표에는 외부 가져오기 요청, 연결된 GitHub 문제 번호(사용 가능한 경우) 및 가져오기 요청에 기여한 커뮤니티 구성원이 나열되어 있습니다.
시스템 요구 사항
당사의 기술 스택은 PHP와 MySQL을 기반으로 합니다. 자세한 내용은 시스템 요구 사항을 참조하십시오.
설치 및 업그레이드 지침
작성기를 사용하여 Adobe Commerce 2.4.3을 설치할 수 있습니다.
마이그레이션 툴 키트
데이터 마이그레이션 도구는 기존 Magento 1.x 저장소 데이터를 Magento 2.x로 전송하는 데 도움이 됩니다. 이 명령줄 인터페이스에는 확인, 진행 추적, 로깅 및 테스트 기능이 포함됩니다. 설치 지침은 데이터 마이그레이션 도구 설치를 참조하십시오. 데이터 마이그레이션 저장소🔗 탐색 또는 기여 고려.
코드 마이그레이션 도구 키트는 기존 Magento 1.x 저장소 확장 및 사용자 지정을 Magento 2.x로 전송하는 데 도움이 됩니다. 명령줄 인터페이스에는 Magento 1.x 모듈 및 레이아웃을 변환하는 스크립트가 포함되어 있습니다.