Chrome 139 beta

Dipublikasikan: 25 Juni 2025

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 139 masih dalam versi beta pada 25 Juni 2025. Anda dapat mendownload versi terbaru di Google.com untuk desktop atau di Google Play Store di Android.

CSS

Rilis ini menambahkan enam fitur CSS dan UI baru.

Membuat var() dan attr() menjadi tidak berfungsi

Jika penggantian tidak dilakukan, fungsi var() dan attr() akan dievaluasi tanpa mencari siklus dalam penggantian tersebut. CSS berikut berfungsi karena --green dan --blue ada.

--green: green;
--blue: blue;
--a: var(--green, var(--b));
--b: var(--blue, var(--a));

Properti caret-animation CSS

Chrome sudah mendukung animasi properti caret-color, tetapi saat dianimasikan, perilaku berkedip default kursor mengganggu animasi. Properti CSS caret-animation memiliki dua kemungkinan nilai: auto dan manual, dengan auto berarti default browser (berkedip) dan manual berarti developer web mengontrol animasi penanda. Properti ini juga memungkinkan pengguna menonaktifkan kedipan menggunakan stylesheet pengguna.

Pembentukan sudut

Aktifkan sudut gaya, di atas border-radius yang ada, dengan menentukan bentuk atau kelengkungan sudut. Dengan fitur ini, Anda dapat membuat bentuk seperti squircle, takik, dan scoop, serta membuat animasinya. Pelajari lebih lanjut di postingan ini dari Amit Sheen.

Terus jalankan transisi saat beralih ke nilai transisi awal.

Saat properti terkait transisi berubah, properti tersebut hanya akan memengaruhi transisi yang baru dimulai. Artinya, jika Anda mengubah properti transisi, kecuali jika Anda juga mengubah properti yang memiliki animasi transisi aktif, animasi transisi tersebut akan berlanjut dengan durasi, easing, dll. yang ditentukan sebelumnya. Blink salah membatalkan transisi saat properti transisi disetel ke "none", meskipun tidak membatalkannya jika Anda hanya mengubah transition-duration. Dengan fitur ini, kedipan akan konsisten dengan webkit dan gecko, sehingga memungkinkan transisi aktif terus berjalan, kecuali atau hingga nilai propertinya berubah yang memicu pembaruan transisi baru.

Fungsi Kustom CSS

Fungsi Kustom mirip dengan properti kustom, tetapi alih-alih menampilkan satu nilai tetap, fungsi ini menampilkan nilai berdasarkan properti kustom, parameter, dan kondisi lainnya.

@function --negate(--value) {
result: calc(var(--value) * -1);
}

div {
--gap: 1em;
margin-top: --negate(var(--gap));
}

Mendukung width dan height sebagai atribut presentasi pada elemen <svg> bertingkat

Mendukung penerapan width dan height sebagai atribut presentasi pada elemen <svg> bertingkat melalui markup SVG dan CSS. Pendekatan ganda ini memberikan fleksibilitas yang lebih besar, sehingga Anda dapat mengelola dan menata elemen SVG secara lebih efisien dalam desain yang kompleks.

Web API

Manifes Aplikasi Web: tentukan kelayakan update, URL ikon adalah Cache-Control: immutable

Tentukan algoritma kelayakan update dalam spesifikasi manifes. Hal ini membuat proses update lebih deterministik dan dapat diprediksi, sehingga memberi developer lebih banyak kontrol atas apakah (dan kapan) update harus diterapkan ke penginstalan yang ada, dan memungkinkan penghapusan 'pembatasan pemeriksaan update' yang saat ini perlu diterapkan oleh agen pengguna untuk menghindari pemborosan resource jaringan.

Peningkatan Performa Penginderaan Kedalaman WebXR

Mengekspos beberapa mekanisme baru untuk menyesuaikan perilaku fitur penginderaan kedalaman dalam sesi WebXR, dengan tujuan meningkatkan performa pembuatan atau penggunaan buffer kedalaman. Mekanisme utama yang diekspos adalah: kemampuan untuk meminta buffer kedalaman mentah atau yang dihaluskan, kemampuan untuk meminta agar runtime berhenti atau melanjutkan penyediaan buffer kedalaman, dan kemampuan untuk mengekspos buffer kedalaman yang tidak selaras dengan tampilan pengguna secara persis, sehingga agen pengguna tidak perlu melakukan proyeksi ulang yang tidak perlu setiap frame.

Mengizinkan lebih banyak karakter di JavaScript DOM API

Parser HTML selalu (atau untuk waktu yang lama) mengizinkan elemen dan atribut memiliki berbagai karakter dan nama yang valid, tetapi API DOM JavaScript yang membuat elemen dan atribut yang sama lebih ketat dan tidak cocok dengan parser. Perubahan ini melonggarkan validasi JavaScript DOM API agar sesuai dengan parser HTML.

Perintah pemanggil request-close

Elemen dialog dapat ditutup melalui berbagai mekanisme, terkadang developer ingin memiliki kemampuan untuk mencegah penutupan. Untuk mencapai dialog ini, batalkan acara. Awalnya, peristiwa ini hanya dipicu melalui permintaan penutupan (misalnya, penekanan tombol Esc), baru-baru ini fungsi JS requestClose() ditambahkan yang juga memicu peristiwa pembatalan. Perintah request-close menghadirkan kemampuan baru tersebut ke API perintah pemanggil deklaratif.

WebGPU: Dukungan tekstur 3D untuk format terkompresi BC dan ASTC

Fitur WebGPU texture-compression-bc-sliced-3d dan texture-compression-astc-sliced-3d masing-masing menambahkan dukungan tekstur 3D untuk format yang dikompresi BC dan ASTC.

Konfirmasi Pembayaran Aman: Kunci Terikat Browser

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

Konfirmasi Pembayaran Aman: Pembaruan UX

Memperbarui elemen UX untuk dialog SPC di Chrome Android. Selain presentasi UX, hal berikut ditambahkan:

  • Memungkinkan penjual memberikan daftar logo entitas pembayaran opsional yang terkait dengan pembayaran yang akan ditampilkan.
  • Mengembalikan status output yang berbeda kepada penjual, bergantung pada apakah pengguna ingin melanjutkan transaksi tanpa SPC atau membatalkan transaksi.
  • Menambahkan kolom label detail pembayaran baru ke alat pembayaran sehingga teks ditampilkan di dua baris.

WebGPU core-features-and-limits

Fitur core-features-and-limits menandakan bahwa adaptor dan perangkat WebGPU mendukung fitur dan batasan inti spesifikasi.

Perbaikan kandidat prioritas penahan scroll

Saat ini, algoritma penambatan scroll memilih kandidat prioritas saat kandidat tersebut tersedia sebagai target penambatan. Kandidat prioritas saat ini adalah elemen yang dapat diedit dan disorot di halaman. Hal ini dapat menyebabkan pengalaman pengguna yang kurang optimal jika ada elemen contenteditable yang berfokus besar yang kontennya berubah di luar layar (kursor akan bergeser sebagai akibatnya). Perbaikan ini mengubah algoritma: alih-alih memilih kandidat prioritas sebagai penanda, gunakan kandidat sebagai cakupan atau root algoritma pemilihan penanda reguler yang memilih elemen terdalam di layar sebagai penanda.

Mendukung atribut async untuk elemen <script> SVG

Antarmuka SVGScriptElement di SVG 2.0 memperkenalkan atribut async, mirip dengan HTMLScriptElement. Atribut ini memungkinkan skrip dieksekusi secara asinkron, sehingga meningkatkan performa dan daya respons aplikasi web yang menggunakan SVG.

Web Speech API di perangkat

Fitur ini menambahkan dukungan pengenalan ucapan di perangkat ke Web Speech API, sehingga situs dapat memastikan bahwa audio maupun ucapan yang ditranskripsikan tidak dikirim ke layanan pihak ketiga untuk diproses. Situs dapat mengkueri ketersediaan pengenalan ucapan di perangkat untuk bahasa tertentu, meminta pengguna menginstal resource yang diperlukan untuk pengenalan ucapan di perangkat, dan memilih antara pengenalan ucapan di perangkat atau berbasis cloud sesuai kebutuhan.

Hapus window.name untuk navigasi lintas situs yang mengganti grup konteks penjelajahan

Nilai properti window.name saat ini dipertahankan selama masa aktif tab, bahkan dengan navigasi yang mengalihkan grup konteks penjelajahan, yang dapat membocorkan informasi dan berpotensi digunakan sebagai vektor pelacakan. Menghapus properti window.name akan mengatasi masalah ini. Perubahan ini seharusnya berisiko rendah karena mencari konteks penjelajahan berdasarkan nama sudah tidak berfungsi jika konteks tersebut berada dalam grup konteks penjelajahan lain, sehingga nama tersebut sebenarnya tidak berguna.

Kebijakan Enterprise: ClearWindowNameCrossSiteBrowsing (akan berhenti berfungsi di Chrome 142).

Ekstensi cakupan aplikasi web

Menambahkan kolom manifes aplikasi web "scope_extensions" yang memungkinkan aplikasi web memperluas cakupannya ke origin lain.

Hal ini memungkinkan situs yang mengontrol beberapa subdomain dan domain tingkat teratas ditampilkan sebagai satu aplikasi web. Memerlukan asal yang tercantum untuk mengonfirmasi pengaitan dengan aplikasi web menggunakan file konfigurasi .well-known/web-app-origin-association.

Deteksi jenis MIME JSON yang sesuai dengan spesifikasi

Chromium kini mengenali semua jenis MIME JSON yang valid sebagaimana ditentukan oleh spesifikasi mimesniff WHATWG. Ini mencakup jenis MIME apa pun yang subjenisnya diakhiri dengan +json, selain application/json dan text/json tradisional. Perubahan ini memastikan bahwa API dan fitur web yang mengandalkan deteksi JSON berperilaku secara konsisten dengan standar platform web dan browser lainnya. Motivasi utama untuk perubahan ini adalah memperbaiki perilaku impor modul JSON, yang sebelumnya valid Jenis MIME JSON seperti text/html+json dan image/svg+json akan gagal dimuat sebagai modul.

Private Aggregation API: pelaporan error gabungan

Ada berbagai kondisi error yang dapat terjadi saat menggunakan Private Aggregation API. Misalnya, anggaran privasi dapat habis, sehingga mencegah kontribusi histogram lebih lanjut. Fitur ini memungkinkan developer mendaftarkan kontribusi histogram yang hanya boleh dikirim jika terjadi jenis error tertentu. Fitur ini mendukung pengukuran frekuensi kondisi error dan membagi pengukuran ini berdasarkan dimensi yang relevan yang ditentukan developer (misalnya, versi kode yang di-deploy). Karena error itu sendiri mungkin merupakan informasi lintas situs, kami tidak dapat menampilkannya begitu saja ke halaman untuk pengguna tanpa cookie pihak ketiga. Sebaliknya, fitur ini menggunakan kembali pipeline pelaporan gabungan yang sudah ada dan diberi derau melalui Layanan Agregasi.

Crash Reporting API: Tentukan pelaporan error untuk menerima hanya laporan error

Fitur ini memastikan developer hanya menerima laporan error dengan menentukan endpoint bernama crash-reporting. Secara default, laporan error dikirimkan ke endpoint default yang menerima banyak jenis laporan selain laporan error. Developer dapat menyediakan URL terpisah ke endpoint terkenal bernama crash-reporting, untuk mengarahkan laporan error ke sana, bukan ke endpoint default.

Mengurangi pembuatan sidik jari dalam informasi header Accept-Language

Mengurangi jumlah informasi yang diekspos oleh string nilai header Accept-Language dalam permintaan HTTP dan di navigator.languages. Daripada mengirim daftar lengkap bahasa pilihan pengguna di setiap permintaan HTTP dengan header Accept-Language. Sekarang kami mengirimkan bahasa pilihan utama pengguna di header Accept-Language. Untuk meminimalkan risiko kompatibilitas, peluncuran awal mengurangi informasi di header HTTP, dan kami akan mengurangi pengambil JavaScript navigator.languages terkait pada masa mendatang.

Mengaktifkan peristiwa error, bukan menampilkan pengecualian untuk worker yang diblokir CSP

Saat diblokir oleh Kebijakan Keamanan Konten (CSP), Chrome saat ini menampilkan SecurityError dari konstruktor Worker dan SharedWorker. Spesifikasi memerlukan CSP untuk diperiksa sebagai bagian dari pengambilan dan memicu peristiwa error secara asinkron, bukan menampilkan pengecualian saat skrip menjalankan new Worker(url) atau new SharedWorker(url). Perubahan ini membuat Chrome sesuai dengan spesifikasi: tidak menampilkan pengecualian selama konstruktor dan memicu peristiwa error secara asinkron.

Level Audio untuk Frame yang Dikodekan RTC

Mengekspos ke web tingkat audio frame yang dienkode yang ditransmisikan dengan RTCPeerConnection dan diekspos menggunakan WebRTC Encoded Transform.

Uji coba origin baru

Di Chrome 139, Anda dapat memilih untuk ikut serta dalam uji coba origin baru berikut.

Prompt API

Prompt API dirancang untuk berinteraksi dengan model bahasa AI menggunakan input teks, gambar, dan audio. Model ini mendukung berbagai kasus penggunaan, mulai dari membuat teks gambar dan melakukan penelusuran visual hingga mentranskripsikan audio, mengklasifikasikan peristiwa suara, membuat teks yang mengikuti petunjuk tertentu, dan mengekstrak informasi atau insight dari teks. Alat ini mendukung output terstruktur yang memastikan bahwa respons mematuhi format yang telah ditentukan sebelumnya, biasanya dinyatakan sebagai skema JSON, untuk meningkatkan kesesuaian respons dan memfasilitasi integrasi yang lancar dengan aplikasi hilir yang memerlukan format output standar. API ini juga diekspos di Ekstensi Chrome. Uji coba origin ini ditujukan untuk eksposur di web.

Atribut pemblokiran rendering kecepatan frame penuh

Kami mengusulkan untuk menambahkan token pemblokiran rendering baru dengan kecepatan frame penuh ke atribut pemblokiran. Jika perender diblokir dengan token kecepatan frame penuh, perender akan bekerja pada kecepatan frame yang lebih rendah sehingga dapat mencadangkan lebih banyak resource untuk pemuatan.

Mode Kompatibilitas WebGPU

Menambahkan subset API WebGPU yang bersifat opsional dan sedikit dibatasi yang mampu menjalankan API grafis lama seperti OpenGL dan Direct3D11. Dengan memilih untuk menggunakan mode ini dan mematuhi batasannya, developer dapat memperluas jangkauan aplikasi WebGPU mereka ke banyak perangkat lama yang tidak memiliki API grafis modern dan eksplisit yang diperlukan WebGPU inti. Untuk aplikasi sederhana, satu-satunya perubahan yang diperlukan adalah menentukan "compatibility" featureLevel saat memanggil requestAdapter. Untuk aplikasi yang lebih canggih, beberapa modifikasi mungkin diperlukan untuk mengakomodasi batasan mode. Karena Mode kompatibilitas adalah subset, aplikasi yang dihasilkan juga merupakan aplikasi WebGPU Core yang valid dan akan berjalan bahkan di agen pengguna yang tidak mendukung Mode kompatibilitas.

Penghentian penggunaan dan penghapusan

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

Rilis Chrome ini menghapus dua fitur.

Menghapus dukungan untuk macOS 11

Chrome 138 adalah rilis terakhir yang mendukung macOS 11. Mulai Chrome 139, macOS 11 tidak didukung karena sudah berada di luar periode dukungan dengan Apple. Menjalankan sistem operasi yang didukung sangat penting untuk menjaga keamanan. Di Mac yang menjalankan macOS 11, Chrome akan terus berfungsi dan menampilkan kolom info peringatan, tetapi tidak akan mendapatkan pembaruan lagi. Jika ingin mengupdate Chrome, pengguna harus mengupdate komputernya ke versi macOS yang didukung. Untuk penginstalan baru Chrome 139 dan yang lebih baru, diperlukan macOS 12 atau yang lebih baru.

Menghapus deteksi otomatis charset ISO-2022-JP di HTML

Ada masalah keamanan yang diketahui terkait deteksi otomatis set karakter untuk ISO-2022-JP. Mengingat penggunaannya sangat rendah, dan Safari tidak mendukung deteksi otomatis ISO-2022-JP, Chrome menghapus dukungan untuknya guna menghilangkan masalah keamanan.