추가적인 보안 개선 사항
이 릴리스의 보안 개선 사항은 다음을 포함하여 최신 보안 모범 사례를 준수하도록 개선합니다.
-
관리자 작업 로그의 간격은 그리드 보기, 대량 작업 및 내보내기 내의 작업을 보다 구체적으로 감사하여 해결되었습니다.
-
결제 처리 중 예기치 않은 오류가 발생할 때 체크아웃 중에 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 Events
Adobe I/O Events for Adobe Commerce은 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 필터가 이제 예상대로 작동합니다. 이전에는 필터 결과에 다른 관리자의 견적이 포함되어 있었습니다.