Adobe Commerce 2.4.6 릴리스 노트
Adobe Commerce 2.4.6에서는 PHP 8.2에 대한 지원을 도입했습니다. PHP 8.1은 완전히 지원되지만 PHP 7.4에 대한 지원이 제거되었습니다. 여기에는 중요한 성능 및 확장성 개선이 포함됩니다. 대량 장바구니 작업 및 범주 트리 렌더링 응답을 위한 GraphQL 작업이 최적화되었습니다. 이 릴리스에서는 Adobe Commerce 확장 메타패키지가 도입되었습니다.
이 릴리스에는 300개 이상의 품질 수정 및 개선 사항이 포함되어 있습니다. Core Composer 종속성 및 타사 라이브러리가 PHP 8.2와 호환되는 최신 버전으로 업그레이드되었습니다.
기타 릴리스 정보
이러한 기능에 대한 코드는 Adobe Commerce 코어 코드의 릴리스와 함께 번들로 제공되지만 이러한 프로젝트 중 일부(예: B2B, 페이지 빌더 및 Progressive Web Application(PWA) Studio)도 독립적으로 릴리스됩니다. 이러한 프로젝트에 대한 버그 수정은 각 프로젝트에 대한 설명서에서 사용할 수 있는 별도의 프로젝트별 릴리스 정보에 설명되어 있습니다.
Adobe Commerce 2.4.6의 특징
이 릴리스에서 다음 하이라이트를 확인하십시오.
향상된 보안 기능
이번 릴리스에는 8가지 보안 수정 사항 및 플랫폼 보안 개선 사항이 포함되어 있습니다.
현재까지 이러한 문제와 관련된 확인된 공격은 발생하지 않았습니다. 그러나 특정 취약성은 고객 정보에 액세스하거나 관리자 세션을 인수하는 데 잠재적으로 악용될 수 있습니다. 이러한 문제의 대부분은 공격자가 먼저 관리자에 대한 액세스 권한을 얻어야 합니다. 따라서 이러한 노력을 포함하되 이에 국한되지 않고 관리자를 보호하기 위해 필요한 모든 조치를 취해야 함을 알려드립니다.
- IP 허용 목록에 추가
- 이중 인증
- VPN 사용
/admin
대신 고유한 위치 사용- 올바른 암호 위생
이러한 고정 문제에 대한 최신 논의는 Adobe 보안 게시판을 참조하십시오.
추가적인 보안 개선 사항
이 릴리스의 보안 개선 사항은 다음을 포함하여 최신 보안 모범 사례를 준수하도록 개선합니다.
-
관리자 작업 로그의 간격은 그리드 보기, 대량 작업 및 내보내기 내의 작업을 보다 구체적으로 감사하여 해결되었습니다.
-
결제 처리 중 예기치 않은 오류가 발생할 때 체크아웃 중에 reCAPTCHA 유효성 검사가 더 이상 실패하지 않습니다. GitHub-35093
-
관리자 사용자가 전자 메일을 변경할 때 전자 메일 확인이 필요한 새 시스템 구성. 사이트 취약성을 줄이기 위해 관리자가 전자 메일을 변경할 때 전자 메일 확인이 필요하도록 새 시스템 구성 설정(기본적으로 비활성화됨)을 추가했습니다. Stores > Settings:Configuration > Customers > Customer Configuration > Account Information Options > Require email confirmation if an email has been changed. 이 옵션이 활성화되면 애플리케이션은 관리자 사용자가 이메일 주소를 변경할 때마다 이메일 확인을 요청합니다. 다음 모듈이 이 변경의 영향을 받습니다.
Magento_Customer
.
플랫폼 개선 사항
Adobe Commerce 2.4.6에서는 PHP 8.2에 대한 지원을 도입했습니다. PHP 8.1은 완전히 지원됩니다.
PHP 7.4 지원은 이 릴리스에서 제거되었습니다. PHP 7.4에서는 Adobe Commerce 2.4.6을 실행할 수 없습니다.
Adobe Commerce 2.4.6은 이제 다음을 지원합니다.
-
작성기 2.2.x. Composer 1.x가 제거되었습니다.
-
Redis 7.0.x Redis 6.2와의 호환성은 유지되지만 Redis 6.2는 2024년에 사용이 종료될 예정이므로 Redis 7.0.x와 함께 이 릴리스를 배포하는 것이 좋습니다.
-
이제 OpenSearch가 Adobe Commerce 온-프레미스 및 클라우드 배포에 대한 기본 검색 엔진으로 지원됩니다. Magento Open Source을 위한 독립 검색 엔진으로 지원됩니다. 이 릴리스는 OpenSearch v2.x를 지원하며 OpenSearch 2.5에서 테스트되었습니다. OpenSearch 1.x와의 호환성은 유지되지만 이 릴리스를 OpenSearch 2.x와 함께 사용하는 것이 좋습니다. OpenSearch 2.x를 사용하여 Cloud와 온-프레미스 검색 엔진 필수 구성 요소에서 Adobe Commerce 및 Magento Open Source 2.4.6을 설치하고 실행할 수 있습니다.
-
Elasticsearch 8.x. 업그레이드 Elasticsearch을(를) 참조하십시오.
-
MariaDB 10.6(LTS 버전). 이 릴리스는 여전히 MariaDB 10.4와 호환되지만 MariaDB 10.6으로 업그레이드하는 것이 좋습니다.
기타 업그레이드 및 교체
-
DHL 스키마가 v6.2에서 v10.0으로 마이그레이션되었습니다.
-
오래된 JavaScript 라이브러리가 최신 버전으로 업데이트되고 오래된 종속성이 제거되었습니다. 이러한 변경 사항은 이전 버전과 호환됩니다.
-
Commerce 코드베이스에서 PHP 7.4 호환성이 제거되었습니다.
-
호환 종속성이 새 LTS 버전으로 업그레이드되었습니다. 종속성 포함:
friendsofphp/php-cs-fixer
symfony/console
symfony/event-dispatcher
symfony/finder
symfony/process
web-token/jwt-framework
-
jquery-migrate
이(가) Commerce 코드베이스에서 제거되었습니다. GitHub-21406 -
jQuery/fileUpload
라이브러리를 v10.32로 업그레이드했습니다. -
수명 종료에 도달한 Zend 프레임워크(ZF1) 구성 요소가 코드 베이스에서 제거되었습니다. 이전 버전과 호환되지 않는 변경 내용을 강조 표시.합니다.
-
Php 8.2를 지원하도록 Laminas 종속성이 업데이트되었습니다.
-
laminas/laminas-dependency-plugin
작성기 플러그인이 제거되었습니다. GitHub-36515 -
Zend_Filter
을(를)laminas/laminas-filter
(으)로 대체했습니다. -
web-token/jwt-framework
을(를) v3.0.5로 업그레이드했습니다. (최신 버전) -
allure-framework/allure-phpunit
을(를) v2.x로 업그레이드했습니다. -
Chart-js
라이브러리를 v3.9.1 (으)로 업그레이드했습니다.
향상된 성능 및 확장성
-
많은 고객 세그먼트에 영향을 주는 작업에 대한 성능이 향상되었습니다. 판매자는 새로운 구성 설정을 활성화하여 100개 이상의 고객 세그먼트가 관련된 작업의 성능을 향상시킬 수 있습니다. 고객에 대한 각 고객 세그먼트의 유효성 검사를 줄여 처리 시간을 줄이기 위해 필요에 따라 Real-time Check if Customer is Matched by Segment 설정을 비활성화할 수 있습니다. 고객 세그먼트 유효성 검사를 참조하십시오.
-
제품 표에 표시되는 제품 수를 제한하는 새로운 시스템 구성 설정. 판매자는 새 Limit Number of Products in Grid 구성 설정을 사용하여 제품 그리드 성능을 향상시킬 수 있습니다. 이 제한은 기본적으로 20000 구성되며 UI 구성 요소에서 사용하는 제품 컬렉션에만 영향을 줍니다. 표시되는 제품 수를 제한하면 200,000개 이상의 제품이 채워진 그리드의 작업 성능을 향상시킬 수 있습니다. 눈금의 제품 수 제한을 참조하세요.
-
가져오기 성능 향상(분당 최대 100,000개의 레코드). 판매자는 새
POST /rest/<store_view_code>/V1/import/csv
REST API 끝점을 사용하여 데이터를 Adobe Commerce으로 가져올 수 있습니다. 이 종단점은 관리자 가져오기 기능과 동일한 기능을 제공하며 CSV 파일을 사용하여 제품, 제품 가격 및 고객 엔터티를 만들고, 업데이트하고, 제거할 수 있도록 지원합니다. 데이터 가져오기를 참조하십시오. -
로드 밸런싱을 통해 처리량이 많은 주문 처리 성능을 개선했습니다. 클라우드 인프라의 Adobe Commerce 2.4.6 - 많은 동시 주문(분당 1,000회 주문)을 보유한 고객은 이제 데이터베이스의 부하를 다른 노드에 분산시켜 주문 처리 성능을 향상시킬 수 있습니다. 판매자는 MySQL 데이터베이스 및 Redis 인스턴스에 대한 보조 연결을 활성화하여 이 로드의 균형을 다시 조정할 수 있습니다. 높은 처리량의 주문 처리 보기
Adobe Commerce 확장 메타패키지
이 릴리스에서는 이 코어 릴리스와 함께 선택 Adobe Commerce 확장 기능을 자동으로 번들로 제공하는 Adobe Commerce 확장 메타패키지 v1.1.0이 도입되었습니다. composer update
을(를) 실행할 때 이 메타패키지에 포함된 이러한 확장 버전이 설치되어 최신 코어 릴리스로 업그레이드할 때 이러한 확장 업그레이드 프로세스를 간소화합니다. 이러한 확장은 여전히 독립적인 릴리스 일정을 유지합니다.
Adobe Commerce 2.4.6용 Adobe Commerce 확장 메타패키지에는 다음 두 개의 확장이 포함되어 있습니다.
이 확장 메타페이지의 향후 버전에는 추가 확장이 포함됩니다.
Adobe Commerce에 대한 이벤트 Adobe I/O
Adobe Commerce에 대한 Adobe I/O 이벤트 는 Commerce 이벤트를 캡처하고 Adobe Commerce에서 다른 Adobe 시스템으로 데이터를 전송합니다. 개발자는 Adobe Developer App Builder에서 재고 업데이트, 주문 상태 변경 및 가격 업데이트와 같은 Commerce 이벤트를 구독하는 클라우드 기반 앱을 빌드할 수 있습니다. 개발자는 이 기능을 사용하여 미션 크리티컬 시스템 전반에서 전체 구매자 여정의 오케스트레이션을 위해 데이터를 교환할 수 있습니다.
접근성 업데이트
이 릴리스의 초점은 보다 인지 가능하고, 작동 가능하며, 이해 가능하고 강력한 Venia(PWA)의 상점 경험을 만드는 데 있었습니다. 이러한 개선 사항은 다음과 같습니다.
- Sign in 단추의 시각적 텍스트 레이블이 이제 액세스 가능한 이름과 일치합니다. (UI 요소의 액세스 가능한 이름은 표시 레이블 텍스트로 시작하는 것이 좋습니다.)
- 상점 전면의 버튼에 설명적인 액세스 가능한 이름이 추가되었습니다.
- 검색 필터의 Has Video 확인란에 구두 설명 레이블이 추가되었습니다.
- 이제 키보드 전용 사용자는 상점 첫 화면에서 모든 페이지 기능에 액세스할 수 있습니다. 이전에는 쇼핑객이 키 입력만 사용하여 하위 탐색 링크에 액세스할 수 없었습니다.
Adobe IMS와 Adobe Commerce 통합
다음 Adobe IMS 모듈은 Adobe Commerce 2.4.6 코어 코드에서 분리되었으며 이제 별도의 메타패키지로 패키지화되었습니다.
adobe-ims
adobe-ims-api
admin-adobe-ims
새 adobe-ims-metapackage
v2.2.0은 Adobe Commerce 2.4.6과 번들로 제공됩니다. 이 릴리스에서 변경된 기능이 없습니다.
B2B
이제 GraphQL API를 통해 회사의 구매 주문 기능이 완전히 노출됩니다. 이 릴리스에는 두 가지 GraphQL 스키마가 도입되었습니다.
- 구매 발주 GraphQL 스키마에서는 구매 발주 생성, 편집 및 삭제와 같은 B2B 회사 사용자 구매 Order Management 기능을 다룹니다. 구매 주문(B2B)을 참조하세요.
- 구매 주문 규칙 GraphQL 스키마는 승인 규칙을 만들고, 편집하고, 삭제할 수 있을 뿐만 아니라 구매 발주를 수동으로 확인하는 기능을 제공합니다. 구매 주문 승인 규칙(B2B)을 참조하세요.
이 릴리스에는 여러 버그 수정이 포함됩니다. B2B 릴리스 정보를 참조하세요.
Braintree
- 이탈리아와 스페인에 대한 Pay Later 단추 및 배너(메시지)를 Braintree에 사용할 수 있습니다.
- PayPal 자격 증명 모음의 PayLater 메시징이 활성화되었습니다.
- 사기 방지 및 ACH 웹 후크를 추가했습니다. 사기 행위 방지 웹 후크는 Braintree 시 위험 결정이 내려진 경우 트리거됩니다. ACH 결제 상태가
settled
또는settlement decline
(으)로 업데이트되면 ACH 웹 후크가 트리거됩니다.
- LPM(로컬 결제 방법) 웹 후크를 추가했습니다.
GraphQL
GraphQL 성능 개선 사항은 다음과 같습니다.
범주 권한이 활성화된 범주를 쿼리할 때 응답 시간이 개선되었습니다. 카테고리 권한이 활성화되어 있고 많은 고객 그룹 또는 공유 카탈로그를 포함하는 카테고리의 제품을 쿼리할 때 응답 시간이 개선되었습니다. 이 성능 개선을 지원하는 코드 변경 사항은 다음과 같습니다.
- GraphQL resolver 작업이 최적화되었습니다.
- 데이터 공급자는 처리 중인 모든 새 제품에 대해 더 이상 런타임 캐시 데이터를 다시 설정하지 않으므로 성능이 향상되었습니다.
- 제품 권한 처리가 GraphQL 해결자에서 최적화되었습니다. 이제 제품 권한이 제품 컬렉션에 대신 이제 제품별로 적용됩니다.
addProductsToCart
돌연변이의 공유 카탈로그에서 읽을 수 있는 권한을 최적화했습니다.- 제품 권한은 제품 인라인 조각으로 최적화되었습니다.
카테고리 트리 렌더링의 최적화된 성능. categoryList
쿼리는 많은 범주가 있는 고객을 지원하도록 최적화되었습니다. 이 쿼리를 사용하여 최대 5개 수준의 중첩된 하위 범주가 있는 1500개 이상의 범주를 검색하면 판매자의 성능이 향상됩니다. 불필요한 메서드 호출을 제거하고, 카테고리 트리의 캐싱을 개선하고, 카테고리 데이터를 반복적으로 로드하여 리팩터링 코드를 통한 카테고리 하위 로드를 개선했습니다. 이 성능 개선을 지원하는 코드 변경 사항은 다음과 같습니다.
- 범주 모델에 대한 사용자 지정 특성 메타데이터 가져오기가 개선되었습니다.
- 범주 ID 가져오기가 개선되었으며
getChildren
개의 호출이 줄었습니다. - 범주 자식 로드가 개선되었습니다.
일괄 장바구니 작업 쿼리 응답 시간이 감소되었습니다. 제품 추가 돌연변이는 최대 500개의 단순 및 구성 가능한 제품을 추가할 때 쿼리 성능을 향상시키도록 최적화되었습니다. 번들 제품은 영향을 받지 않습니다. 최적화된 돌연변이는 addProductsToCart
, addConfigurableProductsToCart
, addDownloadableProductsToCart
, addSimpleProductsToCart
, addVirtualProductsToCart
,addWishlistItemsToCart
및 updateCartItems
입니다.
이제 고객 쿼리가 순서 정렬을 지원합니다. 이제 customer
쿼리의 orders
출력 개체에 정렬 필드가 있습니다. 이제 주문 번호 또는 생성 날짜별로, 그리고 오름차순 또는 내림차순으로 순서를 정렬할 수 있습니다.
새로운 돌연변이:
deleteCustomer
페이지 빌더
페이지 빌더 v.1.7.3은 Adobe Commerce 2.4.6과 호환됩니다.
PWA Studio
PWA Studio v.13.0.x는 Adobe Commerce 2.4.6과 호환됩니다. 여기에는 액세스 가능성을 개선하기 위한 여러 개선 사항이 포함되어 있습니다. 버그 수정에 대한 자세한 내용은 PWA Studio 릴리스를 참조하십시오. PWA Studio 버전 및 호환 가능한 Adobe Commerce 핵심 버전 목록은 버전 호환성을 참조하십시오.
알려진 문제
문제: New Relic은 현재 PHP 8.2와 호환되지 않습니다. New Relic을 실행하는 배포는 PHP 8.1에서는 Adobe Commerce 2.4.6을 실행할 수 있지만 PHP 8.2에서는 실행할 수 없습니다. 해결 방법: PHP 8.2를 지원하는 새로운 버전의 New Relic이 릴리스될 때까지 PHP 8.1에서는 Adobe Commerce 2.4.6을 실행하십시오. 이 릴리스는 2023년 여름에 예정되어 있습니다.
해결된 문제
Adobe Commerce 2.4.6 코어 코드에서 수백 개의 문제를 해결했습니다. 아래에 Adobe Commerce 2.4.6에 포함된 해결된 문제의 하위 집합이 설명되어 있습니다.
설치, 업그레이드, 배포
- 정적 콘텐츠 배포는 여러 로케일 및 웹 사이트를 사용하는 표준 또는 소규모 배포 중에 더 이상 시간 초과되거나 실패하지 않습니다.
- 정적 콘텐츠 배포(
bin/magento set:static-content:deploy -f --strategy compact
)를 실행할 때 컴팩트 전략으로 인해 외부 도메인에 대해 잘못된 참조가 더 이상 발생하지 않습니다.
bin/magento setup:di:compile -vvv
을(를) 실행하거나-v
또는-vv
옵션을 사용하여 실행하면 실패 시 정보 메시지가 반환됩니다. GitHub-35391
- 이미 데이터 마이그레이션 도구를 실행 중인 배포에서
bin/magento setup:upgrade
명령을 실행할 때 Adobe Commerce에서 더 이상 다음 예외가 발생하지 않습니다.PHP Fatal error: Declaration of Migration\Logger\Logger::addRecord(int $level, string $message, array $context = []): bool must be compatible with Monolog\Logger::addRecord(int $level, string $message, array $context = [], ?Monolog\DateTimeImmutable $datetime = null): bool in /var/www/html/vendor/magento/data-migration-tool/src/Migration/Logger/Logger.php on line 34
. GitHub-35604
- MySQL 8.0.29를 실행하는 환경에서는
bin/magento setup:db:status
명령이 더 이상 실패하지 않습니다. 이전에는 명령 출력에서 선언적 스키마가 오래되었음을 잘못 표시했습니다. GitHub-35671
composer install
명령이 더 이상.gitignore
파일을 덮어쓰지 않습니다. GitHub-32888
- Alpine Linux에서 업그레이드한 후 샘플 데이터를 제거하기 위해
bin/magento sampledata:remove
을(를) 실행하면 더 이상 다음 오류가 발생하지 않습니다.Undefined constant "MagentoHackathon\Composer\Magento\Deploystrategy\GLOB_BRACE
. GitHub-36062
composer install --no-dev
을(를) 처음 실행한 후bin/magento setup:upgrade
이(가) 성공적으로 실행됩니다. GitHub-36351
- 이제 예외 및 예외 스택 추적 항목이
var/log/exception.log
에 포함됩니다. GitHub-36054
- 이제 명령줄을 사용하여 암호 없이 Redis 연결을 설정할 때 Adobe Commerce에서 매개 변수 유효성 검사 오류가 발생합니다.
접근성
- 이제 체크아웃 워크플로의 Proceed to Checkout, Review Order 및 Place Order 단추가 키보드 입력에서 예상대로 작동합니다.
- TAB 또는 SHIFT + TAB 을(를) 사용하여 페이지 컨트롤을 탐색할 때 단추에 포커스가 있는지 시각적으로 표시하면 이제 예상대로 작동합니다.
화면 판독기
- 이제 주문 내역 페이지의 화면 판독기에서 올바른 이미지 설명을 읽습니다.
이제 화면 판독기에 다음이 표시됩니다.
- 검색 결과에 (으)로 총 항목 수가 있습니다.
- 사용자가 키보드 컨트롤 을(를) 사용하여 로그인했을 때 로그인한 사용자 이름
- 이제 제품 검색 결과 페이지 머리글에서
<title>
요소 에 대한 올바른 값을 읽습니다. - 입력 필드가 필수인지 여부
- 아코디언 요소의 현재 상태 수정(축소 및 확장)
- 사용자가 Create an account 단추 을(를) 클릭한 후 페이지 콘텐츠를 새로 고친 경우
번들 제품
- 이제 특정 스토어 보기에 대해 API를 통해 번들 제품을 업데이트해도 동일한 번들 제품에 대한 다른 스토어 보기 데이터가 재정의되지 않습니다. 이전에는 번들 제품 옵션 제목이 다른 스토어 보기에 대한 첫 번째 옵션 제목으로 재정의되었습니다.
- 이제 네덜란드어 로케일을 사용할 때 번들 제품을 관리자 Catalog > Products 에서 필터링할 수 있습니다. 이전에는
Type: Bundle Product
에서 필터링하려고 할 때 Adobe Commerce에 이 오류가 표시되었습니다.Something went wrong with processing the default view and we have restored the filter to its original state
. GitHub-35704
- 번들 제품의 특별 가격이 1000을 초과하는 경우 제품 그리드에서 더 이상 예외가 발생하지 않습니다. 이전에는 SKU로 제품을 검색하거나 Catalog > Products(으)로 이동했을 때 Adobe Commerce에서 다음 오류가 발생했습니다.
Non Numeric value encountered
. GitHub-36284)
- 번들과 간단한 제품이 혼합된 주문에 대한 대변 메모 및 송장 PDF의 열이 이제 올바로 렌더링됩니다. 이전에는 열이 왜곡되거나 잘못 정렬되었습니다.
BundleProduct
조각이 포함된 GraphQL 쿼리에서items.options.product
개체에 예상대로 데이터가 포함되어 있습니다. 이전에는 일부 상황에서 개체가 null일 수 있었습니다.
- Quantity uses decimals 이(가) 활성화되면 번들 옵션의 소수점 수량이 올바르게 렌더링됩니다. 이전에는 분수 구성 요소가 아닌 정수의 정수 부분만 렌더링했습니다. 예를 들어, 수량 1.5가 1.0으로 렌더링되었습니다. GitHub-35964
- 이제 GraphQL 제품 쿼리는 쿼리되는 스토어 범위 내에서 번들 제품 옵션만 반환합니다.
- 범주에 할당되지 않았지만 번들 또는 그룹화된 제품에 대한 제품 옵션인 제품은 이제 쿼리를 보내는 고객에 대해 Allow Category Browsing 구성 설정을 사용하도록 설정하면 응답으로 반환됩니다.
캐시
- 주문된 제품의 재고가 바닥나지 않는 한 주문 이행 후 전체 페이지 캐시가 더 이상 플러시되지 않습니다. 이전에는 출하가 생성될 때마다 범주에 대한 캐시가 삭제되었습니다.
- 이제 L2 캐시가 구성되고 원격 데이터가 부분적으로 제거될 때 데이터가 성공적으로 캐시됩니다. 이전에는 해당 데이터의 해시 없이 데이터 캐시만 플러시한 후 데이터 해시가 존재하는 동안에는 새 캐시가 저장되지 않았습니다.
- 캐싱을 방해하는
CatalogUrlResolverIdentity
및CmsUrlResolverIdentity
의 오류를 수정했습니다. 이로 인해 여러 요청에 대한 경로 쿼리 캐싱이 영향을 받았습니다.
장바구니 및 체크아웃
- 장바구니에 단순 제품의 최소 수량이 포함되어 있으면 쇼핑객은 이제 장바구니에 추가 품목을 추가할 수 있습니다.
- 저장소 통화와 기본 통화가 동일할 때 이제 장바구니 데이터를 검색하기 위한 REST API 호출에서 동일한
grand_total
및base_grand_total
값을 반환합니다. GitHub-34649
- 내보낸 값 Maximum Qty Allowed in Shopping Cart 이(가) 이제 관리 구성 설정에 설정된 기본값과 일치합니다.
- 이제 Adobe Commerce은 배송 할인이 적용된 주문 환불의 총 합계를 올바르게 계산합니다.
- 이제 Google reCAPTCHA가 상점 주문 시 예상대로 작동합니다. 이전에 구매자가 주문을 처음 시도하기 전에 Google ReCAPTCHA를 먼저 선택하지 않은 경우 Adobe Commerce에 이러한 오류가 표시되었습니다.
ReCaptcha validation failed, please try again
및No such cart with id = ID
.
- 이제 CAPTCHA 이미지 새로 고침은 관리자 구성 설정을 적용하며 이 설정이 비활성화될 때 트리거되지 않습니다. 기존에는 설정 활성화 여부와 관계없이 결제 방법이 변경될 때마다 새로 고침이 트리거됐다. GitHub-34855
- 이제 Adobe Commerce은 구매자가 장바구니를 업데이트하지 않고 장바구니 페이지의 제품 수량을 변경한 후 다음 페이지로 이동하려고 할 때 구매자를 다음 페이지로 리디렉션하기 전에 예상대로 확인 팝업을 표시합니다.
- 관리자는 이제 장바구니에서 제품 수량을 줄인 후 장바구니에서 제품을 줄일 수 있습니다. 이전에는 쇼핑객이 제품 수량을 줄이려고 할 때 Adobe Commerce에서 다음 오류가 발생했습니다.
The requested qty is not available
. GitHub-35780
- 다중 배송 체크아웃 중에 제품 수량이 구성된 최대값을 초과할 때 Adobe Commerce에서 더 이상 JavaScript 콘솔에 오류가 발생하지 않습니다. 대신 이제 Adobe Commerce에 유익한 오류 메시지가 표시됩니다. GitHub-36184
- 쇼핑객이 키보드의 아래쪽 화살표 키를 사용하여 제품 수량을 변경할 때 장바구니 페이지의 항목 수량은 더 이상 음수로 표시되지 않습니다. GitHub-36299
- 구매자는 구매자가 속한 고객 그룹을 변경한 후 이제 허용되지 않는 범주의 제품을 더 이상 장바구니에 추가할 수 없습니다. 이제 Adobe Commerce은 권한 구성 설정이 변경되면 특정 범주에 대한 고객 그룹 권한 액세스를 확인합니다.
- 고객 장바구니는 관리자 주문을 만들기 전에 더 이상 비워지지 않으며 주문이 취소되거나 중단되면 이제 장바구니 콘텐츠가 복원됩니다. 이제 주문 생성 후에만 장바구니에서 항목이 제거됩니다. 이전에는 관리자 사용자가 관리자 관리 장바구니 페이지에서 주문을 만들려고 할 때마다 장바구니가 비어 있었습니다.
bin/magento catalog:image:resize
을(를) 실행한 후 미니 장바구니에 올바른 제품 이미지가 표시됩니다. 이전에는 모든 이미지가 기본 제품 자리 표시자 이미지로 바뀌었습니다. GitHub-35535
- 이제 배송 주소에 확장 속성이 포함되어 있으면 체크아웃을 성공적으로 완료할 수 있습니다. 이전에는 Adobe Commerce에서 다음 오류가 발생했습니다.
Object of class Magento\Quote\Api\Data\AddressExtension could not be converted to string
. GitHub-34202
- 필수 제품 옵션에 값이 없는 경우
addBundleProductsToCart
돌연변이로 인해 더 이상 견적에 제품이 추가되지 않습니다. GitHub-25676
- 이제 Adobe Commerce은 권한이 부족한 장바구니에 제품을 추가할 때
addProductsToCart
돌연변이가 실패하면 정보 메시지를 반환합니다.
- 빠른 주문 을 사용하여 사용 가능한 재고를 초과하는 수량의 제품을 장바구니에 추가하면 Adobe Commerce에서 더 이상 오류가 장바구니에 표시되지 않습니다.
- 이제
setGiftOptionsOnCart
돌연변이에 고객 장바구니 작업에 대한 고객 인증이 필요합니다.
장바구니 가격 규칙
- 이제 규칙을 만드는 동안 설정된 장바구니 가격 규칙 무료 배송 옵션이 예상대로 주문에 적용됩니다. 이전에는 규칙을 만들 때 적용된 무료 배송 옵션이 체크아웃 중에 무시되었고, 규칙을 적용할 때 무료 배송이 허용되지 않았습니다. GitHub-35013
- 이제 제품에 대한
sales_order_item
테이블의discount_percent
열이 품목 할인 수량이 설정되지 않았거나 주문 품목 수량보다 크거나 같은 경우 예상대로 할인 비율로 채워집니다. 이전에는 이 제품에 장바구니 가격 규칙이 적용되면 이 열이 채워지지 않았습니다.
카탈로그
- 제품 목록 위젯에 로그인한 구매자에 대해 더 이상 잘못되거나 캐시된 가격이 표시되지 않습니다. 이제 홈 페이지 위젯에 표시되는 가격은 쇼핑객 주소와 일치하며 쇼핑객이 주소를 업데이트하면 업데이트됩니다. 이전에는 브라우저 캐시가 고객 그룹 세금 규칙에 따라 홈페이지의 제품 가격을 업데이트하지 않았습니다.
- 이제 제품 비교 목록 기능이 다중 웹 사이트 배포에서 올바르게 작동하며 웹 사이트에 따라 다릅니다.
- 제품 세부 사항 페이지를 다시 로드할 때 Adobe Commerce에 이전 페이지의 데이터가 더 이상 표시되지 않습니다. 이전에는 제품 세부 사항 페이지를 다시 로드할 때 첫 번째 탭의 데이터가 새로 로드된 데이터와 잠시 병합되었습니다.
- 이제 예상대로 모바일 장치의 메인 메뉴에서 하위 범주가 있는 범주를 확장할 수 있습니다. 이전에는 모바일 배포에서 하위 범주가 있는 범주를 열거나 확장할 수 없었습니다. GitHub-35329
- 이제 제품이 새 웹 사이트 또는 스토어에 지정되면 범주 목록이 예상대로 업데이트됩니다. 이전에는 제품 가격 인덱서가 유효하지 않은 것으로 표시되지 않았으며 이후에 예상대로
cron
실행 시 다시 트리거되었습니다. 그 결과 해당 상품의 가격항목이 가격지수표에서 누락되어 신규점포나 홈페이지에는 표시되지 않았다.
- Display Out of Stock Products 구성 설정을 사용하면 상점 인벤토리 수가 정확해집니다. GitHub-35899
- Allow All Products Per Page 설정을 사용하면 범주 페이지가 더 이상 비어 있지 않습니다. GitHub-35900
- Display Out of Stock Products 구성 옵션이 활성화되면 이제 예상대로 작동합니다. 이전에는 관리자에서 이 옵션이 활성화되면 모든 제품이 품절로 상점 앞에 표시되었습니다. GitHub-35898
- 도매 그룹에 할당된 고객은 이제 범주 권한으로 허용된 경우 그룹화된 제품을 장바구니에 추가할 수 있습니다. 고객 그룹에 대해 이 권한이 정의되지 않은 경우 구성 설정이 우선합니다.
- 이제 부울 속성으로 제품 정렬이 예상대로 작동합니다. GitHub-36390
- 카탈로그 가격 규칙 할인은 더 이상 고정 가격 사용자 정의 제품 옵션에 적용되지 않지만 제품의 원래 가격에만 적용됩니다.
- 이제 영숫자 제품 속성에 대한 관련 제품 규칙에 의해 생성될 때 상점 제품 세부 사항 페이지에서 관련 제품을 성공적으로 가져옵니다. GitHub-36285
- 이제 카탈로그 가격 규칙은 선택한 범위를 고려하며 속성에 규칙과 일치하는 옵션 값이 있는 웹 사이트의 제품에만 적용됩니다. 이전에는 규칙이 다중 사이트 배포에서 선택한 범위를 고려하지 않았습니다. GitHub-36049
- 이제 쇼퍼가 내 장바구니 페이지에서 구성 가능한 제품을 수정할 때 제품 세부 사항 페이지에서 견본 옵션 색상 및 크기 속성이 미리 선택됩니다. (jQuery 3.x 버전은 이제
swatchRenderer
위젯 이름을 지원하며, 이 이름은 이제 카멜 표기법입니다.) 이전에는 견본 옵션이 미리 선택되지 않았습니다.
- 이제 고객이 가격 하락 경고를 구독하면 제품 가격 하락에 대한 알림을 받게 됩니다. 이전에는 애플리케이션 수준 캐싱으로 인해 가격 하락 알림이 항상 전송되지 않았습니다.
- is not one of 조건을 가진 SKU를 기반으로 하는 카탈로그 규칙이 이제 예상대로 작동합니다.
- Adobe Commerce은 더 이상 범주 경로를 기반으로 한 한 한 범주가 다른 범주의 상위 범주로 잘못 간주하지 않습니다. 이전에는 두 범주가 인접하여 있고 한 범주 ID가 다른 범주의 범주 ID로 시작하는 경우 Adobe Commerce에서는 해당 범주의 상위 범주가 동일하다고 간주했습니다. GitHub-32464
구성 가능한 제품
- Adobe Commerce은 관리자가 구성 가능한 제품에 수동으로 제품을 추가할 때 이미 많은 간단한 제품이 할당되어 있는 경우 더 이상 오류가 발생하지 않습니다. 이전에는 Adobe Commerce에 다음 오류가 표시되었습니다.
Something went wrong with processing the default view and we have restored the filter to its original state
.
- 구매 가능 수량이 0인 구성 가능한 제품을 백오더가 비활성화된 배포의 장바구니에 더 이상 추가할 수 없습니다. 이제 Adobe Commerce에 해당 제품의 재고가 없는 것으로 표시됩니다. GitHub-35319
- 다른 스토어 보기에서 많은 옵션이 있는 구성 가능한 제품을 가져와서 새 제품을 만들면 이제 예상대로 첫 번째 제품의 정확한 복사본이 생성됩니다. 이전에는 구성 가능한 새 제품의 옵션 정렬 순서가 잘못되었으며, 여러 스토어 보기 및 로케일이 있는 배포에서 제목이 새 스토어 보기의 로케일로 번역되지 않았습니다. GitHub-35200
- 모든 품절 하위 제품으로 구성 가능한 제품이 이제 상점 앞에 품절로 표시됩니다.
- 구성 가능한 제품 SKU 및 제품 이름이 이제 정확하게 표시됩니다. 이전에는 Stores > Attribute set 에서 특성 그룹을 제품 세부 정보 그룹 위로 이동한 후 이름과 SKU가 정의되지 않음으로 표시되었습니다. GitHub-36309
쿠폰
- 쿠폰을 생성할 때 쿠폰 코드 설정을 적용하기 위해 쿠폰 코드 관리 워크플로에 유효성 검사 논리가 추가되었습니다. 이전에는 쿠폰 수량 값이 2500보다 클 때 쿠폰 코드 생성이 Code Length 설정을 무시했습니다.
- 이제 페이팔 익스프레스 결제 방식으로 체크아웃 시 리워드 쿠폰이 적용되면 고객 계좌에 예상대로 리워드 포인트가 추가된다.
- 이제 장바구니 가격 규칙이 조건으로 가중치를 가질 때 관리자 주문 생성 중에 쿠폰 코드를 적용할 수 있습니다. 기존에는 해당 상품에 다른 필드를 선택하지 않으면 쿠폰코드가 설정되지 않았다. GitHub-36271
- 이제 쿠폰 보고서를 여러 장바구니 가격 규칙으로 필터링할 수 있습니다. GitHub-36272
- 이제 사용자 지정 옵션으로 제품을 구성하는 동안 관리자가 Enter 을(를) 누르면 사용자 지정 옵션이 적용 및 저장됩니다. 이전에는 옵션을 선택하고 제품을 주문에 추가할 수 있었지만 옵션이 저장되지 않았고 관리자 사용자에게 제품 옵션을 다시 선택하라는 메시지가 표시되었습니다. GitHub-35284
- 이제 쿠폰 코드를 Excel XML로 성공적으로 내보낼 수 있습니다. 이전에는 생성된 파일에 선택한 모든 쿠폰 코드가 포함되지 않았지만 페이지 선택기당 항목에서 선택한 만큼의 항목만 포함되었습니다.GitHub-36073
cron
- 이제
catalog_index_refresh_price
cron 작업이 성공적으로 실행됩니다. 이전에는 Adobe Commerce에서 cron 실행 중에 이 오류를 기록했습니다.report.ERROR: Cron Job catalog_index_refresh_price has an error: SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens
.
통화
- 사용자 지정 통화 기호와 가격 사이에 공백이 상점 첫 글자와 관리자 제품 가격 모두에 추가되었습니다. 통화 기호로 사용자 지정 NBSP를 허용하기 위해 적절한 조건 및 정규 표현식 을 추가했습니다. 예를 들어, IDRx 105.00은 이전에 IDRx105.00으로 표시되었습니다.
고객 세그먼트
- 새 장바구니 가격 규칙을 만드는 동안 관리자 고객 세그먼트 그리드의 예/아니요 필터가 이제 예상대로 작동합니다.
이메일
- Adobe Commerce은 관리자로부터 주문이 생성된 후 더 이상 고객 중복 이메일을 전송하지 않습니다.
- Email order confirmation 설정을 사용하지 않도록 설정하면 더 이상 관리자 주문 전자 메일이 전송되지 않습니다. GitHub-36256
- 이미지 옵션은 더 이상 사용자 정의 옵션이 있는 제품에 대한 HTML 메모, 주문 확인 및 송장 고객 이메일(기본 템플릿)에 마크업으로 표시되지 않습니다.
프레임워크
- 이제 관리자 사용자는 유럽 연합 국가 설정에 국가가 없을 때 관리자 Store > Configuration 페이지를 열 수 있습니다(Stores > Configuration > General > Country options > European Union Countries). 이전에는 관리 사용자가 이 페이지를 열려고 할 때 Adobe Commerce에서 다음 오류가 발생했습니다.
TypeError: explode(): Argument #2 ($string) must be of type string, null given in /var/www/php/folder/vendor/magento/module-config/ViewModel/CountryFilter.php:46
. GitHub-35901
jquery.cookie
종속성이 이제 JavaScript 종속성에 예상대로 작동합니다. 이전에는jquery/jquery.cookie
에 별칭을 사용할 수 없었습니다. GitHub-35913
- 이제
bin/magento i18n:collect-phrases
명령에 내보낸 CSV 파일에<title>
텍스트가 포함됩니다. GitHub-35462
- 이제
Magento\Framework\Code\Reader\ArgumentsReader::getParentCall()
에서 명명된 생성자 인수를 지원합니다. 이제 매개 변수를 해당 이름으로 설정하여 함수를 호출할 수 있습니다.
- 이제 오류가
exception.log
파일에 예상대로 기록됩니다. 이전에는system.log
파일에 오류가 기록되었지만var/log/exception.log
에는 오류가 기록되지 않았습니다.
- 이제 판매자는 사용자 지정 외부 SMTP 공급자를 지정할 수 있습니다. GitHub-26104
- 이제 Adobe Commerce 2.4.3-p2를 실행하는 배포에서 예상대로 OAuth 통합을 다시 인증할 수 있습니다. 이전에는 재인증이 실패했습니다. 오류:
The attempt to post data to consumer failed due to an unexpected error. Please try again later
. Adobe Commerce에서 암호화되지 않은 값의 암호를 해독하려고 했습니다. GitHub-35313
- 하위 범주가 있는 범주에 대해 범주
urlKey
을(를) 저장하면 이제 올바른rowId
매개 변수가 전달됩니다. 이전에는URLKey
범주를 저장할 때 잘못된categoryId
이(가) 전달되었습니다.
- 제품 특성 코드
event
이(가) 예약된 제품 특성 코드 목록에 추가되어 상점 앞에서 이 이름의 특성을 사용하는 것과 관련된 오류가 제거됩니다. 이전에는event
을(를) 사용할 때 응용 프로그램에서 제품 세부 정보 및 검색/제품 목록 페이지에 이 오류가 발생했습니다.report.CRITICAL: Error: Call to a member function getStatus() on string in /home/mer33515/public_html/ee24develop/magento2ee/app/code/Magento/CatalogEvent/Observer/ApplyIsSalableToProduct.php:23
.
- 이제 주문 배치 중에 발생하는 상점 유효성 검사 오류 메시지가 일관되게 표시됩니다. 이전에는 메시지가 표시되었다가 축소되었다가 다시 표시되었습니다. GitHub-35651
- PHP 8.1을 실행하는 배포에서 더 이상 사용되지 않는
trim()
함수로 인해 AMQP 소비자가 더 이상 실패하지 않습니다. 이전에는 설치 후 AMQP 소비자가 시작될 때 Adobe Commerce에서 다음 오류가 발생했습니다.Deprecated Functionality: trim(): Passing null to parameter #1 ($string) of type string is deprecated in .../vendor/magento/framework-amqp/Config.php on line 143
. GitHub-35380
- 이제
getFilteredTimerIds
메서드가 예상대로 작동합니다. 클래스Magento\Framework\Profiler\Driver\Standard\Stat
이(가) PHP 8.1과 호환됩니다. 이전에는 이 메서드가 호출될 때 Adobe Commerce에서 예외를 throw했습니다. GitHub-35307
imagemin-svgo
라이브러리에 대한 종속성이 제거되었습니다.
- 이제 첫 번째 댓글이
//
(으)로 시작될 때 축소 템플릿 프로세스에서 연속 댓글을 성공적으로 처리합니다. GitHub-34880
BundleGraphQl
모듈에서 이 오류를 반환한 데이터베이스 쿼리를 수정했습니다."debugMessage": "Notice: Undefined offset: 16 in vendor/magento/module-bundle-graph-ql/Model/Resolver/Options/Collection.php on line 130"
.GitHub-34991
일반 수정 사항
- 이제 Adobe Commerce은 관리자 사용자가 관리자 통계 대시보드에서 Last 24 Hours 옵션을 선택하면 정확한 시간 범위를 표시합니다. 이전에는 Adobe Commerce에 잘못된 시간 범위가 표시되었습니다. 이 문제는 데이터베이스의 시간대가 변경되지 않았기 때문에 발생했습니다.
- 이제 정수 및 소수점 수량 모두에 대해 대변 메모를 생성할 수 있습니다. 이전에는 정수만 지원되었습니다.
- 숫자만 유형에 대한 고객 우편번호 입력 유효성 검사 규칙이 이제 Edit Customer Address 필드(Store > Attribute > Customer Address)에서 예상대로 작동합니다. 이전에는 고객 주소 정보가 우편 번호 유효성 검사 없이 저장되었습니다.
- 한 웹 사이트로 제한된 액세스 권한을 가진 관리자는 이제 고객으로 로그인 기능을 사용하여 관리자에 성공적으로 로그인할 수 있습니다.
- 이제 전역 공유 고객 계정에는 현재 웹 사이트에 대해 허용된 국가 목록에 대해 유효성이 검사되고 성공적으로 저장된 주소가 있습니다. 이전에는 이러한 계정이 고객이 등록된 웹 사이트의 허용된 국가에 대해 잘못 확인되었습니다.
- Enable Hierarchy Functionality 을(를) 사용하지 않도록 설정하면 CMS 페이지 계층 구조의 이동 경로가 더 이상 표시되지 않습니다. 이전에는 이동 경로가 표시되었고, 쇼핑객이 클릭하면 404 페이지가 표시되었다. GitHub-35513
- 관리자를 통해 모든 웹 사이트에서 제품을 제거해도 더 이상 다음 오류가 발생하지 않습니다.
SQLSTATE[42000]: Syntax error or access violation
. GitHub-35133
- 최대 로그인 시도 실패 횟수를 초과한 고객은 이제 암호를 재설정한 후 로그인할 수 있습니다. GitHub-34981
- 이제 동적 행 구성 요소는 관리자가 새 요소를 추가할 때 예상대로 작동합니다. 이전에는 그룹화된 제품에 간단한 새 제품이 추가되면 행 구성 요소가 잘못 동작했습니다. GitHub-34850
app/code/Magento/Backend/etc/menu.xsd
파일에서 오타 및 잘못된 문법이 수정되었습니다.
- 테이블 생성을 정확하게 설명하기 위해
app/code/Magento/Authorization/README.md
파일이 업데이트되었습니다.
admin_user
테이블의logdate
및lognum
필드에 올바른 값을 유지하고 사용자 모델에 로그인 값을 설정하도록recordLogin
메서드가 업데이트되었습니다. 이전에는 업데이트된 관리자 사용자에 대한 로그인 시도가 기록되지 않았습니다.
- GitHub 문제 템플릿은 개발자 경험 문제 및 기능 요청에 대한 문제 양식으로 변환되었습니다.
- 이제
Is required
고객 특성이 관리자 고객 편집 양식에 대한 웹 사이트 범위별로 올바르게 구현되었습니다.
- Use in Filter Options 설정을 사용하지 않도록 설정한 경우 고객 및 고객 주소 특성의 Grid Filter Condition Type 필드가 특성 편집 페이지에 더 이상 표시되지 않습니다.
- 이제 Adobe Commerce은 판매자가 제품을 만들 때 선택적 SKU 속성 값을 입력하지 않은 경우 정보 오류 메시지를 표시합니다. 이전에는 특성이 선택 사항이면 응용 프로그램에서 이 예외를 throw했습니다.
Deprecated Functionality: trim(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/html/mg244/project-community-edition/vendor/magento/module-eav/Model/Entity/AbstractEntity.php on line 932
. GitHub-35810
- My Quotes 페이지의 Show my quotes 필터가 이제 예상대로 작동합니다. 이전에는 필터 결과에 다른 관리자의 견적이 포함되어 있었습니다.
기프트 카드
- 이제 기프트 카드 제품 금액은 가져오는 동안 CSV 파일에 지정된 금액과 동일하게 유지됩니다. 기존 옵션에 대한 확인이 추가되었으며 이전 값이 이제 고유 키를 기반으로 업데이트됩니다. 기존에는 기프트 카드를 여러 번 가져올 때 기프트 카드 금액이 두 배로 늘어났다.
선물 포장
- 이제 실제 제품과 가상 제품이 모두 포함된 주문에 주문 수준에서 선물 포장이 적용되면 선물 포장 가격이 주문 요약 블록에 예상대로 표시됩니다. 기존에는 Adobe Commerce이 선물 포장 가격을 표시하지 않았다.
GraphQL
- GraphQL 코드에서 여러 인터페이스를 구현하는
Types
은(는) 이제 GraphQL@doc
사양에 따라&
기호와,
기호로 구분할 수 있습니다.
setShippingAddressesOnCart
돌연변이는 이제 숫자 영역 코드를region
(으)로 설정할 수 있도록 지원합니다. 이전에는 이 돌연변이가 숫자 영역 코드 값에 대해 잘못 작동했습니다.
- 이제
products
쿼리가 지정된 범위와 연결된 검토만 반환합니다. 이전에는 쿼리가 모든 스토어에서 리뷰를 반환했습니다.
- 이제 GraphQL 요청 시 카테고리 권한이 유지됩니다.
- 이제
customer
쿼리가 지정된from
및to
범위의 주문을 올바르게 필터링합니다. GitHub-31537
- 이제
product
쿼리가 집계에서 올바른 범주 데이터를 반환합니다. 이전에는attribute_code.category_uid
이(가)category_uid
대신category_id
의 값을 반환했습니다.
customerOrders
쿼리에서 더 이상\"model\" value should be specified
오류가 발생하지 않습니다. GitHub-35852
- 이제
customer
쿼리가 범위를 기준으로 주문을 필터링합니다. 이제 쿼리가 스토어, 웹 사이트 또는 전역으로 주문을 필터링할지 여부를 지정할 수 있습니다.
- 이제
categoryList
쿼리가 고정된 상위 범주와 연결되지 않은 상위 범주 모두에 대해 정확한 제품 개수를 반환합니다. 새is_anchor
특성이 범주 컬렉션 선택 열 목록에 추가되었습니다. 이전에는 요청에서 제품 개수 0을 반환했습니다. GitHub-36300
- 이제 다중 저장소 배포에서 기본이 아닌 저장소에 로그인할 토큰을 만들 때
generateCustomerTokenAsAdmin
돌연변이가 예상대로 작동합니다. GitHub-35084
- 이제 만료된 토큰이 사용될 때
createEmptyCart
돌연변이에 예상대로 예외가 발생합니다. GitHub-26112
- 장바구니 쿼리 오류 메시지를 보다 유용하게 만들었습니다. GitHub-34546
- 이제
products
쿼리의 응답에 있는 집계 데이터에 가격 유형 특성attribute_code
및label
에 대한 올바른 값이 포함됩니다. GitHub-28878
products
쿼리는 데이터베이스 접두사에 null이 아닌 값이 있는 경우 예상대로 범주 정보를 반환합니다. 이전에는Internal server error
을(를) 반환했습니다. GitHub-36117
getCustomerIsGuest
메서드에 대한 반환 형식을 수정했습니다. GitHub-29529
Magento\CatalogGraphQl\Plugin\DesignLoader
플러그 인이 리팩터링되었습니다.
- 이제 장바구니 다시 로드는 GraphQL 돌연변이에 의해 장바구니가 초기화될 때 예상대로 한 번만 트리거됩니다. 이전에는 장바구니 로드가 재고 목록에 대해 불필요한 장바구니 재검증을 트리거하여 장바구니가 로드될 때마다 상당한 리소스를 소비했습니다.
gift_message
형식을OrderItemInterface
에 추가했습니다. GitHub-29418
- 이제 GraphQL 응답에서 반환되는 제품 옵션에는 사용자가 속한 카탈로그 내에 있는 제품만 포함됩니다. 사용자가 공유 카탈로그에 속하는 경우 공유 카탈로그의 제품만 반환됩니다. 사용자가 게스트이거나 사용자 지정 공유 카탈로그의 일부가 아닌 경우 공개 카탈로그의 제품만 반환됩니다.
Google Recaptcha
- Google V3 reCAPTCHA 관리자 로그인에 대한
var/log/exception.log
파일의 reCAPTCHA 오류가 해결되었으며 오류 메시지가 기록되지 않습니다. 이전에는 관리자가 Configuration > Security > Google reCAPTCHA Admin Panel 설정을 구성할 때 몇 초마다 다음 오류가 발생했습니다.main.ERROR: Can not resolve reCAPTCHA parameter. {"exception":"[object] (Magento\Framework\Exception\InputException(code: 0): Can not resolve reCAPTCHA parameter. at /home/xxxxxxx/public_html/vendor/magento/module-re-captcha-ui/Model/CaptchaResponseResolver.php:25)"} []
. GitHub-34975
이미지
- PDF 송장 표에 대한 로고 크기의 권장 사항이 업데이트되었습니다.
가져오기/내보내기
- 기존 제품과 숫자 URL 키가 같지만 터미널 알파벳 문자가 없는 제품을 가져오면 관리자에서 Product URL Suffix 이(가) 비어 있도록 설정되어 있을 때 더 이상 유효성 검사 오류가 발생하지 않습니다.
bin/magento app:config:import
명령이 특정cron
식을 포함할 때config.php
파일의 내용을 성공적으로 가져옵니다. 이전에는 다음 오류가 발생하여 가져오지 못했습니다.Import failed: Notice: Trying to access array offset on value of type null in [..]/vendor/magento/module-config/Model/Config/Backend/Currency/Cron.php on line 66
. GitHub-31428
- 이제 AWS S3를 원격 스토리지로 사용하면 전체 내보내기가 제대로 작동합니다. 이전에는 업로드된 파일 크기로 인해 내보내기가 실패했습니다.
- 이제 CSV 파일의 인벤토리 데이터 열이 누락된 경우 제품 상태를 올바르게 가져옵니다. 이전에는 제품 가져오기 후 기본 소스가 제품에 자동으로 지정되고 수량이 0으로 설정되었으며 CSV 파일의 재고 데이터 열이 누락된 경우 해당 상태가 재고가 없는 것으로 나열되었습니다.
- 이제 사전 가격 값을 임포트하면 임포트에 100개 이상의 레코드가 포함된 경우 신규 및 갱신된 레코드에 대한 정확한 카운트가 제공됩니다. 이전에는 가져오기 성공 메시지가 잘못된 개수를 제공했습니다.
- 이제 내보낸 CSV 파일에는 여러 언어로 저장된 범주 이름에 대한 올바른 경로가 포함되어 있습니다. 범주 컬렉션에 대한 저장소 ID가 추가되었습니다. 이전에는 내보낸 파일에 기본 저장소 보기에서 파생된 범주 경로 대신 다른 언어를 사용하는 혼합 경로가 포함되었습니다.
- 가져오기를 통해 특정 스토어 보기에서 제품에 대한 사용자 지정 옵션 업데이트가 이제 성공적으로 완료됩니다. 이전에는 제품 관련 행이 여러 배치로 분할되면 내부 서버 오류가 발생했습니다.
- 이제
Fixer.io
가져오기 서비스가 예상대로 작동합니다. 이제 환율을 성공적으로 가져왔습니다. GitHub-36010
색인
catalogpermissions_category
인덱스의 인덱서batch_size
이(가) 예상대로env.php
파일에 제공된 값으로 변경되었습니다. 이전에는 인덱서batch_size
재정의에 대한 경로에 오타가 있으면 배치 크기가env.php
에 제공된 값으로 변경되지 않았습니다. GitHub-652
- 이제 카탈로그에 포함된 번들 제품이 웹 사이트에 할당되지 않은 경우 가격 재인덱싱이 정상적으로 실행됩니다. 이전에는 제품 가격 지수를 실행할 때 다음 오류가 발생했습니다.
Warning: Undefined array key <bundel product id > in vendor/magento/module-bundle/Model/ResourceModel/Indexer/Price/DisabledProductOptionPriceModifier.php on line 117
. GitHub-35796
인프라
- Adobe Commerce 지원을 위해 데이터베이스 덤프에
DATE
및DATETIME
값의 정리 기능이 추가되었습니다. 이전에는 데이터베이스 백업 테이블의 고객/견적/주문 테이블에 대해 날짜/시간 유형 필드가 정리되지 않았습니다.
- 이제
escaper.js
escapeHtml
함수가InnerHtml
규칙에 따라 앰퍼샌드(&) 특수 문자를"$amp;"
(으)로 변환합니다. 이 제네릭 솔루션은 제목 입력 상자의 특수 문자 및 문자 참조 변환 문제를 해결하고 정확한 값을 삽입한 대로 저장합니다. 이전에는 앰퍼샌드(&) 문자가 콘텐츠 계층 구조의 노드 이름에 잘못 인코딩되었습니다.
- 타사
colinmollenhour/php-redis-session-abstract
모듈 및 PHP 8.1 문제가 해결되었습니다. GitHub-35634
미디어 갤러리
- 이제 레거시 미디어 갤러리가 기본적으로 비활성화되어 있습니다. 이전에는 Enable old Media gallery 이(가) Yes(으)로 설정되었습니다.
- 새 미디어 갤러리는 범주 페이지의 디렉터리 트리 로드를 개선하도록 최적화되었습니다.
로깅
- 이제 0바이트의 로그 파일에 대한 시스템 보고서를 생성할 수 있습니다. 이전에는 Adobe Commerce에서 하나 이상의 파일이 비어 있는 경우 로그 파일 컬렉션에 대한 보고서를 생성할 때 오류가 발생했습니다.
주문
- 이제 관리 판매 주문 대변 메모 페이지에 스토어 대변 및 복수 송장으로 생성된 주문에 대한 정확한 총계가 표시됩니다. 이전에는 총계 계산이 잘못되어 사용자가 대변 메모를 생성할 수 없었습니다.
- 이제 설치 스크립트에서 전달되는 순서 접두사가 주문 ID에 올바르게 추가됩니다.
- 이제 주문에 긴 사용자 지정 텍스트 값이 있는 제품이 포함되어 있는 경우 주문 세부 사항 페이지가 성공적으로 로드됩니다. 이전에는 제품에 텍스트 사용자 지정 옵션에 대한 긴 값이 포함된 경우 주문 세부 사항 페이지가 로드되지 않고
sales_order_item.product_options
열의 값이 제대로 저장되지 않았습니다.
- 점포 주문 상태는 이제 부분 환불 주문에 대해 정확합니다. 기존에는 일부 환불을 신청해도 출하 후 주문이 처리 상태로 남아 있었다. GitHub-35528
- 이제 고객 그룹이 게스트 사용자가 만든 주문에 대해 로그인되지 않음(으)로 정확하게 표시됩니다. 이전에는 고객 그룹이 게스트 주문 요약에서 NULL이어서 확인 이메일과 주문 내보내기에 영향을 주었습니다. GitHub-35440
- 이제 신용 메모가 발행되고 고객이 환불된 후 예상대로 가상 주문에 Closed 상태가 할당되었습니다. 이전에는 가상 제품이 상태 드롭다운에 Complete(으)로 표시되었지만 관리자가 댓글을 추가할 때 주문 댓글의 바닥글에 Closed(으)로 표시되었습니다. GitHub-35283
- 이제 게스트는 수량이 1개 미만인 제품을 주문할 수 있으며 제품 수량은 이제
float
(으)로 엄격하게 입력되었습니다. 이전에는 제품 수량을int
(으)로 엄격하게 입력했기 때문에 1개 미만의 제품 수량에 대한 주문이 다음 메시지와 함께 실패했습니다.Some of the products are disabled
. GitHub-36060
- Apply discount on prices 구성 옵션이 including taxes(으)로 설정되어 있으면 배송 환급금이 올바르게 계산됩니다.
- 이제 주문이 보관된 후 송장, 선적 및 대변 메모 그리드가 비동기적으로 업데이트됩니다.
- 더 이상 동일한 동시 GraphQL 요청에서 중복 주문이 발생하지 않습니다. 이제 중복 주문 생성을 방지하기 위해 견적이 최대 10초 동안 잠겨 있으며 두 번째 요청이 실패하고 다음 오류가 발생합니다.
The cart isn't active
또는The order has already been placed and is currently processing
.Magento\Quote\Model\PlaceOrderMutex
클래스lockWaitTimeout
매개 변수에 대해 ID를 통해 이 잠금 값을 구성할 수 있습니다. GitHub-36274
- 보관된 주문에 주석을 추가해도 더 이상 보관된 상태가 유지된 상태로 보관되지 않은 주문 그리드로 반환되지 않습니다.
- 이제 회사 속성 값이 체크아웃 워크플로의 청구 및 배송 주소 섹션에 예상대로 표시됩니다. 이전에는 주문 생성 중에 저장소가 제대로 설정되지 않아 회사 속성이 주문 세부 사항 페이지에 제대로 표시되지 않았습니다. 다중 스토어 배포에서 기본 웹 사이트 에 대해 회사 표시 속성이 optional(으)로 설정된 경우에만 특성 값이 올바르게 저장되었습니다.
- My billing and shipping address are the same 확인란을 선택하면 이제
customer_address_id
값이 새 청구 주소에 대한 예상대로 설정됩니다. 배송 주소에 대한 고객 주소 ID를 설정하기 전에 청구 주소가 배송 주소와 동일한지 여부를 식별하는 추가 조건이 도입되었습니다.
- 주문 배치와 관련된 동시성 문제가 해결되었습니다. 이전에는 두 주문이 서로 다른 브라우저에서 동시에 또는 거의 동일한 시간에 이루어진 경우, 두 주문 모두에 동일한 주문 ID가 할당되었습니다. GitHub-35833
- 비동기 인덱싱이 활성화된 경우 무료 제품에 대해 자동 송장 발주가 예상대로 작동합니다. 이러한 주문에 대한
sales_order_grid or sales_invoice_grid
표에 추가된 항목이 없습니다. 이전에는 응용 프로그램에서cron
에 의존하는 대신 주문 배치 중에 그리드를 색인화하려고 시도했기 때문에 Adobe Commerce에서 예외가 발생했습니다. GitHub-36334
페이지 빌더
- 이제 페이지 빌더 드래그 앤 드롭 기능을 사용하여 이미지를 갤러리로 벌크로 가져올 수 있습니다.
- 페이지 빌더 슬라이더 CSS 규칙 문제가 해결되었습니다. GitHub-34527
- 이제
Dropdown
,Text area
및Text field
특성을 Page Builder 제품 특성 목록에서 사용할 수 있습니다. 이전에는Dropdown
및Text area
특성만 사용할 수 있었습니다.
결제
- 배송 및 청구 주소에 지정된 국가에 대해 COD가 면제되면 COD 결제 방법이 더 이상 상점 체크아웃 워크플로우에서 렌더링되지 않습니다. 이전에는 이 기능에 대한 관리자 구성 설정이 구현되지 않았습니다.
- 쇼핑객이 토큰을 저장하지 않은 경우 자격 증명 모음 결제 정보는 관리자 주문 생성 워크플로의 결제 섹션에 더 이상 표시되지 않습니다. GitHub-33954
- 장바구니 가격 규칙에 의해 할인이 적용된 후 사용자 지정 가격은 더 이상 두 배가 되지 않습니다. GitHub-35154
- 이제 소계 0 체크아웃 결제 방법을 사용하여 주문을 하면 새 주문 보류 상태가 예상대로 적용됩니다.
- 이제 GraphQL을 통해 PayPal Express를 사용하는 게스트 쇼핑객의 주문 생성 시 게스트 이메일 설정이 적용됩니다. 이전에는 이메일 주소 세트가 PayPal 계정에 설정된 이메일 주소로 재정의되었습니다.
Braintree
- 이제 주문 ID가 결제 트랜잭션에 대한 결제 요청에 추가됩니다.
- 판매자가 Reports > Braintree Settlement 을(를) 클릭할 때 Adobe Commerce에서 더 이상 다음 오류가 발생하지 않습니다.
Error: Undefined constant Braintree\PaymentInstrumentType::ANDROID_PAY_CARD in /var/www/html/vendor/paypal/module-braintree-core/Ui/Component/Report/Listing/Column/PaymentType.php:49
. GitHub-35434
- 관리자가 자격 증명 모음을 해제하면
customerPaymentTokens
쿼리가 더 이상 Braintree 토큰을 반환하지 않습니다.
- 이탈리아와 스페인에서 Pay Later 단추와 배너를 사용할 수 있습니다.
- 이제 관리자는 Braintree 결제 방법이 활성화된 경우 주문을 만들거나 순서를 재정렬할 수 있습니다. 이전에는 Adobe Commerce에서 다음 오류가 발생했습니다.
report.CRITICAL: Error: Call to a member function getMethodInstance() on null in /app/vendor/paypal/module-braintree-core/Block/Form.php:174
.
- 이제 Braintree PayPal을 사용하고 Enable Card Payments 을(를) 사용하지 않도록 설정한 경우 Braintree 결제 방법을 사용한 체크아웃이 성공적으로 완료됩니다. 이전에는 진행률 표시줄이 해결되지 않았으며 Adobe Commerce에 이 콘솔 오류가 표시되었습니다.
adapter.js:66 Uncaught TypeError: Cannot read properties of undefined (reading 'clientToken')at Object.getClientToken (adapter.js:66:66)
. GitHub-35961
- 사기 보호, ACH 결제, 로컬 결제 방식 웹훅 등이 구현되었다. 사기 방지 웹 후크는 Braintree 중에 위험 결정이 내려진 경우에만 트리거됩니다. ACH 결제가
settled
또는settlement decline
(으)로 업데이트된 후에만 ACH 웹 후크가 트리거됩니다.
- Tagline 및 Layout 구성 필드가 관리자 스타일 섹션의 모든 PayPal 단추에서 제거되었습니다.
- Braintree 자격 증명 모음 결제 방법 옵션은 구매자가 결제 주소를 업데이트할 때 체크아웃 워크플로우에서 선택된 상태로 유지됩니다. 이전에는 구매자가 My billing and shipping address are the same 단추를 선택 취소하면 결제 방법이 선택 해제되었습니다.
- 이제 Admin에서 Send Line Items 구성 설정을 사용하도록 설정하면 PayPal 트랜잭션에 대해 라인 항목이 전달됩니다.
- 이제 ACH 결제 방법 Account Number 필드의 유효성 검사 논리가 4~17자리 텍스트를 지원합니다.
- 관리자가 자격 증명 모음을 해제하면
customerPaymentTokens
쿼리가 더 이상 Braintree 토큰을 반환하지 않습니다.
- 이제 관리자 사용자는 Braintree 결제 방법이 활성화된 경우 고객에 대한 주문을 만들거나 순서를 재정렬할 수 있습니다. 이전에는 Adobe Commerce에서 다음 오류가 발생했습니다.
report.CRITICAL: Error: Call to a member function getMethodInstance() on null in /app/vendor/paypal/module-braintree-core/Block/Form.php:174
- 이제 구매자는 Enable Card Payments 이(가) 비활성화된 상점에서 Braintree 결제 방법을 사용할 수 있습니다. 이전에는 Adobe Commerce에서 이 JavaScript 오류를 발생시켰습니다.
_adapter.js:66 Uncaught TypeError: Cannot read properties of undefined (reading 'clientToken')at Object.getClientToken (adapter.js:66:66).
성능
- 이제 가격 인덱서가 큰 카탈로그의 부분 다시 인덱싱 중에 레코드를 교체한 후 오래된 데이터를 예상대로 삭제합니다. 이전에는 색인 재지정 프로세스에서 오래된 레코드를 교체하기 전에 제거했으며, 이로 인해 제품이 상점 앞에서 일시적으로 사라지는 경우가 있었습니다. GitHub-35616
bin/magento/setup:upgrade
명령의 성능이 향상되었습니다. 이전에는 이 명령이 데이터베이스 트리거를 다시 만들었고 이로 인해 명령 실행 중에 상당한 다운타임이 발생했습니다. 또한 인덱서가 예약된 모드로 되돌리지 않고 저장 모드로 유지되었습니다. GitHub-33386
- 이제 API별로 계층 가격을 업데이트하는 것이 더 빨라졌습니다. 이전에는 계층 가격을 업데이트하면 불필요한
SELECT
쿼리가 생성되었으며, 이로 인해 많은 고객 그룹이 제품에 할당되었을 때 실행이 지연되었습니다.
- 카탈로그 위젯 제품 목록을 포함하는 페이지 로드가 최적화되었습니다. 이전에는 비전역 속성이 데이터베이스에서 직접 로드되었습니다.
보고서
- 이제 범주 규칙이 업데이트되면 관리 로그 보고서에 정확한 Value before change 값이 표시됩니다.
- 이제 날짜 선택기에서 선택한 후 주문 총계 보고서 시작 및 종료 날짜가 제대로 표시됩니다.
Braintree/Ui/Component/Report/Listing/Column/PaymentType.php
의ANDROID_PAY_CARD
상수가GOOGLE_PAY_CARD
을(를) 대체했습니다. 이렇게 하면 Braintree 보고서와 관련된 문제가 해결됩니다.
반품 상품 승인(RMA)
- RMA 주석 필드(Orders > Return)에 더 이상 중복 공백이 없습니다. (이제
<textarea>
및<?php
태그가 한 줄에 있습니다.
- 이제 제품을 저장할 때 Enable RMA 필드의 Use Config Settings 확인란이 예상대로 값을 저장합니다.
리뷰
- 특정 범위에 대한 액세스 권한이 제한된 관리자는 이제 예상대로 제품 검토를 삭제할 수 있습니다.
역할
- Stores > Configuration > Services > OAuth 에 대해 누락된 ACL이 추가되었습니다. 이전에는 역할 권한을 설정할 때 이 OAuth 구성 설정에 대한 액세스 권한을 정의할 수 없었습니다.
검색 search-heading
- Minimum Terms to Match 구성 설정을 사용하면 따옴표 안의 문자열을 검색할 수 있습니다. 이전에는 Adobe Commerce에서 다음 오류가 발생했습니다.
{"error":{"root_cause":[{"type":"parsing_exception","reason":"[match_phrase] query does not support [minimum_should_match]' ...
.
- 판매 주문 고객 그리드의 고객 레코드에 대한 등록 지점 검색 필터가 이제 주문 생성 중에 예상대로 작동합니다.
- 여러 단어 쿼리에 대한 검색 제안 품질이 개선되었습니다.
- Display Out Of Stock Products 이(가) 활성화되면 검색 결과에 사용 가능한 모든 제품에 대한 품절 옵션 출력이 포함됩니다. GitHub-36055
배송
- 무료 배송 장바구니 규칙이 장바구니에 있는 항목의 하위 집합만 일치하도록 설정된 경우 FedEx, USPS 및 UPS의 배송료가 올바르게 계산됩니다.
- 주문 합계가 무료 배송에 적합한 지정된 최소 주문 금액보다 적은 경우 관리자 배송 페이지에 더 이상 무료 배송 옵션이 표시되지 않습니다. GitHub-33697
- 이제 Adobe Commerce은 배송 또는 고객 주소를 표시할 때 관리 고객 Show Company 구성 설정을 적용합니다. 이 설정을 사용하지 않으면 배송 회사는 더 이상 배송, 고객 주소 또는 데이터베이스 주문 레코드에 포함되지 않습니다. 이전에는 비활성화로 설정되었음에도 불구하고 정보가 표시되었습니다. GitHub-33729
- 배송을 예상할 때 견적에 대한 불필요한 저장 작업이 제거되었습니다.
- 이제
storeId
범위가$request->getStoreId()
에서 직접 적용되어 견적을 관리자 사용자가 만들 때 범위가 손실되지 않도록 합니다. 이전에는 서드파티 모듈을 사용하여 관리자로부터 견적을 작성할 때 배송 방법에 문제가 발생하는 경우가 있었습니다.
- 이제 스토어 보기 수준에서
url_key
설정이 재정의된 제품에 대해 SEO에 친숙한 URL이 생성됩니다. 이전에는 카테고리 제품 URL이 SEO에 친숙한 URL로 리디렉션되지 않았습니다.
- 배송비에 할인이 적용될 때 Adobe Commerce에서 더 이상 최소 주문 금액 오류가 발생하지 않습니다.
- 이제 배송에 할인이 적용된 후 세금이 적용되면 배송 환급금이 올바르게 계산됩니다.
- GraphQL
cart
쿼리를 통해 요청된 장바구니에 적용 가능한 모든 프로모션이 함께 반환됩니다. 프로모션에는 라인 항목 할인, 장바구니 규칙/할인, 쿠폰, 기프트 카드 및 스토어 크레딧이 포함됩니다. GitHub-35545
setShippingMethodsOnCart
돌연변이의 출력에price_excl_tax
및price_excl_tax
형식을 추가했습니다. GitHub-31206
- 이제 고유한 배송 ID가 예상대로 GraphQL 응답에 전달됩니다. GraphQL 쿼리의 여러 주소로 배송되는 주문에 대한 배송 세부 정보가 포함되어 있습니다.
스테이징
- 스테이징 업데이트 종료 날짜의 일정을 조정해도 업데이트가 완료된 후 더 이상 오류가 발생하지 않습니다. 이전에는 관리자가 제품 페이지와 제품 그리드를 열 수 없었고 Adobe Commerce에서 이 오류가 발생했습니다.
report.CRITICAL: Exception: Item (Magento\Catalog\Model\Product\Interceptor) with the same ID "1" already exists
.
- 이제 스테이징 대시보드에 올바른 총 레코드 수가 표시되며, 대시보드 페이지 매김이 예상대로 작동합니다. 이전. 대시보드에는 최대 20개의 레코드가 표시되었습니다.
- 이제 많은 스토어가 있는 배포에서 컨텐츠 스테이징 미리 보기를 더 빠르게 로드할 수 있습니다. 이제 색인 재지정 미리 보기가 선택한 스토어만 다시 색인화합니다.
- 이제 예약 미리 보기 모드에서 제품을 장바구니에 추가할 수 있습니다. 이 매개 변수를 사용하여 미리 보기 모드를 예약하는 탐색 표시 링크를 업데이트하면
version
,timestamp
및signature
문제가 해결되었습니다.
세금
- 이제 여러 배송 방법을 제공하는 배포의 주문에 대해 예상대로 Display Zero Tax Subtotal 구성 설정이 적용됩니다. 이전에는 이 설정을 사용하지 않는 경우에도 배송 방법을 선택하기 전에 체크아웃하는 동안 장바구니에 0 세금 필드가 표시되었습니다. GitHub-35561
- 이제 Adobe Commerce은 PHP 8.1을 실행하는 배포의 상점 카테고리 페이지에 세금이 포함된 그룹화된 제품을 표시할 수 있습니다. 이전에는 Adobe Commerce에서 제품 목록을 표시하지 않고
main.CRITICAL: Exception: Deprecated Functionality: ucfirst(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/m24/vendor/magento/module-tax/Pricing/Render/Adjustment.php on line 188 in /var/www/m24/vendor/magento/framework/App/ErrorHandler.php:61
예외를 throw했습니다. GitHub-35500
- 판매자는 더 이상 예약된 업데이트를 동일한 규칙 ID가 포함된 다른 업데이트로 이동할 수 없습니다. 이전에는 장바구니 가격 규칙에 대한 일정 업데이트로 인해 업데이트가 동일한 규칙 ID가 포함된 다른 업데이트로 이동될 때 중복 일정이 생성되었습니다.
- 이제 자동 고객 그룹 할당은 고객 주소와 연결된 VAT ID가 없을 때 작동합니다. 주소에 VAT ID가 포함되어 있지 않으면 VAT 미등록 등록 고객에 속한 것으로 처리되며 Adobe Commerce은 고객 그룹을 VAT 미등록 그룹으로 변경합니다. 이전에는 Enable Automatic Assignment to Customer Group 을(를) 사용하도록 설정한 경우 고객 계정에서 VAT ID를 삭제할 때 고객 계정이
customerGroup
에 자동으로 할당되지 않았습니다.
- 이제 스테이징 미리 보기 모드에서 스테이징된 카탈로그 규칙에 대한 올바른 동적 블록이 표시됩니다. 이전에는 관련되지 않은 동적 블록이 표시되었습니다.
- 체크아웃 중에 다중 배송이 적용되면 이제 송장 및 대변 메모의 세금 요약 섹션에 여러 세금이 올바르게 렌더링됩니다.
- 고정 제품 세액과 함께 세금을 포함한 주문 소계가 장바구니 페이지의 장바구니 규칙 조건을 초과할 경우 할인이 더 이상 적용되지 않습니다. 기존에는 총계가 장바구니 규칙 조건을 초과하는 경우에도 할인이 적용됐다.
- 이제 GraphQL을 사용하여 고객 쇼핑객 주소를 추가하거나 업데이트할 때
vat_id
을(를) 지정할 수 있습니다.
테스트
- 다른 버전의
ICU
및libxml
라이브러리에 대한 단위 테스트 오류를 수정했습니다.
- 이제 개발자는 특정 스토어 보기에서 데이터 고정장치를 실행하도록 시스템에 지시할 수 있습니다. 새로운 선택적 매개 변수
scope
은(는) 저장소 고정장치 별칭에 해당하는string
을(를) 허용합니다.
- 선택적
count
매개 변수를 사용하여 데이터 고정의 여러 인스턴스를 생성하는 기능이 추가되었습니다.
- MFTF 프레임워크의 개발 종속성에서 네이티브
array_first
함수가 아닌 함수가 제거되었습니다.
번역 및 로케일
- 이제 인라인 번역이 SCRIPT 태그에 있는 구문의 확장 유니코드 문자를 포함한 특수 문자에 올바르게 작동합니다. 이전에는 인라인 번역을 사용할 때 편집된 스크립트에서 일본어 문자가 잘못 렌더링되었습니다.
- 이제 URL 키를 생성하는 동안 제품 이름의
ñ
문자가n
(으)로 변환됩니다.
- 이제 실행 중인
bin/magento i18n:collect-phrases
의 출력에 예상대로depend
구문에서 메일 템플릿 변환이 포함됩니다. GitHub-35449
- 이제 일본어 문자를 제품 페이지 속성 세트(콤보 상자)에 직접 입력할 수 있습니다. 이전에는 MacOS에서 Firefox 브라우저를 실행할 때 이 콤보 상자에 일본어 문자를 직접 입력하면 문자가 변경되거나 삭제되었습니다. 모든 브라우저에서 일본어 문자 변환을 더 잘 처리할 수 있는
textInput
HTML 특성이Value
및valueUpdate
특성을 대체했습니다.
getOptions
메서드가 이제 저장소 보기에 따라price
특성 레이블 값을 올바르게 가져옵니다. 이전에는price
특성이 잘못된 저장소 보기에 대한 GraphQL 작업 중에 번역되었습니다.
UI
- 이제 웹 사이트별 통화가 관리자 제품 그리드의 특별 가격, 비용 및 MSRP 열에 예상대로 사용됩니다. 이전에는 특별한 가격에 대해 스토어 보기로 필터링할 때 올바른 통화 기호가 관리 카탈로그 제품 그리드에 표시되지 않았습니다.
- 이제 제품 사용자 지정 옵션의 끌어서 놓기 기능이 예상대로 작동합니다. 이제 사용자 지정 가능한 옵션 그리드에 사용 가능한 페이지가 여러 개 있는 경우 사용자 지정 가능한 옵션을 한 페이지에서 다른 페이지로 이동할 수 있습니다.
- 이제 관리 대시보드 차트에 현재 달력 연도의 시작부터 현재 날짜까지의 연간 시간 간격이 예상대로 표시됩니다. 이전에는 날짜 범위가 12개월 이상 포함되었습니다.
- 상점 첫 화면 홈 페이지에 누락된 기본 favicon이 추가되었습니다. GitHub-35493
- 이제 관리자가 각 관리자의 최신 로그인 날짜를 표시했습니다. 이전에는 관리자 사용자가 관리자에 처음으로 로그인하면 관리자 사용자 그리드에 빈 로그인 날짜 값이 표시되었습니다.
- 이제 미리 보기 전자 메일 템플릿 기능(Marketing > Communications > Email Templates)에 템플릿이 올바르게 표시됩니다. 이전에는 미리보기 이미지가 잘렸습니다. GitHub-35697
- 새 배송 주소 모달의 스타일을 지원하기 위해
new-shipping-address-modal
클래스를 추가했습니다.
- Stores 관리자의
Search Weight
특성Storefront Properties
입력 필드 아래에 정보 텍스트가 추가되었습니다. > Attributes > Product.
- 이제 이메일 미리 보기가 팝업 창 대신 별도의 탭으로 열려 이메일 콘텐츠를 더 넓게 볼 수 있습니다. 이전에는 이메일 콘텐츠가 잘렸습니다.
- 사용자 역할 표(관리자 System > Permissions > User roles > Administrators)에 대한 필터 기능이 이제 예상대로 작동합니다. 이제 배열 값이 별도로 처리됩니다. 이전에는 이 그리드에 쿼리를 입력하려고 할 때 Adobe Commerce에서 이 콘솔 오류를 발생시켰고 페이지가 로드되지 않았습니다.
Uncaught TypeError: Cannot read properties of null
. GitHub-35993
- REST API를 통해 고객을 만들 때 속성 값에 대한 유효성 검사가 추가되었습니다. 잘못된 속성 값이 제공되면 작성 프로세스가 실패합니다. 기존에는 필수 필드가 아닌 성별에 대한 검증이 없었다. 고객을 만드는 동안 성에 대해 전달된 값이
customer_entity
표에 저장되었습니다.
- 체크아웃 중에 추가된 주소는 이제 예상 형식을 유지합니다. 이전에는 빈 줄이 무시되었습니다.
- 제품 그리드의 열 그리드 보기를 변경하고 사용자 정의 보기에 대해 새 열을 선택하면 더 이상 모든 그리드 열 선택 작업이 트리거되지 않습니다. 이전에는 열 상자가 사라지고 그리드의 제품이 선택 또는 선택 해제되었습니다. GitHub-36302
- 이제 관리자 사용자는 관리자가 완료한 작업 로그를 지울 수 있습니다. 이전에는 관리자가 다음 오류를 표시했습니다.
Something went wrong
. GitHub-36255
- 테마 헤더 설정
Welcome Text
에 작은 따옴표 문자가 포함될 수 있습니다. 이전에는 Adobe Commerce에서 이 JavaScript 오류를 발생시켰습니다.Uncaught SyntaxError: Unable to process binding "ifnot: function(){return customer().fullname }"
.
URL 재작성
- 이제 전역 모든 스토어 보기 범위에서 제품 가시성을 Not Visible Individually(으)로 변경하면 가시성 특성을 재정의하지 않은 스토어 보기에 대한 URL 재작성만 제거됩니다. 이러한 방식으로 제품 가시성을 변경하면 URL 키 속성을 재정의한(하지만 가시성 설정은 아님) 스토어를 포함한 모든 스토어 보기에 대한 URL 재작성도 생성됩니다. 이전에는 가시성 설정이 변경될 때 URL-재작성 규칙이 적용되지 않았습니다.
Visual Merchandiser
- 제품이 규칙에 의해 일치할 때 Visual Merchandiser 범주 목록에서 더 이상 제품 위치를 수동으로 변경할 수 없습니다.
- 하나의 저장소에만 제한된 액세스 권한을 가진 관리자는 더 이상 Visual Merchandiser의 범주 내에서 제품을 끌어서 놓을 수 없습니다. 대신 이제 Position 열을 사용하여 제품 위치를 다시 정렬할 수 있습니다. 이전에는 이러한 사용자가 드래그하여 놓기만 하면 범주 내에서 제품 위치를 변경할 수 있었습니다.
- 이제 범주 편집 페이지의 범주 내 제품 섹션에 구성 가능한 제품의 올바른 수량이 표시됩니다. 이제 구성 가능한 제품 수량을 검색하는 데 올바른 테이블 열이 사용됩니다.
웹 API 프레임워크
- 이제 REST API
DELETE /rest/V1/products/:sku/media/:entryId
은(는) 다른 스토어 보기의 역할에 할당되어 있기 때문에 이미지가 제품에서 제거되지 않으면 오류 메시지를 반환합니다. 이전에는 이미지가 성공적으로 제거되지 않았더라도 API에서 성공적인 응답을 반환했습니다.
- 이제 판매자는 REST API를 사용하여 총계가 0인 주문에 대한 대변 메모를 생성할 수 있습니다. 이전에는 Adobe Commerce에 다음 오류가 표시되었습니다.
The order does not allow a credit memo to be created. The credit memo's total must be positive. We can't create a credit memo for the invoice/order
.
- 이제 관리 제품 편집 페이지는 REST API를 사용하여 제품의 웹 사이트 할당이 변경된 후 제품의 할당을 정확하게 반영합니다. GitHub-36281
- 제품을 업데이트하기 위해 대량 REST API 요청 중에 다중 선택 속성에 대해 중복 옵션 ID를 더 이상 포함할 수 없습니다. 이전에는 제품을 업데이트하기 위해 벌크 API 요청을 보낼 때 다중 선택 속성에 대해 중복 옵션 ID를 설정할 수 있었습니다. 다중 선택 속성이 계층화된 탐색에 포함되도록 구성된 경우
Duplicate entry
오류가 발생하여 EAV 인덱싱이 실패했습니다.
- 이제 장바구니의 제품 이름은 지정된 스토어 보기의 값을 예상대로 사용합니다. 이전에는 장바구니의 제품 이름이 항상 REST API 장바구니 응답에 있는 기본 스토어 보기 값을 반환했습니다.
- 이제 장바구니 항목 사용자 지정 옵션 값을 REST API를 사용하여 업데이트할 수 있습니다. GitHub-35768
- 인벤토리가 활성화된 배포에서 이제 20개 이상의
sourceItems
에 대한 대량 API 요청이 성공적으로 완료되었습니다.
- 이제 Fixer 통화 서비스가 ApiLayer를 통해 생성된 키를 사용하여 예상대로 작동하며 통화 요금을 올바르게 내보냅니다. 이전에는 판매자가 관리자를 통해 통화 환율을 가져오려고 할 때 Adobe Commerce에서 오류가 발생했습니다.
- 이제 REST API
/rest/V1/bulk?searchCriteria[filter_groups]
요청을 사용하여 검색 조건별로 대량 작업을 쿼리할 수 있습니다. 이전에는 다음 오류가 반환되었습니다.report.CRITICAL: Report ID: webapi-624bbb1db96c4; Message: Item (Magento\AsynchronousOperations\Model\Operation) with the same ID "0" already exists.
- 이제 기본 가격 관리 API를 사용하여 관리 및 상점 카탈로그 검색 페이지에서 제품 가격이 올바르게 업데이트됩니다. GitHub-33767
위시리스트
- 이제 구매자는 로그인 후 위시리스트에 제품을 추가할 수 있습니다. 이전에는 로그인 후 양식 키 유효성 검사 문제로 인해 위시리스트 추가 요청과 함께 제출된 양식 키가 무효화되었습니다.
- 이제 게스트 고객이 확인 이메일에서 계정을 확인한 후, 제품 목록 및 보기 페이지의 위시리스트에 제품이 예상대로 추가됩니다. 기존에는 계정 확인 후 위시리스트에 상품이 추가되지 않았다.
- 이제 구매자가 제품
select
사용자 지정 옵션에 대해 잘못된 값이 있는 항목을 위시리스트에 추가하려고 할 때addProductsToWishlist
쿼리가 정보 오류 메시지를 반환합니다. 이전에는 드롭다운 사용자 지정 옵션 값에 대한 서버 유효성 검사가 누락되어 데이터베이스에 잘못된 값이 표시되었습니다. 따라서 끝점이 이 내부 서버 오류를 반환했습니다.GraphQL endpoint returns Internal server error with "Call
.
알려진 문제
문제: 2.4.5 이전 제품 버전에서 Adobe Commerce 2.4.6 이상으로 업그레이드한 후 스테이징된 판매 규칙 레이블이 일치하지 않을 수 있습니다. 해결 방법: 메타데이터 업데이트 단계 전에 업그레이드 중에 ACSD-50625_2.4.5-P1.patch를 적용합니다. 버전 < 2.4.5🔗 기술 자료 문서에서 업그레이드할 때 salesRules 레이블 문제 를 참조하십시오.
이 문제를 해결하기 위한 일반 단계:
- 필요한 패치를 다운로드합니다. 버전 < 2.4.5🔗 기술 자료 문서에서 업그레이드 시 salesRules 레이블 문제 를 참조하십시오.
- 업그레이드 프로세스 업그레이드 수행의 패키지 관리 단계에 설명된 업그레이드 단계를 따릅니다.
- 업그레이드 중에 패키지 관리 단계 후 메타데이터 업데이트 단계 전에 이 패치를 적용하십시오. Adobe이 제공하는 작성기 패치를 적용하는 방법 을 참조하십시오.
- 업그레이드 프로세스를 완료합니다.
문제: 무료 배송이 활성화되어 있고(Stores > Configuration > Sales > Delivery Methods) 표시된 배송비에 세금이 포함되어 있는 경우 대변 메모를 만들 수 없습니다. 신용 메모를 만들려고 할 때 Adobe Commerce에서 이 예외를 throw합니다. "Division by zero".vendor/magento/module-sales/Model/Order/Creditmemo/Total/Tax.phpLine 139
. GitHub-36800
해결 방법: 이제 이 문제에 대한 핫픽스를 사용할 수 있습니다. 품질 패치 도구: 패치 검색 및 패치 ACSD-50814을 검색하십시오.
파트너 기여
다음 표에는 파트너가 수행한 기여가 요약되어 있습니다. 이 표에는 끌어오기 요청에 기여한 파트너, 외부 끌어오기 요청 번호 및 이와 연결된 GitHub 문제 번호(사용 가능한 경우)가 나열됩니다.
개인 기여자 기여
다음 표는 커뮤니티 구성원의 기여를 식별합니다. 이 표에는 끌어오기 요청에 기여한 커뮤니티 구성원, 외부 끌어오기 요청 번호 및 이와 연결된 GitHub 문제 번호(사용 가능한 경우)가 나열됩니다.
시스템 요구 사항
우리의 기술 스택은 PHP와 MySQL을 기반으로 구축됩니다. 자세한 내용은 시스템 요구 사항을 참조하십시오.
설치 및 업그레이드 지침
작성기를 사용하여 Adobe Commerce 2.4.6을 설치할 수 있습니다.