추가적인 보안 개선 사항
이 릴리스의 보안 개선 사항은 다음을 포함하여 최신 보안 모범 사례를 준수하도록 개선합니다.
-
reCAPTCHA 지원이 위시리스트 공유, 새 고객 계정 만들기 및 기프트 카드 양식에 추가되었습니다.
-
ACL 리소스가 인벤토리에 추가되었습니다.
-
인벤토리 템플릿 보안이 향상되었습니다.
-
MaliciousCode
필터가HtmlPurifier
라이브러리를 사용하도록 업그레이드되었습니다.
플랫폼 개선 사항
-
Adobe Commerce 온-프레미스 배포: Adobe Commerce 2.4.5가 테스트되었으며 Elasticsearch 7.17과 호환되는지 확인했습니다(제한 사항 있음~7.17.0). Adobe Commerce 온-프레미스를 호스팅하는 가맹점은 Elasticsearch 또는 OpenSearch 1.2를 사용할 수 있습니다.
-
Adobe Commerce 클라우드 호스팅 배포: Elasticsearch 7.11 이상은 Adobe Commerce 2.4.5 클라우드 호스팅 배포에서 지원되지 않습니다. OpenSearch는 Adobe Commerce 2.4.5 클라우드 배포에 대한 기본 검색 엔진입니다.
Adobe Commerce 2.4.5는 이제 다음을 지원합니다.
-
작성기 2.2
-
TinyMCE(5.10.2) 이전 버전의 TinyMCE(v5.9.2 또는 이전 버전)에서는 특별히 제작된 URL이나 특별히 제작된 URL이 있는 이미지가 업데이트될 때 임의의 JavaScript 실행이 허용되었습니다.
-
jQueryUI(1.13.1)
-
PHPStan
(^1.5.7(제한 있음) GitHub-35315
DHL 통합 스키마가 v6.0에서 v6.2로 업데이트되었습니다. 이 업그레이드로 인해 제품 동작이 변경되지 않습니다.
오래된 JavaScript 라이브러리가 최신 버전으로 업데이트되고 오래된 종속성이 제거되었습니다. 이러한 변경 사항은 이전 버전과 호환됩니다.
작성기 종속성 업데이트
다음 작성기 종속성이 제한 사항이 있는 최신 버전으로 업데이트되었습니다.
colinmollenhour/credis
(1.13.0)guzzlehttp/guzzle
(^7.4.2)laminas/laminas-captcha
(제한 ^2.12을(를) 사용하여 업데이트됨)laminas/laminas-db
(^2.15.0)laminas/laminas-di
(^3.7.0)laminas/laminas-escaper
(~2.10.0)laminas/laminas-eventmanager
(^3.5.0)laminas/laminas-feed
(^2.17.0)laminas/laminas-mail
(^2.16.0)laminas/laminas-mvc
(^3.3.3)laminas/laminas-server
(^2.11.1)laminas/laminas-servicemanager
(^3.11.0)laminas/laminas-validator
(^2.17.0)league/fly
(2.4.3)monolog/monolog
(^2.5)phpmd/phpmd
(^2.12.0)phpstan/phpstan
(^1.5.7)phpunit/phpunit
(~9.5.20)php-cs-fixer
(^3.4.0)webonyx/graphql-php
(14.11.6)
laminas/laminas-session
, laminas/laminas-text
및 laminas/laminas-view
종속성이 제거되었습니다.
기타 업그레이드 및 교체
-
DHL 통합 스키마가 v6.0에서 v6.2로 업데이트되었습니다.
-
USPS 배송에 대한 기본 게이트웨이 URL이
http
대신https
을(를) 사용하도록 업데이트되었습니다. -
Froogaloop
라이브러리가 VimeoPlayer.js
라이브러리(2.16.4)로 대체되었습니다. -
grunt-eslint
(NPM) 라이브러리가 최신 버전으로 업그레이드되었습니다. -
jQuery Storage
라이브러리가julien-maurel/js-storage
(으)로 대체되었습니다. -
php-cs-fixer
및phpcs
정적 코드 분석 도구가 이제 PHP 8.x와 호환됩니다. -
glob.js
종속성(제약 조건을 사용하여 ~7.2.0으로 업그레이드됨) -
serve-static.js
종속성(제한 ~1.14.2로 업그레이드됨) -
underscore.js
종속성(NPM)(1.14.2) -
moment-timezone-with-data.js
(0.5.34) -
jquery/jquery-cookie
라이브러리가js-cookie/js-cookie
(으)로 대체되었습니다. -
jarallax.js
및jaralax-video.js
라이브러리가 최신 버전의 Vimeo REST API를 사용하도록 업데이트되었습니다.
향상된 성능 및 확장성
가격 인덱서 최적화
catalog_product_index_price_tmp
테이블에 대한 기본 인덱스 수를 3에서 1로 줄여 기본 인덱스 성능이 향상되었습니다. 이 향상된 기능은 공유 카탈로그에서 생성된 eSKU 곱셈을 줄여 가격 색인에 생성된 레코드 수를 줄였습니다. 인덱싱 시간이 크게 단축되었습니다.
접근성 업데이트
이 릴리스의 초점은 보다 인지 가능하고, 작동 가능하며, 이해 가능하고 강력한 Venia(PWA)의 상점 경험을 만드는 데 있었습니다. 이러한 개선 사항은 다음과 같습니다.
- 이제 검색 결과 요약 정보가 화면 판독기 사용자에게 표시됩니다
- 이제 새 페이지 보기가 로드될 때 화면 판독기에 알림이 표시됩니다
- 대비 및 키보드 접근성이 개선되었습니다
Adobe Sign
이제 상인은 Adobe Commerce 체크아웃 중에 고객이 보증 문서, 구매 계약 및 약관과 같은 사용자 정의 계약에 전자 방식으로 서명할 수 있도록 허용할 수 있습니다.
Adobe IMS와 Adobe Commerce 통합
Adobe ID을 보유하고 있으며 Adobe Commerce 및 Adobe 비즈니스 제품에 간소화된 로그인을 원하는 Adobe Commerce 판매자는 Commerce 인증을 Adobe IMS 인증 워크플로와 통합할 수 있습니다. Commerce 스토어에 대해 이 통합이 활성화되면 각 관리자는 Commerce 자격 증명이 아닌 Adobe 자격 증명을 사용하여 로그인해야 합니다. Adobe IMS(Identity Management 서비스) 통합 개요를 참조하세요.
브랜딩 및 스타일 변경
Adobe의 브랜드 전략에 맞게 관리자가 업데이트되었습니다. 변경 사항은 머리글, 바닥글, 데이터 그리드 색상 업데이트 및 탐색 요소에 영향을 줍니다.
B2B
공유 카탈로그 기능을 구현하는 데 필요한 정규화된 데이터베이스 데이터를 최적화했습니다. eSKU 곱의 이러한 감소는 더 적은 데이터베이스 행이 저장되어야 하므로 성능을 향상시킵니다. 이전에는 Adobe Commerce이 각 공유 카탈로그에 대한 카탈로그의 모든 SKU를 복제했습니다. 이제 Adobe Commerce은 공유 카탈로그에 직접 할당된 사용자에 대해 고유한 eSKU를 만듭니다.
새 활성화된 공유 카탈로그 직접 제품 가격 할당 구성 옵션을 활성화하면 제품 가격 인덱서 성능도 향상됩니다.
이 릴리스에는 여러 버그 수정이 포함됩니다. B2B 릴리스 정보를 참조하세요.
Google Analytics
Google은 GTag와의 통합을 통해 웹 애플리케이션에서 AdWords 및 Analytics의 추적 및 통합 메커니즘을 업데이트했습니다. 웹 사이트 페이지에 Google 기능을 통합하면 Google Services를 통해 컨텐츠를 추적하고 관리할 수 있는 기회가 확장됩니다. Adobe Commerce에는 Google 서비스와의 통합을 위해 이전 API를 활용하는 Google AdWords, Analytics, Optimizer 및 TagManager 등의 내장된 모듈 세트가 있습니다. 이 릴리스에서는 GTag 접근 방식을 사용하여 이 통합을 다시 구현했습니다. analytics.js에서 gtag.js(Universal Analytics)로 마이그레이션을 참조하십시오.
GraphQL
GraphQL 성능 개선 사항은 다음과 같습니다.
-
개발자와 관리자는 배포 시 또는 프로덕션에서 속성을 변경할 때 통합 상점 GraphQL 스키마를 더 빠르게 다시 빌드할 수 있습니다. 또한 어떤 이유로든 GraphQL 스키마를 다시 빌드해야 하는 경우 쇼핑객은 페이지 로드 속도가 상당히 빨라집니다.
-
GraphQL API에서 JSON 웹 토큰(JWT)을 사용하여 인증 토큰의 만료 날짜/시간을 소비하는 기능이 추가되었습니다.
-
bin/magento config:set graphql/session/disable 1
명령을 사용하면 판매자가 모든 GraphQL 작업에 대한 세션 쿠키 만들기를 완전히 비활성화할 수 있습니다. 기본적으로 Adobe Commerce은 이러한 쿠키를 만들고 성능에 영향을 주는 인증에 사용합니다. 앞으로는 토큰을 GraphQL 요청에 대한 유일한 인증 양식으로 사용하는 것이 좋습니다. 세션 쿠키만 사용하거나 인증 토큰과 함께 사용하지 않는 것이 좋습니다. GraphQL 인증을 참조하십시오. -
세션 쿠키는 이제 필요한 경우에만 클래스 프록시를 사용하여 GraphQL 작업에서 실행됩니다.
-
스토어, 고객 또는 통화와 같은 GraphQL의
http
헤더 프로세서에서 세션 사용이 제거되었습니다.
이러한 개선 사항에 대한 자세한 내용은 GraphQL 개발자 안내서를 참조하십시오.
인벤토리
인벤토리 템플릿 보안이 향상되었습니다.
라이브 검색
이 릴리스에서는 B2B 고객 그룹 및 사용자 지정 가격 지원에 대해 소개합니다. 이제 Live Search는 고객 그룹에 대한 제품 할당과 특정 고객 그룹/공유 카탈로그에 대해 설정된 가격을 따릅니다.
페이지 빌더
페이지 빌더 v.1.7.2는 Adobe Commerce 2.4.5와 호환됩니다.
Page Builder 열 레이아웃에는 다음과 같은 개선 사항이 포함되어 있습니다.
-
이제 열이 노출되므로 사용자가 상점 전면에서 열 설정을 제어할 수 있습니다.
-
이제 열 크기 조정이 사용자 작업에 의해 트리거된 래핑을 지원합니다.
결제
이제 Apple Pay를 결제 서비스가 활성화된 상태에서 배포를 실행하는 모든 가맹점에서 사용할 수 있습니다. 이 결제 방법에서는 쇼핑객이 신용 또는 직불 카드 세부 사항을 입력할 필요가 없습니다. Apple Pay는 제품 세부 사항 페이지, 미니 장바구니, 장바구니 및 체크아웃 워크플로우에서 사용할 수 있습니다. 판매자는 이 기능을 전환할 수 있습니다.
PayPal
-
스페인과 이탈리아의 상인들은 이제 쇼핑객들에게 나중에 페이팔 페이를 제공할 수 있습니다.
-
이제 PayPal, Credit 및 Pay Later 버튼의 미리 보기는 체크아웃, 미니 장바구니, 장바구니 및 제품 페이지에 대해 관리자에서 사용할 수 있습니다. 미리보기에서는 이러한 버튼이 상점 앞에서 활성화되어 렌더링될 때 표시되는 방식을 보여 줍니다.
Braintree
-
Braintree은 COUNT 사기 보호 통합을 중단했습니다. Adobe Commerce 코드베이스에서 제거되었습니다.
-
항상 3DS 요청 옵션이 관리자에 추가되었습니다.
PWA Studio
PWA Studio v.12.5.x는 Adobe Commerce 2.4.5와 호환됩니다.
이 릴리스의 새로운 기능은 다음과 같습니다.
-
쇼핑객 행동 데이터는 웹 분석 서비스를 위한 PWA Studio 상점 첫 화면에서 수집됩니다. 가맹점은 이제 필요에 따라 이러한 이벤트를 구독하고 연장할 수 있다.
-
이제 판매자는 관리자(Google 태그 관리자)에서 배포할 서비스를 선택할 수 있습니다.
개선 사항 및 버그 수정에 대한 자세한 내용은 PWA Studio 릴리스를 참조하십시오. PWA Studio 버전 및 호환 가능한 Adobe Commerce 핵심 버전 목록은 버전 호환성을 참조하십시오.
업그레이드 호환성 도구
향상된 기능은 다음과 같습니다.
-
이제 메서드 서명 유효성 검사가 메서드 또는 생성자 서명 내에서 호환되지 않는 변경 내용을 식별합니다.
-
이제 데이터베이스 스키마 유효성 검사가 스키마 변경 사항 및 비호환성을 식별합니다.
-
DI 구성 유효성 검사는 이제
di.xml
에서 제거되었거나 더 이상 사용되지 않는 비 API 코어 클래스에 대한 참조 및 코어 클래스 및 인터페이스에 대한 환경 설정을 확인합니다. -
이제 UCT는 코드 사용 중단을 식별하고 각 문제 해결을 위한 특정 권장 사항을 제공합니다.
해결된 문제
Adobe Commerce 2.4.5 코어 코드에서 수백 개의 문제를 해결했습니다.
설치, 업그레이드, 배포
- 이제 데이터 패치의 이름을 바꾸고 이전 클래스 이름을
patch_list
데이터베이스 테이블에 별칭으로 추가할 수 있습니다. 이제 Adobe Commerce은 패치를 적용하기 전에 데이터 패치 별칭이 데이터베이스에 이미 있는지 확인합니다. 이전에는 이러한 조건에서 Adobe Commerce에서 오류가 발생했습니다.
- Adobe Commerce은 관리자의 관리자 URL을 사용자 지정 URL로 변경하려고 할 때 더 이상 예외를 throw하지 않습니다. 이전에는 관리자 URL을 변경한 후 로그인할 수 없었습니다. GitHub-35416
- 판매자는 이제 Klarna를 사용하여 Adobe Commerce 2.4.2 배포에서 Adobe Commerce 2.4.3으로 성공적으로 업그레이드할 수 있습니다. GitHub-33760
- Adobe Commerce Analytics에 대한 경로가 더 이상 하드코딩되지 않습니다. 이전에는 이 하드코딩된 경로로 인해 여러 Adobe Commerce 인스턴스가 하나의 서버에 설치되었을 때 충돌이 발생했습니다. GitHub-29373
접근성
- 쇼핑백 단추는 이제 프로그램 또는 텍스트 상태의 표시를 제공합니다. 화면 판독기 사용자는 이 단추를 클릭하면 다른 콘텐츠가 확장되거나 연결된 콘텐츠가 확장되거나 축소된다는 알림을 받습니다. 이전에는 이 단추가 그 상태를 프로그래밍 방식으로 또는 텍스트로 나타내지 않았습니다.
- 결제 정보 신용카드 옵션 텍스트 요소 또는 텍스트 이미지는 이제 표준 텍스트인 18pt(24px) 또는 14pt(19px)의 경우 WCAG 2.0의 필수 최소 색상 대비 비율(4.5:1)을 충족합니다. 이전에는 예상 명암비를 충족하지 못했습니다.
- 주소록 > 통신 > 계정 정보 사용자 지정 포커스 표시기는 이제 배경색에 대해 최소 3:1의 명암비를 제공합니다.
- 이제 필터링 및 정렬 버튼 텍스트는 굵게 표시된 경우 18pt(24px) 또는 14pt(19px)의 표준 텍스트에 대해 WCAG 2.0에서 요구하는 최소 색상 대비 비율 4.5:1을 충족합니다. 이전에는 회전판의 탐색 버튼이 이러한 최소 대비 요구 사항을 충족하지 않았습니다.
- 스크린 리더는 Venia 머리글 및 바닥글로 이동할 때 단어 "Venia"를 한 번만 알립니다. 이전에는 같은 단어가 두 번 연속으로 발표되었습니다.
- 이제 드롭다운을 트리거하는 단추는 확장 또는 축소 상태와 액세스 가능한 이름을 나타내는 정보를 화면 판독기에 제공합니다.
- 화면 판독기 사용자는 새 페이지 보기가 렌더링될 때 알림을 받습니다. 기존에는 페이지 제목이 변경되면 제목 변경이 공지되지 않았다.