안정화 버전 출시일: 2026년 5월 5일
별도로 명시되지 않는 한 다음 변경사항은 Android, ChromeOS, Linux, macOS, Windows용 Chrome 148 안정화 버전 채널에 적용됩니다.
CSS 및 UI
CSS 이름 전용 컨테이너 쿼리
CSS 쿼리 컨테이너는 container-name을 기반으로만 쿼리할 수 있으며 컨테이너에는 container-type이 설정되어 있지 않아도 됩니다.
#container {
container-name: --foo;
}
@container --foo {
input { background-color: green; }
}
<div id="container">
<div><input></div>
</div>
이전에는 @container에 이름 외에 컨테이너 유형이 필요했습니다.
버그 #40287550 추적 | ChromeStatus.com 항목 | 사양
At-rule: CSS 기능 감지
이 기능은 CSS @supports에 at-rule() 함수를 추가하여 작성자가 CSS @규칙 지원을 기능 감지할 수 있도록 합니다.
버그 #40211832 추적 | ChromeStatus.com 항목 | 사양
Open Font Format avar2 텍스트 모양 지정 및 글리프 렌더링
버전 2의 avar (축 변형) 표를 사용하면 글꼴 디자이너가 보간을 더 효과적으로 제어하여 가변 글꼴을 만들 수 있습니다. 원래 가변 글꼴 사양은 축을 독립적으로 처리하지만 avar2를 사용하면 축이 서로 영향을 줄 수 있습니다. 이렇게 하면 콘텐츠 작성자가 사용하기 쉬운 글꼴이 생성되고 저장 공간을 절약할 수 있습니다.
Avar2는 친숙한 글꼴 변형 개념을 사용하지만 변수 델타 값을 디자인 축 사양 자체에 적용합니다. 또한 여러 축의 범위에서 이 작업을 실행할 수 있습니다.
예를 들어 글꼴 디자이너가 여러 변형 축을 한 번에 제어하는 '메타 슬라이더'를 만들어 사용자가 글꼴 디자인 공간의 유용한 부분을 미세 조정하고 찾을 필요가 없도록 할 수 있습니다.
Avar2를 사용하면 글꼴 디자이너가 글꼴의 사용 가능한 변형 공간을 더 효과적으로 제어하고 여러 축에 걸쳐 디자인 축의 조정을 조정할 수 있습니다.
avar 버전 2 표 내에서 축 간의 관계를 수학적으로 정의하면 보간이 더 효율적으로 저장되므로 글꼴이 마스터 수를 줄여 복잡한 디자인을 구현할 수 있어 파일 크기가 작아집니다.
버그 #40246300 추적 | ChromeStatus.com 항목 | 사양
revert-rule 키워드
revert-rule 키워드는 revert-layer가 캐스케이드를 이전 레이어로 롤백하는 것과 마찬가지로 캐스케이드를 이전 규칙으로 롤백합니다. 예를 들면 다음과 같습니다.
div { color: green; }
div { color: revert-rule; /* Effectively green */ }
이는 조건문과 함께 사용할 때 특히 유용합니다. 일부 조건이 충족되지 않으면 현재 규칙을 삭제할 수 있기 때문입니다.
div {
display: if(style(--layout: fancy): grid; else: revert-rule);
}
추적 버그 #393582263 | ChromeStatus.com 항목 | 사양
동영상 및 오디오 요소의 지연 로드
<video> 및 <audio> 요소에 loading 속성을 추가하여 개발자가 loading="lazy"를 사용하여 요소가 뷰포트에 가까워질 때까지 미디어 리소스 로딩을 지연할 수 있습니다. 이는 <img> 및 <iframe> 요소의 기존 지연 로드 동작과 일치하므로 페이지 로드 성능이 개선되고 데이터 사용량이 줄어듭니다.
버그 #469111735 추적 | ChromeStatus.com 항목 | 사양
text-decoration-skip-ink: all
CSS text-decoration-skip-ink 속성의 all 값 지원 추가
text-decoration-skip-ink 속성은 이미 auto 및 none를 지원합니다. all 값은 CJK 문자를 비롯한 모든 글리프에 무조건 잉크 건너뛰기를 적용하여 이를 확장하는 반면 auto은 잉크 건너뛰기가 일반적인 밑줄 위치에서 표의 문자 스크립트에 바람직하지 않은 시각적 결과를 생성하는 경향이 있으므로 CJK 문자를 건너뛰지 않습니다.
text-decoration-skip-ink: all를 사용하면 CJK 글리프와 충돌하지 않도록 text-underline-position 또는 text-underline-offset를 조정한 개발자가 해당 문자의 잉크 건너뛰기를 명시적으로 선택할 수도 있습니다.
버그 #40675832 추적 | ChromeStatus.com 항목 | 사양
dragEnter, dragLeave, dragOver 이벤트의 dropEffect를 올바르게 설정
드래그 앤 드롭 사양에서는 dataTransfer의 객체 dropEffect 속성이 dragEnter, dragOver, dragLeave에서 미리 정해진 특정 값을 가져야 합니다. 드래그 앤 드롭에는 현재 effectAllowed에 기반한 dropEffect가 있어야 하며 dragLeave에는 항상 none dropEffect가 있어야 합니다. 현재 Chromium은 이러한 규칙을 준수하지 않습니다. 이 기능이 출시되면 Chromium은 사양을 준수하고 이 속성에 올바른 값을 할당하여 웹 개발자가 이 속성을 사용할 수 있게 됩니다.
버그 #434151262 추적 | ChromeStatus.com 항목 | 사양
드래그 시작 시 포인터 이벤트 억제
HTML 사양에 따르면 드래그가 시작되면 사용자 에이전트는 포인터 이벤트 스트림이 종료되었으며 이 포인터에서 더 이상 이벤트를 예상하지 않아야 함을 나타내기 위해 적절한 이벤트를 드래그 소스에 전송해야 합니다.
이 코드는 마우스 이벤트의 경우 부분적으로 구현되었고 Android의 터치 드래그의 경우 완전히 구현되었습니다. 이 기능의 작업을 통해 다른 모든 플랫폼에서 이 사양 요구사항을 완전히 충족하는 것을 목표로 합니다. 실제로 이는 드래그가 시작된 후 드래그 소스가 현재 이벤트 스트림이 완료되었음을 나타내는 pointercancel, pointerout, pointerleave 이벤트를 수신한다는 의미입니다.
추적 버그 #452372355 | ChromeStatus.com 항목 | 사양
기능
매니페스트 현지화
앱이 이름, 설명, 아이콘, 바로가기를 사용자의 언어와 지역에 맞게 조정할 수 있도록 매니페스트 구성원의 현지화를 지원합니다. 개발자는 웹 앱 매니페스트에 현지화된 값을 제공하고 브라우저는 사용자의 언어 설정에 따라 적절한 리소스를 자동으로 선택하여 다양한 시장에서 언어 지원을 도입합니다.
웹 앱 매니페스트의 현지화 지원에서 자세히 알아보세요.
버그 #380491647 추적 | ChromeStatus.com 항목 | 사양
Android의 웹
Android의 Web Serial API
Web Serial API는 사용자의 시스템에 있는 직렬 포트나 직렬 포트를 에뮬레이션하는 이동식 USB 및 블루투스 기기를 통해 직렬 기기에 연결하는 인터페이스를 제공합니다. 이제 Android에서 지원됩니다.
특히 교육, 취미, 산업 분야의 사용자는 맞춤 소프트웨어가 필요한 주변기기를 컴퓨터에 연결합니다. 예를 들어 학교에서 컴퓨터 프로그래밍과 전자 공학을 가르치는 데 로봇 공학이 자주 사용됩니다. 이를 위해서는 로봇에 코드를 업로드하거나 원격으로 제어할 수 있는 소프트웨어가 필요합니다. 산업 또는 취미 환경에서 밀링, 레이저 커터 또는 3D 프린터와 같은 장비는 연결된 컴퓨터에서 실행되는 프로그램에 의해 제어됩니다. 이러한 기기는 직렬 연결을 사용하는 소형 마이크로컨트롤러로 제어되는 경우가 많습니다.
자세한 내용은 web.dev의 Web Serial API 가이드 및 Web Serial 사양을 참고하세요.
버그 #365514951 추적 | ChromeStatus.com 항목
Android의 SharedWorker
예측할 수 없는 프로세스 수명 주기와 관련된 우려로 인해 오랫동안 Android에서 SharedWorker가 사용 중지되었습니다. SharedWorker 인스턴스가 사용자나 웹 개발자에게 알리지 않고 예기치 않게 종료될 수 있습니다.
하지만 최근 GitHub 토론(GitHub 토론 참고)에 따르면 SharedWorker의 프로세스 수명 주기의 예측 불가능한 특성이 이전 생각만큼 심각한 문제가 아닐 수 있습니다. 이에 따라 안정적이고 신뢰할 수 있는 환경을 보장하기 위해 이 동작을 조사하는 동안 Android에서 SharedWorker가 다시 사용 설정됩니다.
버그 #40290702 추적 | ChromeStatus.com 항목 | 사양
Web API
WebGPU: linear_indexing 기능
이 기능은 브라우저에서 처음 제공된 후 WebGPU 사양에 기능을 추가합니다.
사용자 편의를 위한 새로운 컴퓨트 셰이더 내장 값 두 개를 추가합니다. 이는 모든 백엔드에서 구현됩니다 (기존 내장 값의 폴리필로).
버그 #482840564 추적 | ChromeStatus.com 항목 | 사양
웹 인증 즉시 UI 모드
브라우저에 즉시 알려진 사이트의 패스키 또는 비밀번호가 있는 경우 브라우저 로그인 UI가 사용자에게 표시되도록 하거나, 그렇지 않은 경우 이러한 인증 정보가 없으면 NotAllowedError로 프로미스를 거부하는 navigator.credentials.get()의 새로운 모드입니다. 이를 통해 브라우저에서 성공할 가능성이 높은 로그인 사용자 인증 정보를 선택할 수 있는 경우 사이트에서 로그인 페이지를 표시하지 않을 수 있으며, 이러한 사용자 인증 정보가 없는 경우에도 기존 로그인 페이지 흐름을 허용할 수 있습니다.
버그 #408002783 추적 | ChromeStatus.com 항목 | 사양
보안 결제 확인 기능 가져오기
웹 개발자가 보안 결제 확인의 브라우저 구현 기능을 가져올 수 있도록 결제 요청에 새 정적 메서드를 추가합니다.
이를 통해 웹 개발자는 보안 결제 확인에 사용할 수 있는 기능을 파악하여 이러한 기능으로 보안 결제 확인을 사용할지 여부를 결정할 수 있습니다.
버그 #484043990 추적 | ChromeStatus.com 항목 | 사양
수명이 연장된 공유 워커
이 업데이트에서는 SharedWorker 생성자에 extendedLifetime: true라는 옵션이 새로 추가되었습니다. 이 새로운 옵션은 현재 연결된 모든 클라이언트의 로드가 취소된 후에도 공유 워커를 활성 상태로 유지하도록 요청합니다. 이를 통해 페이지는 페이지가 언로드된 후 서비스 워커에 의존하지 않고 JavaScript가 필요한 비동기 작업을 실행할 수 있습니다.
버그 #400473072 추적 | ChromeStatus.com 항목 | 사양
Prompt API
프롬프트 API를 사용하면 웹 개발자가 브라우저에서 제공하는 기기 내 AI 언어 모델에 직접 액세스할 수 있습니다. API 설계는 클라우드 API 모양에 맞춰 세부적인 제어를 제공하여 개별 사용 사례에 맞게 조정된 모델 상호작용으로 사이트를 점진적으로 개선할 수 있습니다. 이는 요약기 API와 같은 작업 기반 언어 모델 API와 개발자가 제공한 ML 모델을 사용한 일반화된 온디바이스 추론을 위한 다양한 API 및 프레임워크를 보완합니다.
초기 구현에서는 텍스트, 이미지, 오디오 입력을 지원합니다. 또한 대답 제약 조건을 사용하면 생성된 텍스트가 사전 정의된 정규식 및 JSON 스키마 형식을 준수합니다.
이를 통해 이미지 설명 생성 및 시각적 검색부터 오디오 스크립트 작성, 소리 활동 분류, 특정 지침에 따른 텍스트 생성, 멀티모달 소스 자료에서 정보 또는 유용한 정보 추출에 이르기까지 다양한 사용 사례를 지원합니다.
버그 #417526788 추적 | ChromeStatus.com 항목 | 사양
네트워크 및 연결
IDNA ContextJ 규칙
IDNA는 도메인 이름의 비ASCII 문자를 위한 메커니즘입니다. http://네이버.한국/과 같은 URL을 http://xn--950bt9s8xi.xn--3e0b707e/ (naver.com으로 리디렉션)으로 인코딩합니다.
URL 사양은 CheckJoiners 플래그를 설정하며, 이 플래그는 IDNA2008에서 ContextJ 규칙을 사용 설정합니다. 이렇게 하면 URL의 대부분의 위치에서 ZWNJ (U+200C 너비가 0인 비조이너) 및 ZWJ (U+200D 너비가 0인 조이너)가 허용되지 않습니다. 이 구현은 이 규칙이 구현된 ICU에 UIDNA_CHECK_CONTEXTJ 옵션을 전달합니다.
버그 #40765949 추적 | ChromeStatus.com 항목 | 사양
동일한 src 재할당 시 no-store 이미지 재사용
동일한 src 값이 <img> 요소에 다시 할당될 때 Cache-Control: no-store 새로고침을 우회하도록 동일한 문서에서 사용 가능한 이미지 재사용을 허용합니다. 이전에는 이미지가 디코딩되어 문서에서 사용할 수 있더라도 Blink가 이미지를 다시 가져왔습니다. 이는 기존 Gecko 및 WebKit 동작과 일치합니다.
버그 #486562295 추적 | ChromeStatus.com 항목 | 사양
성능
리소스 타이밍의 ContentType
서버에서 반환된 가져온 리소스의 Content-Type HTTP 헤더에 해당하는 문자열을 보유하도록 contentType 필드를 PerformanceResourceTiming에 추가합니다.
버그 #1366706 추적 | ChromeStatus.com 항목 | 사양
WebRTC 데이터 채널: 항상 데이터 채널 협상
데이터 채널을 만들기 전에 애플리케이션이 SDP 제안에서 데이터 채널을 협상하는 방법을 정의하는 WebRTC 확장 프로그램 alwaysNegotiateDataChannels를 구현합니다. 또한 오디오 또는 동영상 m 섹션 전에 데이터 m= 섹션을 협상하고 이를 BUNDLE의 '제안자 태그 m= 섹션'으로 사용합니다.
다시 말하면 다음과 같습니다.
const pc = new RTCPeerConnection({ alwaysNegotiateDataChannels: true });
const offer = await pc.createOffer();
SDP에 애플리케이션 m-line이 포함된 제안을 생성합니다.
const pc = new RTCPeerConnection({ alwaysNegotiateDataChannels: true });
pc.addTransceiver('audio');
pc.createDataChannel('somechannel');
const offer = await pc.createOffer();
SDP에서 애플리케이션 m-라인과 오디오 m-라인을 협상하는 제안을 만듭니다.
버그 #433898678 추적 | ChromeStatus.com 항목 | 사양
새 오리진 트라이얼
선언적 CSS 모듈 스크립트
선언적 CSS 모듈 스크립트는 기존 스크립트 기반 CSS 모듈 스크립트의 확장 프로그램입니다. 이를 통해 개발자는 선언적 섀도우 루트를 비롯한 섀도우 루트와 선언적 스타일시트를 공유할 수 있습니다. 개발자는 <style type="module" specifier="foo">로 인라인 스타일 모듈을 정의하고 지정자 또는 URL(예: <template shadowrootmode="open"
shadowrootadoptedstylesheets="foo">)을 참조하여 선언적 모듈을 선언적 섀도우 DOM에 적용할 수 있습니다.
오리진 트라이얼 | 버그 추적 #448174611 | ChromeStatus.com 항목 | 사양
Container Timing API
컨테이너 타이밍 API를 사용하면 DOM의 주석 처리된 섹션이 화면에 표시되고 초기 페인트가 완료된 시점을 모니터링할 수 있습니다. 개발자는 DOM의 하위 섹션을 containertiming 속성으로 표시하고 (Element Timing API의 elementtiming와 유사) 해당 섹션이 처음 페인트될 때 성능 항목을 수신할 수 있습니다. 이 API를 사용하면 개발자가 페이지의 다양한 구성요소의 타이밍을 측정할 수 있습니다.
오리진 트라이얼 | 버그 #382422286 추적 | ChromeStatus.com 항목 | 사양
웹 앱 HTML 설치 요소
웹사이트가 사용자에게 웹 앱 설치를 선언적으로 요청할 수 있도록 허용합니다. 이 요소는 선택적으로 다른 출처의 콘텐츠 설치를 허용하는 두 가지 속성을 허용합니다.
오리진 트라이얼 | 버그 #454827186 추적 | ChromeStatus.com 항목 | 사양
긴 애니메이션 프레임 스타일 지속 시간
개발자가 스타일과 레이아웃 시간을 구분할 수 있도록 긴 애니메이션 프레임 API에 styleDuration 및 forcedStyleDuration 정보 추가
오리진 트라이얼 | 버그 추적 #476826067 | ChromeStatus.com 항목 | 사양
HTML-in-canvas
HTML-in-canvas를 사용하면 캔버스를 사용하여 HTML 렌더링을 맞춤설정할 수 있습니다. 여기에는 캔버스 요소를 선택하는 속성 (layoutsubtree), 하위 요소를 그리는 메서드 (2D: drawElementImage, WebGL: texElementImage2D, WebGPU: copyElementImageToTexture), 업데이트를 처리하기 위해 실행되는 페인트 이벤트라는 세 가지 새로운 기본 요소가 사용됩니다.
오리진 트라이얼 | 버그 #500967896 추적 | ChromeStatus.com 항목 | 사양
연결 허용 목록
연결 허용 목록은 문서 또는 작업자에서 Fetch API 또는 기타 웹 플랫폼 API를 사용하여 시작된 연결을 제한하여 외부 엔드포인트를 명시적으로 제어할 수 있도록 설계된 기능입니다.
제안된 구현에서는 HTTP 응답 헤더를 통해 서버에서 승인된 엔드포인트 목록을 배포합니다. 사용자 에이전트가 페이지를 대신하여 연결을 설정하기 전에 에이전트는 이 허용 목록에 대해 대상을 평가합니다. 인증된 엔드포인트에 대한 연결은 허용되지만 목록의 항목과 일치하지 않는 연결은 차단됩니다.
오리진 트라이얼 | 버그 추적 #447954811 | ChromeStatus.com 항목 | 사양
프롬프트 API 샘플링 매개변수
프롬프트 API에 샘플링 매개변수를 추가합니다. 이러한 파라미터는 모델에서 토큰이 샘플링되는 방식을 제어하여 개발자가 출력의 '창의성' 또는 '무작위성'을 제어할 수 있도록 합니다. 또한 설정된 값을 읽기 위해 LanguageModel 인스턴스에 속성을 추가하고 이러한 매개변수의 기본값과 최댓값을 가져오기 위해 정적 LanguageModel 함수를 추가합니다.
첫 번째 구현에서는 temperature 및 topK 매개변수를 추가합니다.
오리진 트라이얼 | 버그 #496663356 추적 | ChromeStatus.com 항목 | 사양
HTML의 처리 지침 파싱
처리 명령어 (구문: <?target data>)는 XML에 노출되는 기존 DOM 구조로, 요소는 아니지만 문서 처리에 의미가 있을 수 있는 노드 객체를 허용합니다.
예를 들어 새로운 DOM 요소를 요구하지 않고 CSS에 관한 한 DOM 구조를 변경하지 않고 스트리밍 또는 강조 표시를 위한 범위를 나타내거나 버퍼링 및 스트리밍 방법에 관한 HTML 파서의 지시어로 사용할 수 있습니다.
버그 #481087638 추적 | ChromeStatus.com 항목
OpaqueRange
OpaqueRange는 <textarea> 또는 텍스트 기반 <input>과 같은 양식 컨트롤 값 내의 라이브 텍스트 범위를 나타내므로 개발자는 범위와 유사한 API를 사용하여 값 텍스트를 사용할 수 있습니다.
getBoundingClientRect(), getClientRects(), CSS 맞춤 강조 표시 API와의 통합을 통해 인라인 제안, 강조 표시, 고정된 팝오버와 같은 UI를 지원합니다. startContainer 및 endContainer의 null를 반환하면서 값 오프셋만 노출하여 캡슐화를 유지하므로 DOM 엔드포인트와 내부 구조가 노출되지 않습니다.