Chrome 브라우저 버전별 주요 변경 사항 및 프론트엔드 개발 영향 분석 (136-NEXT)

🤖 AI 추천

프론트엔드 개발자는 최신 웹 표준 및 브라우저 기능 변화에 대한 이해를 높이고, 서비스에 적용 가능한 새로운 기능이나 잠재적인 호환성 문제를 미리 파악하기 위해 이 콘텐츠를 참고하는 것이 좋습니다. 특히, 지원 중단 예정인 기능에 대한 선제적 대응 방안을 마련하는 데 도움이 될 것입니다.

🔖 주요 키워드

Chrome 브라우저 버전별 주요 변경 사항 및 프론트엔드 개발 영향 분석 (136-NEXT)

핵심 기술

Chrome 브라우저의 최신 버전별 변경 예정 항목을 분석하여 프론트엔드 개발에 미치는 영향과 새로운 기능, 지원 중단 사항을 상세히 정리합니다. ⚠️(지원 중단), ✅(새로운 기능), 🧪(미리 보기) 등의 기호를 사용하여 변경 사항의 성격을 명확히 구분합니다.

기술적 세부사항

Chrome 136

  • 지원 중단 (⚠️)
    • canLoadOpaqueURL 메서드 지원 중단
    • 특정 태그 내 중첩된 h1 글꼴 크기 규칙 제거 (📌): <h1> 태그가 <article>, <aside>, <nav>, <section> 등 특정 태그 내에 중첩될 경우 발생하는 글꼴 크기 축소 규칙이 제거되어 접근성 문제가 해소될 것으로 보입니다.
  • 새로운 기능 (✅)
    • Pointer Capture 방식을 활용한 click 이벤트 타깃 요소 설정: pointerup 시 포인터가 캡처된 요소에서 click 이벤트가 발생하여 개발자가 이벤트 처리를 직관적으로 제어할 수 있게 됩니다.
    • 자바스크립트 파싱 및 컴파일 제어를 위한 주석 추가 (eagerCompilation): 웹사이트 로드 지연 개선 및 상호작용 반응성 향상을 위해 특정 함수 미리 컴파일을 지시할 수 있습니다.
    • Chromium 스크롤바 Fluent 디자인 적용: Windows 11 디자인 언어에 맞춰 스크롤바 디자인이 개선됩니다.
    • 방문한 링크(:visited) 기록 분할 및 보안 강화 (📌): 타이밍 공격, 픽셀 색상 공격 등 사이드 채널 공격을 방지하기 위해 :visited 스타일 적용 조건이 강화됩니다. 링크 URL, Top-Level Site, Frame Origin의 삼중 키 방식을 적용하여 보안성을 높입니다.
    • RegExp.escape() 메서드 추가: 정규식 특수 문자를 안전하고 일관성 있게 이스케이프 처리할 수 있는 API가 제공됩니다.
  • 미리 보기 (🧪)
    • CanvasRenderingContext2D 텍스트 렌더링 구현 업데이트

Chrome 137

  • 새로운 기능 (✅)
    • Blob URL 사용이 교차 사이트에서 제한 (📌): Storage Key에 기반하여 Blob URL 접근이 제한되어 교차 사이트 간 Blob URL 공유가 차단됩니다. 이는 특정 보안 취약점을 방어하지만, 크롬 확장 프로그램 사용 등 일부 개발 방식에 영향을 줄 수 있습니다.
    • CSS if() 함수 추가: 조건부 값을 간결하게 표현할 수 있는 새로운 CSS 함수로, 미디어 쿼리보다 유연한 스타일링이 가능합니다.
    • HTTP 프로토콜에서 프리렌더링 차단 (📌): HTTP 프로토콜 URL에 대한 프리렌더링이 차단되어 보안 및 성능이 개선됩니다.
    • SVG 요소에 transform 속성 지정 가능: 외부 설정 없이 SVG 요소 자체에 transform 속성을 직접 지정할 수 있습니다.

Chrome 138

  • 지원 중단 (⚠️)
    • SwiftShader fallback 제거 (📌): WebGL 실패 시 대체 API로 사용되던 SwiftShader fallback 기능이 제거되어, 대체 API 사용 준비가 필요합니다.
  • 미리 보기 (🧪)
    • 프롬프트 API: 애플리케이션이 사용자 입력을 기반으로 AI 언어 모델을 직접 호출할 수 있는 Web Platform API가 도입될 예정입니다.

Chrome NEXT

  • 지원 중단 (⚠️)
    • [Chrome 139] macOS 11 지원 중단 (📌): 운영체제 지원 주기 정책에 따라 macOS 11 지원이 종료됩니다.
    • Intl Locale 객체의 getters 속성 지원 중단 (📌): 기존 getter 메서드가 새로운 함수로 변경되어 전환이 필요합니다.
    • v8 엔진에서 Intl.v8BreakIterator 제거
    • DOM 요소 제거 시 blur 이벤트 미발생 변경 (📌): DOM 요소 제거 시 blur 이벤트가 발생하지 않도록 변경되어 이벤트 처리 방식에 주의가 필요합니다.
    • unload 이벤트 지원 중단 (📌): unload 이벤트 대신 navigator.sendBeacon과 같은 대체 방법을 사용하도록 권장됩니다.
    • Protected Audience API의 서브리소스 웹 번들 방식 지원 중단 (📌): 낮은 사용량으로 인해 서브리소스 웹 번들을 사용한 이전 버전 지원이 중단됩니다.
    • ISO-2022-JP 문자셋 자동 감지 지원 제거: 사용 빈도가 매우 낮은 기능이 제거됩니다.
    • --load-extension 명령줄 플래그 지원 중단 (📌): Chromium, Chrome For Testing 등 특정 환경을 제외하고 공식 브랜드 빌드에서 확장 프로그램 로드 기능이 폐지됩니다.

개발 임팩트

이번 변경 사항들은 프론트엔드 개발자의 코드 작성 방식, 브라우저 호환성 관리, 보안 강화, 그리고 새로운 기술 트렌드(AI 통합 등)에 대한 이해를 요구합니다. 특히 지원 중단 예정인 기능들에 대한 선제적인 대응이 필요하며, 새로운 API 및 기능들을 학습하여 서비스 개선에 활용하는 것이 중요합니다.

커뮤니티 반응

명시적으로 언급된 커뮤니티 반응은 적지만, 웹 개발자들은 새로운 API 추가(RegExp.escape, if(), 프롬프트 API 등)에 대해 긍정적인 반응을 보이고 있으며, 지원 중단되는 기능(unload 이벤트, --load-extension 등)에 대해서는 대안 마련 및 전환 필요성에 대해 인지하고 있을 것으로 예상됩니다.

📚 관련 자료