게시일: 2025년 5월 28일
별도로 명시되지 않는 한 다음 변경사항은 Android, ChromeOS, Linux, macOS, Windows용 최신 Chrome 베타 채널 버전에 적용됩니다. 제공된 링크 또는 ChromeStatus.com의 목록을 통해 여기에 나열된 기능에 대해 자세히 알아보세요. Chrome 138은 2025년 5월 28일 기준으로 베타 버전입니다. 데스크톱의 경우 Google.com에서, Android의 경우 Google Play 스토어에서 최신 버전을 다운로드할 수 있습니다.
CSS 및 UI
이 출시 버전에는 6가지 새로운 CSS 및 UI 기능이 추가되었습니다.
CSS stretch 크기 조정 키워드
요소가 포함 블록의 사용 가능한 공간을 정확하게 채우도록 허용하는 CSS 크기 조정 속성 (예: width, height)의 키워드입니다. 결과 크기가 box-sizing로 표시된 상자 대신 요소의 여백 상자에 적용된다는 점을 제외하면 100%와 유사합니다. 이 키워드를 사용하면 요소가 가능한 한 큰 상태를 유지하면서 여백을 유지할 수 있습니다.
CSS 부호 관련 함수: abs(), sign()
부호 관련 함수 abs() 및 sign()는 인수 부호와 관련된 다양한 함수를 계산합니다.
OS 수준 글꼴 크기를 위한 CSS env 변수
사용자가 선호하는 글꼴 크기를 CSS에 노출합니다. 현재 페이지에서 사용자가 운영체제의 환경설정으로 선호하는 글꼴 크기를 변경했는지 감지하는 것은 실용적이지 않습니다. 이 CSS 환경 변수는 사용자가 선택한 비율을 반영합니다.
CSS sibling-index() 및 sibling-count()
sibling-index() 및 sibling-count() 함수는 CSS 속성 값에서 정수로 사용하여 형제 요소 간의 위치 또는 총 형제 요소 수를 기준으로 요소를 스타일 지정할 수 있습니다. 이러한 함수는 정수 값으로 직접 사용할 수 있지만 calc() 표현식 내에서 사용하는 것이 더 흥미롭습니다.
li {
animation-delay: calc(0.1s * sibling-index());
}
보간 진행률 함수 표기법: CSS progress() 함수
progress() 함수 표기법은 두 계산 (진행률 시작 값과 진행률 종료 값) 사이의 한 계산 (진행률 값) 위치를 나타내는 <number> 값을 반환하는 수학 함수입니다.
Viewport Segments Enumeration API
Viewport Segments API를 사용하면 개발자가 폴더블 기기를 타겟팅하도록 웹 레이아웃을 조정할 수 있습니다. 표시 영역 세그먼트는 표시 영역의 논리적으로 분리된 영역의 위치와 크기를 정의합니다. 표시 영역 세그먼트는 표시 영역이 구분선 역할을 하는 하나 이상의 하드웨어 기능 (예: 별도의 디스플레이 간 접기 또는 힌지)으로 분할될 때 생성됩니다. 세그먼트는 개발자가 논리적으로 별개로 취급할 수 있는 표시 영역의 영역입니다.
Web API
WebCodecs에 동영상 프레임 방향 메타데이터 지원 추가
개발자가 방향이 있는 프레임 소스 (예: Android 카메라, 특정 미디어)를 사용할 수 있도록 WebCodecs의 다양한 동영상 관련 인터페이스에 rotation: int 및 flip: bool 값을 도입합니다. VideoFrame 인터페이스는 임의 회전 및 뒤집기로 VideoFrame을 생성하는 기능과 VideoFrame 객체에서 이 정보에 액세스하는 기능을 확장합니다. VideoDecoderConfig 객체는 디코딩된 VideoFrame 객체에서 자동으로 내보내지는 rotation 및 flip 필드를 획득합니다. VideoEncoder 클래스는 encode()에서 EncodedVideoChunkMetadata의 일부로 내보내진 VideoDecoderConfig로 회전 및 뒤집기 정보를 전달하는 메커니즘을 획득합니다. encode()이 방향이 다른 프레임으로 호출되면 심각하지 않은 예외가 발생합니다. configure() 메서드를 사용하여 허용된 방향을 재설정할 수 있습니다.
Reporting API: is_top_level 및 visibility_state
이 기능은 비정상 종료 보고서의 기본 보고 엔드포인트로 전송되는 비정상 종료 보고 API 본문에 is_top_level 및 visibility_state 문자열 필드를 추가합니다.
직렬화 시 속성에서 < 및 > 이스케이프
직렬화 시 속성 값에서 < 및 >을 이스케이프합니다. 이렇게 하면 속성 값이 직렬화되고 다시 파싱된 후 시작 태그 토큰으로 해석될 때 발생하는 변이 XSS 공격의 위험이 완화됩니다.
스크립트 무결성 정책
하위 리소스 무결성 (SRI)을 사용하면 개발자가 로드하려는 애셋이 실제로 로드되는 애셋인지 확인할 수 있습니다. 하지만 개발자가 모든 스크립트가 SRI를 사용하여 검증되었는지 확인할 수 있는 방법은 현재 없습니다.
Integrity-Policy 헤더를 사용하면 개발자가 특정 유형의 모든 리소스가 무결성 검사를 받아야 한다고 어설션할 수 있습니다. 무결성 메타데이터 없이 해당 유형의 리소스를 로드하려고 하면 시도가 실패하고 위반 보고서가 트리거됩니다.
예측 가능한 보고된 스토리지 한도
무제한 저장용량 권한이 없는 사이트의 경우 StorageManager의 Estimate API에서 예측 가능한 스토리지 한도를 보고합니다. 사용 가능한 저장공간이 일반 모드보다 시크릿 모드에서 훨씬 적으므로 보고된 스토리지 한도를 사용하여 사용자의 탐색 모드를 감지할 수 있습니다.
이는 스토리지 권한이 제한된 사이트의 모든 탐색 모드에서 사용량에 최솟값(10GiB, 디스크를 가장 가까운 1GiB로 반올림한 값)을 더한 인위적인 할당량을 보고함으로써 Storage API를 사용한 사용자의 탐색 모드 감지를 방지하는 완화 조치입니다. 무제한 저장용량 권한이 있는 사이트는 영향을 받지 않습니다. 시행된 할당량도 영향을 받지 않습니다.
재구독 시 pushsubscriptionchange 이벤트
푸시 구독이 과거에 있었지만 권한 변경 (허용에서 거부/기본값으로)으로 인해 취소된 출처에 알림 권한이 다시 부여되면 서비스 워커에서 pushsubscriptionchange 이벤트를 발생시킵니다. 이벤트는 비어 있는 oldSubscription 및 newSubscription로 실행됩니다.
추측 규칙: prefetchCache 및 prerenderCache을 Clear-Site-Data 헤더에 추가
개발자가 사전 렌더링 및 사전 가져오기 캐시를 삭제하도록 타겟팅하는 데 도움이 되는 Clear-Site-Data 헤더의 두 가지 새로운 값: prefetchCache 및 prerenderCache
이러한 값은 모든 요청에서 전송될 수 있으며 문서 요청에서 이루어질 필요는 없습니다 (예: 상태 변경에 관한 추측을 지우기 위해 장바구니에 추가 또는 로그인 및 로그아웃 API 호출 응답에서 반환될 수 있음).
추측 규칙: target_hint 필드
이를 통해 개발자가 target_hint 필드를 지정할 수 있도록 추측 규칙 구문이 확장됩니다. 이 필드는 사전 렌더링된 페이지가 최종적으로 활성화될 탐색 가능한 타겟을 나타내는 힌트를 제공합니다. _blank가 힌트로 지정되면 window.open()에 의해 열리고 탐색 가능한 페이지에 사전 렌더링된 페이지가 활성화될 수 있습니다. 이 필드는 미리 가져오기에 지원되지 않습니다.
Storage Access API의 엄격한 동일 출처 정책
보안과 관련하여 동일 출처 정책을 엄격하게 준수하도록 Storage Access API 시맨틱을 조정합니다. 즉, 프레임에서 document.requestStorageAccess()를 사용하면 기본적으로 사이트가 아닌 iframe의 출처에 대한 요청에만 쿠키가 연결됩니다.
Summarizer API
AI 언어 모델을 기반으로 입력 텍스트의 요약을 생성하는 JavaScript API입니다. 브라우저와 운영체제가 언어 모델에 액세스해야 하는 경우가 점점 늘고 있습니다. 이 내장 모델을 공개함으로써 모든 웹사이트는 자체적으로 수 기가바이트에 달하는 언어 모델을 다운로드하거나 입력 텍스트를 서드 파티 API로 전송할 필요가 없어집니다. 특히 summarizer API는 다양한 사용 사례의 입력을 요약하기 위해 언어 모델과 상호작용하는 높은 수준의 API를 공개하며, 이는 특정 언어 모델에 종속되지 않는 방식입니다. 엔터프라이즈 정책 (GenAILocalFoundationalModelSettings)을 사용하면 기본 모델 다운로드를 사용 중지할 수 있으며, 이 경우 해당 API는 사용할 수 없게 됩니다.
자세한 내용은 기본 제공 AI로 간결한 요약 생성하기를 참고하세요.
Language Detector API
특정 텍스트에 사용된 언어를 신뢰도 수준과 함께 감지하는 JavaScript API입니다. 언어 감지는 번역을 보완하는 데 있어 매우 중요한 요소이며 Translator API와 함께 사용할 수 있습니다. 예를 들어 알 수 없는 언어로 된 사용자의 입력 데이터를 가져와 언어를 확인한 다음 특정 도착어로 번역합니다. 브라우저에는 이미 언어 감지 기능이 있는 경우가 많지만, 이 API는 번역 API를 보완하는 JavaScript API를 통해 웹 개발자에게 동일한 기능을 제공합니다.
엔터프라이즈 정책 (GenAILocalFoundationalModelSettings)을 사용하면 기본 모델의 다운로드를 사용 중지할 수 있으며, 이 경우 해당 API는 사용할 수 없게 됩니다.
자세한 내용은 기본 제공 AI로 사용된 언어 감지하기를 참고하세요.
Translator API
웹페이지에 언어 번역 기능을 제공하는 JavaScript API입니다.
사용자에게 언어 번역을 제공하는 브라우저가 점점 늘어나고 있으며, 이러한 번역 기능은 웹 개발자에게도 유용할 수 있습니다. 특히 라이브 및 대화형 서비스와 같이 브라우저의 기본 제공 번역 기능을 사용할 수 없는 경우에 유용합니다. 엔터프라이즈 정책(GenAILocalFoundationalModelSettings)을 사용하면 기본 모델 다운로드를 사용 중지할 수 있으며, 이 경우 해당 API는 사용할 수 없게 됩니다.
기본 제공 AI를 사용한 번역에서 자세히 알아보세요.
웹 앱 범위 확장 프로그램
웹 앱이 범위를 다른 출처로 확장할 수 있도록 하는 "scope_extensions" 웹 앱 매니페스트 필드를 추가합니다. 이를 통해 여러 하위 도메인과 최상위 도메인을 관리하는 사이트를 단일 웹 앱으로 표시할 수 있습니다. 나열된 출처가 .well-known/web-app-origin-association 구성 파일을 사용하여 웹 앱과의 연결을 확인해야 합니다.
Android의 블루투스를 통한 웹 시리얼
이 기능을 사용하면 웹페이지와 웹 앱이 Android 기기에서 블루투스를 통해 직렬 포트에 연결될 수 있습니다. 이제 Android용 Chrome에서 블루투스 RFCOMM을 통한 Web Serial API를 지원합니다. 다른 플랫폼의 기존 엔터프라이즈 정책(DefaultSerialGuardSetting, SerialAllowAllPortsForUrls, SerialAllowUsbDevicesForUrls, SerialAskForUrls, SerialBlockedForUrls)은 Android의 future_on 상태에서 사용 설정됩니다. 기능이 사용 설정된 후에는 SerialAllowUsbDevicesForUrls를 제외한 모든 정책이 사용 설정됩니다. SerialAllowUsbDevicesForUrls는 Android에서 유선 직렬 포트에 대한 시스템 수준 지원을 제공하게 되면 향후 출시에서 사용 설정됩니다.
지원 중단 및 삭제
이 버전의 Chrome에는 다음과 같은 지원 중단 및 삭제가 도입되었습니다. 계획된 지원 중단, 현재 지원 중단, 이전 삭제 목록은 ChromeStatus.com을 참고하세요.
이 Chrome 버전에서는 두 가지 기능이 지원 중단됩니다.
미디어 소스 확장 프로그램의 비동기 범위 삭제 지원 중단
비동기 범위 삭제와 관련하여 모호하게 정의된 동작을 허용하지 않도록 미디어 소스 표준이 오래전에 변경되었습니다.
SourceBuffer.abort()이 더 이상SourceBuffer.remove()작업을 중단하지 않습니다.MediaSource.duration을 설정해도 더 이상 현재 버퍼링된 미디어가 잘리지 않습니다.
이제 두 경우 모두 예외가 발생합니다.
SwiftShader 대체 삭제
소프트웨어 렌더러 SwiftShader에서 지원하는 WebGL로의 자동 대체를 허용하는 기능은 지원 중단되었으며 SwiftShader로 대체되는 대신 WebGL 컨텍스트 생성이 실패합니다. 이는 다음 두 가지 주요 이유로 인한 조치입니다.
- SwiftShader는 Chromium의 GPU 프로세스에서 실행되는 JIT 코드로 인해 보안 위험이 높습니다.
- 고성능 GPU 지원 WebGL에서 CPU 지원 구현으로 대체할 때 사용자 환경이 저하됩니다. 사용자는 이 동작을 제어할 수 없으며 버그 신고에서 설명하기도 어렵습니다.
지원 중단 기간에는 WebGL 컨텍스트가 생성되고 SwiftShader로 지원될 때 Chrome DevTools 콘솔에 경고가 표시됩니다. --enable-unsafe-swiftshader를 전달하면 이 경고 메시지가 삭제됩니다.