Chrome 145 beta

Dipublikasikan: 14 Januari 2026

Kecuali dinyatakan lain, perubahan berikut berlaku untuk rilis saluran beta Chrome terbaru untuk Android, ChromeOS, Linux, macOS, dan Windows. Pelajari lebih lanjut fitur yang tercantum di sini melalui link yang disediakan atau dari daftar di ChromeStatus.com. Chrome dalam versi beta mulai 14 Januari 2026. Anda dapat mendownload versi terbaru di Google.com untuk desktop atau di Google Play Store di Android.

CSS dan UI

Mendukung properti CSS text-justify

Developer dapat mengontrol perataan teks saat text-align: justify diterapkan menggunakan properti text-justify. Misalnya, memaksa perataan kanan-kiri dengan memperluas ruang antar-karakter, bahkan dalam teks bahasa Inggris.

Menyempurnakan penghitungan tepi bayangan border-radius untuk nilai border-radius yang tinggi

Peningkatan ini memastikan bahwa bayangan dan batas klip pada elemen hampir melingkar (dengan border-radius mendekati 50%) cocok dengan kontur visual tepi melengkung secara presisi.

Hal ini menghasilkan rendering bentuk bulat kompleks yang lebih konsisten, sehingga menghilangkan perbedaan visual untuk nilai radius yang tinggi. Faktor penyesuaian border-radius, yang memastikan sudut tampak tajam untuk radius kecil, kini semakin diredam saat nilai radius mendekati 50%.

Hal ini juga berlaku untuk kontur non-bulat (menggunakan corner-shape), yang kini menggunakan mekanisme penyesuaian radius yang sama.

Pengepakan kolom untuk tata letak multi-kolom CSS

Mulai Chrome 145, properti column-wrap dan column-height didukung dalam tata letak multi-kolom. Dengan properti ini, Anda dapat memindahkan kolom ke baris baru dalam arah blok.

Sebelum Chrome 145, jika tinggi penampung multi-kolom dibatasi, konten yang tidak sesuai dengan ruang yang tersedia akan muncul sebagai kolom yang meluap dalam arah inline. Tindakan ini akan membuat scrollbar horizontal di web. Dengan properti column-height dan column-wrap, Anda dapat menetapkan tinggi untuk baris kolom dan menetapkan kolom yang meluap agar muncul sebagai baris baru.

Cari tahu selengkapnya di Dukungan untuk kolom yang di-wrap dalam tata letak multi-kolom.

Mengekspos peristiwa onanimationcancel ke GlobalEventHandlers

Animasi CSS Level 1 memperluas Antarmuka GlobalEventsHandler yang ditentukan dalam spesifikasi HTML, dengan mendeklarasikan empat pengendali peristiwa baru: onanimationstart, onanimationiteration, onanimationend, dan onanimationcancel.

Pengendali peristiwa onanimationcancel tidak ada di IDL GlobalEventsHandler, dan kini diekspos.

CSS letter-spacing dan word-spacing: nilai persentase

Mengaktifkan nilai persentase untuk properti CSS letter-spacing dan word-spacing, seperti yang ditentukan dalam spesifikasi CSS Text Module Level 4. Nilai persentase dihitung relatif terhadap ukuran maju karakter spasi (U+0020). Hal ini memberi developer kontrol yang lebih andal dan fleksibel atas tipografi, terutama dalam desain responsif yang memerlukan penyesuaian jarak teks dengan berbagai ukuran font dan area tampilan.

Kotak daftar pilihan yang dapat disesuaikan

Fitur ini memperluas dukungan pemilihan yang dapat disesuaikan ke mode rendering listbox, termasuk pemilihan tunggal dan multi-pilihan dalam mode listbox.

Mode rendering kotak daftar berarti elemen <select> dirender dalam alur atau di halaman, bukan dengan tombol dan pop-up terpisah. Mode rendering kotak daftar diaktifkan di seluruh platform melalui atribut jumlah atau ukuran, seperti <select multiple> atau <select size=4>. Jika properti CSS appearance:base-select diterapkan ke elemen <select> dengan atribut ini, elemen tersebut kini akan memiliki rendering dan perilaku input yang lebih baik.

Fitur ini tidak mendukung pilihan yang dapat disesuaikan untuk pop-up multi-pilihan, yang akan hadir nanti. Atribut berikut harus disetel untuk mendapatkan pop-up multi-pilihan: <select multiple size=1>.

Mengaktifkan rendering emoji monokrom dalam mode warna paksa.

Perubahan ini memperbarui perilaku rendering emoji dalam Mode Warna Paksa di Chrome. Selama penyelesaian nilai terkomputasi, emoji yang nilai font-variant-emoji-nya dihitung menjadi normal atau unicode dirender menggunakan glif monokromnya jika tersedia.

Oleh karena itu, Chrome akan menekan rendering emoji warna, yang memastikan emoji berpartisipasi sepenuhnya dalam pipeline Mode Warna Paksa dan mematuhi warna kontras tinggi sistem. Perilaku di luar mode warna paksa tidak berubah.

Opsi focusVisible pada metode focus()

Saat memanggil metode focus(), developer kini dapat memberikan boolean focusVisible dalam kamus FocusOptions. Jika benar (true), ring fokus akan selalu digambar di sekitar elemen yang baru difokuskan dan akan cocok dengan pseudo-class :focus-visible. Jika salah (false), ring fokus tidak akan digambar dan :focus-visible tidak akan cocok. Jika tidak ada, agen pengguna akan menentukan sendiri apakah ring fokus harus digambar, dan pseudo-class :focus-visible akan cocok.

Efek overscroll pada scroller non-root

Menampilkan efek overscroll elastis pada container scroll non-root. Saat elemen yang dapat di-scroll bertingkat mencapai batas scroll-nya, kemampuan overscroll berlaku untuk elemen tersebut, bukan hanya scroller root. Hal ini mengurangi kebutuhan akan solusi JavaScript kustom dan dapat dikontrol per elemen dengan overscroll-behavior.

Menampilkan posisi jendela sebenarnya di Android

Chrome di Android kini melaporkan posisi dan ukuran jendela browser secara akurat menggunakan window.screenX, window.screenY, window.outerWidth, dan window.outerHeight.

Sebelumnya, Chrome secara keliru mengasumsikan semua jendela browser di Android dimulai pada koordinat (0, 0). Hal ini tidak akurat untuk tablet Android yang menggunakan mode jendela bebas, sehingga menyebabkan situs selalu menerima 0 saat mengkueri posisi di layar jendela menggunakan window.screenX dan window.screenY (kolom ini menyimpan koordinat sudut kiri atas jendela dalam ruang koordinat area kerja global).

Selain itu, Chrome di Android secara keliru mengasumsikan bahwa dimensi luar jendela browser sama dengan dimensi dalam area pandang situs.

Web API

Sebelum Chrome 145, NavigationTransition memiliki properti from, yang mengekspos URL lama navigasi. Mengekspos to (NavigationDestination) akan menyelesaikan tugas ini. Hal ini sangat berguna saat menggunakan handler precommit, karena selama precommit, URL saat ini belum beralih ke tujuan.

WebGPU: Fitur subgroup_uniformity

Menambahkan cakupan baru ke analisis keseragaman dan mengubah bagian bahasa yang diperiksa di setiap cakupan untuk memungkinkan fungsi subgrup dianggap seragam dalam lebih banyak kasus.

Upsert

Menerapkan proposal ECMAScript untuk Map.prototype.getOrInsert, Map.prototype.getOrInsertComputed, WeakMap.prototype.getOrInsert, dan WeakMap.prototype.getOrInsertComputed.

Jenis InputEvent untuk perintah penghapusan pada pilihan yang tidak diciutkan

Melaporkan nilai inputType yang akurat untuk pintasan keyboard penghapusan pada teks yang dipilih. Saat perintah penghapusan seperti Control+Backspace atau Control+Delete digunakan dengan teks yang dipilih dalam elemen contenteditable, peristiwa beforeinput dan input kini melaporkan deleteContentBackward atau deleteContentForward bukan deleteWordBackward atau deleteWordForward. Hal ini memungkinkan developer web memahami dengan benar operasi pengeditan yang terjadi dan menerapkan pembatalan dan pengulangan atau perilaku pengeditan kustom yang andal.

Memungkinkan pemanggil menentukan maxAge saat menetapkan cookie dengan Cookie Store API.

Waktu habis masa berlaku cookie sudah dapat dikonfigurasi menggunakan atribut expires, tetapi maxAge memberikan opsi yang lebih idiomatis dan menyelaraskan Cookie Store API dengan opsi yang disediakan oleh document.cookie dan Header HTTP Set-Cookie.

Secure Payment Confirmation: Kunci Terikat Browser

Menambahkan tanda tangan kriptografi tambahan pada pernyataan dan pembuatan kredensial Secure Payment Confirmation. Kunci pribadi yang sesuai tidak disinkronkan di seluruh perangkat. Hal ini membantu developer web memenuhi persyaratan pengikatan perangkat untuk transaksi pembayaran.

Aktivasi tetap untuk acara clipboardchange

Chrome kini memerlukan aktivasi pengguna tetap atau izin clipboard-read untuk mengaktifkan peristiwa clipboardchange, sehingga mencegah pemantauan papan klip yang tidak sah. Perubahan ini sebagaimana ditentukan dalam spesifikasi Clipboard API.

Mengekspos rtpTimestamp dari frame video WebRTC menggunakan VideoFrame.metadata()

Menambahkan metode VideoFrame.metadata() yang menampilkan kamus yang berisi kolom rtpTimestamp, jika VideoFrame yang mendasarinya memiliki kolom ini dalam metadatanya. Jika tidak, kamus kosong akan ditampilkan. Hanya frame video yang berasal dari sumber WebRTC yang akan memiliki metadata rtpTimestamp.

Memungkinkan aplikasi web memahami waktu performa bimodal

Aplikasi web mungkin mengalami distribusi bimodal dalam performa pemuatan halaman karena faktor di luar kontrol aplikasi. Misalnya, saat agen pengguna pertama kali diluncurkan dalam skenario "cold start", agen tersebut harus melakukan banyak tugas inisialisasi yang mahal dan bersaing untuk mendapatkan resource sistem. Ekstensi browser juga dapat memengaruhi performa, karena beberapa ekstensi menjalankan kode tambahan di setiap halaman yang Anda kunjungi, sehingga meningkatkan penggunaan CPU dan memperlambat waktu respons. Demikian pula, saat komputer sudah sibuk dengan tugas berat, halaman web mungkin dimuat lebih lambat sebagai akibatnya.

Dalam skenario ini, konten yang coba dimuat oleh aplikasi web akan bersaing dengan pekerjaan lain yang terjadi di sistem. Hal ini menyulitkan pendeteksian apakah masalah performa ada dalam aplikasi web itu sendiri, atau karena faktor eksternal.

Kolom confidence baru pada objek PerformanceNavigationTiming memungkinkan developer membedakan apakah waktu navigasi bersifat representatif untuk aplikasi web mereka.

Menambahkan presentationTime dan paintTime ke entri performa

Mengekspos paintTime dan presentationTime dalam pengaturan waktu elemen, LCP, frame animasi panjang, dan pengaturan waktu paint.

paintTime berarti waktu saat fase rendering berakhir dan browser memulai fase pengecatan. presentationTime berarti waktu saat "piksel mencapai layar", yang agak ditentukan oleh implementasi. Lihat LCP dan INP kini tersedia di Baseline yang Baru Tersedia.

Penggunaan piksel CSS di LayoutShift API

Fitur ini mengubah data atribusi (prevRect dan currentRect) di LayoutShift API agar dilaporkan dalam piksel CSS, bukan piksel fisik. Perilaku saat ini tidak konsisten dengan API terkait tata letak lainnya, yang semuanya menggunakan piksel CSS. Perubahan ini meningkatkan konsistensi, menyederhanakan penggunaan bagi developer, dan selaras dengan unit yang diharapkan dalam proses debug dan alat.

Perhatikan bahwa hal ini tidak memengaruhi nilai metrik CLS, tetapi memengaruhi alat proses debug yang menampilkan screenshot dan gambar pergeseran tersebut.

Kredensial Sesi yang Terikat Perangkat (DBSC)

Cara bagi situs untuk mengikat sesi dengan aman ke satu perangkat.

Hal ini memungkinkan server memiliki sesi yang terikat dengan aman ke perangkat. Browser memperbarui sesi secara berkala seperti yang diminta oleh server, dengan bukti kepemilikan kunci pribadi.

Izin terpisah untuk Akses Jaringan Lokal

Hal ini merupakan peningkatan pada batasan Akses Jaringan Lokal (LNA), di mana kami memisahkan izin yang diperlukan dari satu izin Akses Jaringan Lokal, menjadi dua izin terpisah.

Izin lama: local-network-access

Izin Baru:

  • local-network: untuk permintaan LNA ke IP di ruang alamat lokal.
  • loopback-network: untuk permintaan LNA ke IP di ruang alamat loopback.

Izin lama disimpan sebagai alias dan akan terus berfungsi untuk permissions.query dan Kebijakan Izin. Kebijakan perusahaan saat ini akan terus berfungsi sama; kebijakan perusahaan yang lebih baru dan lebih terperinci akan ditambahkan di lain waktu.

Origin API

Origin adalah komponen mendasar dari penerapan web, yang penting untuk batas keamanan dan privasi yang dipertahankan oleh agen pengguna. Konsep ini didefinisikan dengan baik antara HTML dan URL, beserta konsep berdekatan yang banyak digunakan seperti situs.

Namun, origin tidak diekspos secara langsung kepada developer web. Meskipun ada berbagai pengambil asal pada berbagai objek, setiap pengambil tersebut menampilkan serialisasi ASCII dari asal, bukan asal itu sendiri. Hal ini memiliki beberapa implikasi negatif. Secara praktis, developer yang mencoba melakukan perbandingan origin yang sama atau situs yang sama saat menangani origin yang diserialisasi sering kali melakukan kesalahan yang menyebabkan kerentanan. Secara filosofis, sepertinya ada primitif keamanan yang hilang dan sulit di-polyfill secara akurat oleh developer.

Origin API mengatasi kesenjangan ini di platform dengan memperkenalkan objek origin yang merangkum konsep asal, dan menyediakan metode yang berguna untuk perbandingan, serialisasi, dan parsing.

Sanitizer API

Sanitizer API memberikan cara bagi developer untuk menghapus konten yang dapat menjalankan skrip dari konten HTML arbitrer yang disediakan pengguna. Tujuannya adalah mempermudah pembuatan aplikasi web bebas XSS.

Penyelarasan spesifikasi Trusted Types

Trusted Types awalnya diterapkan dan diluncurkan di Chrome pada tahun 2019.

Spesifikasi Trusted Type kini diterapkan di browser lain. Sebagai bagian dari proses tersebut, berbagai inkonsistensi diidentifikasi dan diperbaiki dalam spesifikasi. Rilis ini memperbaiki masalah tersebut di Chrome agar sesuai dengan spesifikasi baru.

Uji coba origin baru

Di Chrome 145, Anda dapat memilih untuk mengikuti uji coba origin baru berikut.

WebAudio: Kuantum render yang dapat dikonfigurasi

AudioContext dan OfflineAudioContext kini menggunakan renderSizeHint opsional, yang memungkinkan pengguna meminta ukuran kuantum render tertentu saat bilangan bulat diteruskan, menggunakan default 128 frame jika tidak ada atau default yang diteruskan, atau meminta Agen Pengguna memilih ukuran kuantum render yang baik jika hardware ditentukan.

Penghentian penggunaan dan penghapusan

Versi Chrome ini memperkenalkan penghentian penggunaan dan penghapusan berikut. Buka ChromeStatus.com untuk melihat daftar penghentian penggunaan yang direncanakan, penghentian penggunaan saat ini, dan penghapusan sebelumnya.

Chrome menghapus dukungan untuk kamera virtual yang sudah tidak digunakan lagi di macOS

Mulai Chrome 145, dukungan untuk kamera virtual yang sudah tidak digunakan dihapus untuk semua rilis macOS yang didukungnya.

Di macOS, kamera virtual modern dibuat menggunakan framework Core Media IO, yang telah tersedia sejak macOS 12.3. Apple telah melakukan sosialisasi, dan semua software kamera virtual modern telah dimigrasikan untuk menggunakan framework Core Media IO ini.

Kamera virtual yang sudah usang, yang dibuat sebagai plugin DAL, telah diblokir oleh macOS sendiri mulai dengan macOS 14.1 (2023), dan tidak didukung di Safari sejak 2018, jika tidak lebih awal.

Menghapus Ekstensi BMP untuk Menyematkan JPEG atau PNG dalam BMP

Chrome menghapus ekstensi BMP untuk menyematkan JPEG-atau-PNG-dalam-BMP karena tidak ada browser lain yang mendukung ekstensi ini, dan ekstensi ini tidak digunakan (seperti yang tercatat menggunakan data UMA).

String Agen Pengguna yang dikurangi secara default

Mulai Chrome 145, kebijakan UserAgentReduction akan dihapus sepenuhnya. Kebijakan ini sebelumnya tersedia untuk mengontrol apakah Chrome mengirim string Agen Pengguna yang dikurangi atau lengkap.

Untuk meningkatkan privasi pengguna dan mengurangi kemampuan pelacakan pasif, Chrome mulai mengurangi informasi yang terdapat di header Agen Pengguna secara default di Chrome versi 110. Kebijakan UserAgentReduction disediakan sebagai tindakan sementara bagi perusahaan untuk mengelola transisi ini.

Mekanisme yang direkomendasikan bagi situs untuk mengakses informasi browser dan perangkat kini adalah Petunjuk Klien Agen Pengguna (UA-CH). UA-CH mewajibkan situs untuk secara aktif meminta informasi tertentu, yang merupakan pendekatan yang lebih menjaga privasi daripada string Agen Pengguna lama.

Mulai Chrome 145 dan seterusnya, kebijakan UserAgentReduction tidak akan berpengaruh. Chrome akan mengirimkan string Agen Pengguna yang dikurangi secara default. Sistem atau aplikasi yang mengandalkan kebijakan ini untuk menerima string User-Agent lengkap (lama) mungkin tidak lagi menerima informasi mendetail yang mereka harapkan.