Dipublikasikan: 28 Mei 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 138 masih dalam versi beta pada 28 Mei 2025. Anda dapat mendownload versi terbaru di Google.com untuk desktop atau di Google Play Store di Android.
CSS dan UI
Rilis ini menambahkan enam fitur CSS dan UI baru.
Kata kunci ukuran stretch CSS
Kata kunci untuk properti ukuran CSS (misalnya, width, dan height) yang
memungkinkan elemen bertambah untuk mengisi ruang yang tersedia di blok penampungnya
secara persis. Fungsinya mirip dengan 100%, kecuali ukuran yang dihasilkan diterapkan ke
kotak margin elemen, bukan kotak yang ditunjukkan oleh box-sizing. Dengan menggunakan kata kunci ini, elemen dapat mempertahankan marginnya sekaligus tetap berukuran sebesar mungkin.
Fungsi terkait tanda CSS: abs(), sign()
Fungsi terkait tanda abs() dan sign() menghitung berbagai fungsi yang terkait dengan tanda argumennya.
Variabel env CSS untuk skala font tingkat OS
Mengekspos skala font pilihan pengguna ke CSS. Saat ini, tidak praktis bagi halaman untuk mendeteksi apakah pengguna telah mengubah ukuran font pilihannya dengan preferensi Sistem Operasi. Variabel lingkungan CSS ini akan mencerminkan skala yang dipilih oleh pengguna.
CSS sibling-index() dan sibling-count()
Fungsi sibling-index() dan sibling-count() dapat digunakan sebagai bilangan bulat dalam
nilai properti CSS untuk menata gaya elemen berdasarkan posisinya di antara
saudaranya, atau jumlah total saudaranya. Fungsi ini dapat digunakan langsung sebagai nilai bilangan bulat, tetapi lebih menarik lagi di dalam ekspresi calc().
li {
animation-delay: calc(0.1s * sibling-index());
}
Notasi fungsional progres interpolasi: Fungsi CSS progress()
Notasi fungsional progress() adalah fungsi matematika yang menampilkan nilai
<number> yang merepresentasikan posisi satu penghitungan (nilai progres)
di antara dua penghitungan lainnya (nilai awal progres dan nilai akhir
progres).
Viewport Segments Enumeration API
Viewport Segments API memungkinkan developer menyesuaikan tata letak web mereka untuk menargetkan perangkat foldable. Segmen area tampilan menentukan posisi dan dimensi wilayah area tampilan yang terpisah secara logis. Segmen area pandang dibuat saat area pandang dibagi oleh satu atau beberapa fitur hardware (seperti lipatan atau engsel di antara layar terpisah) yang berfungsi sebagai pemisah; segmen adalah wilayah area pandang yang dapat diperlakukan sebagai berbeda secara logis oleh developer.
Web API
Menambahkan dukungan untuk metadata orientasi frame video ke WebCodecs
Memperkenalkan nilai rotation: int dan flip: bool ke berbagai antarmuka terkait video di WebCodecs sehingga developer dapat bekerja dengan sumber frame yang memiliki orientasi (misalnya, kamera Android, dan media tertentu). Antarmuka VideoFrame
meningkatkan kemampuan untuk membuat VideoFrame dengan rotasi dan
pembalikan arbitrer serta pengakses untuk informasi ini pada objek VideoFrame. Objek
VideoDecoderConfig mendapatkan kolom rotation dan flip yang dipancarkan
pada objek VideoFrame yang didekode secara otomatis. Class VideoEncoder mendapatkan mekanisme untuk meneruskan informasi rotasi dan pembalikan dari encode() ke VideoDecoderConfig yang ditampilkan sebagai bagian dari EncodedVideoChunkMetadata. Jika
encode() dipanggil dengan frame yang memiliki orientasi berbeda, pengecualian
tidak fatal akan ditampilkan. Metode configure() dapat digunakan untuk mereset
orientasi yang diizinkan.
Crash Reporting API: is_top_level dan visibility_state
Fitur ini menambahkan kolom string is_top_level dan visibility_state ke isi API pelaporan error yang dikirim ke endpoint pelaporan default untuk laporan error.
Meloloskan diri dari < dan > dalam atribut saat serialisasi
Meloloskan < dan > dalam nilai atribut saat serialisasi. Hal ini mengurangi risiko serangan XSS mutasi, yang terjadi saat nilai atribut ditafsirkan sebagai token tag awal setelah diserialisasi dan diuraikan ulang.
Kebijakan Integritas untuk skrip
Subresource-Integrity (SRI) memungkinkan developer memastikan bahwa aset yang ingin mereka muat memang aset yang mereka muat. Namun, saat ini tidak ada cara bagi developer untuk memastikan bahwa semua skrip mereka divalidasi menggunakan SRI.
Header Integrity-Policy memberi developer kemampuan untuk menegaskan bahwa setiap
resource dari jenis tertentu perlu diperiksa integritasnya. Jika resource jenis tersebut dicoba dimuat tanpa metadata integritas, upaya tersebut akan gagal dan memicu laporan pelanggaran.
Kuota penyimpanan terprediksi yang dilaporkan
Melaporkan kuota penyimpanan terprediksi dari Estimate API StorageManager untuk situs yang tidak memiliki izin penyimpanan tak terbatas. Mode penjelajahan pengguna dapat dideteksi menggunakan kuota penyimpanan yang dilaporkan karena ruang penyimpanan yang tersedia dalam mode Samaran jauh lebih kecil daripada dalam mode standar.
Upaya ini merupakan mitigasi untuk mencegah pendeteksian mode penjelajahan pengguna menggunakan API penyimpanan dengan melaporkan kuota buatan, yang setara dengan penggunaan + min(10 GiB, disk dibulatkan ke 1 GiB terdekat), dalam semua mode penjelajahan untuk situs dengan izin penyimpanan terbatas. Situs dengan izin penyimpanan tak terbatas tidak akan terpengaruh. Kuota yang diterapkan juga tidak akan terpengaruh.
Peristiwa pushsubscriptionchange saat berlangganan kembali
Aktifkan peristiwa pushsubscriptionchange di pekerja layanan saat asal yang langganan push-nya ada di masa lalu, tetapi dicabut karena perubahan izin (dari diizinkan menjadi ditolak/default), diberi kembali izin notifikasi. Peristiwa akan diaktifkan dengan oldSubscription dan
newSubscription kosong.
Aturan spekulasi: Menambahkan prefetchCache dan prerenderCache ke header Clear-Site-Data
Dua nilai baru untuk header Clear-Site-Data guna membantu developer menargetkan penghapusan cache pra-render dan pengambilan data: prefetchCache dan prerenderCache.
Ini dapat dikirim pada permintaan apa pun dan tidak perlu dilakukan pada permintaan
dokumen (misalnya, dapat ditampilkan pada respons panggilan API tambah ke keranjang, atau login dan logout untuk menghapus spekulasi tentang perubahan status).
Aturan spekulasi: kolom target_hint
Hal ini memperluas sintaksis aturan spekulasi untuk memungkinkan developer menentukan kolom
target_hint. Kolom ini memberikan petunjuk untuk menunjukkan target yang dapat dijelajahi
tempat halaman yang dipra-render akan diaktifkan. Jika _blank ditentukan sebagai petunjuk, halaman pra-render dapat diaktifkan untuk halaman yang dapat dijelajahi yang dibuka oleh window.open(). Kolom tidak didukung untuk pengambilan data sebelumnya.
Kebijakan Origin yang Sama yang Ketat untuk Storage Access API
Menyesuaikan semantik Storage Access API agar mengikuti secara ketat Kebijakan Origin yang Sama, terkait keamanan. Artinya, penggunaan
document.requestStorageAccess() dalam frame hanya akan melampirkan cookie pada permintaan
yang ditujukan ke origin iframe (bukan situs) secara default.
Summarizer API
API JavaScript untuk menghasilkan ringkasan teks input, yang didukung oleh model bahasa AI. Browser dan sistem operasi makin diharapkan mendapatkan akses
ke model bahasa. Dengan mengekspos model bawaan ini, setiap situs tidak perlu lagi mendownload model bahasa multi-gigabyte mereka sendiri, atau mengirim teks input ke API pihak ketiga. Summarizer API secara khusus mengekspos API tingkat tinggi untuk berinteraksi dengan model bahasa guna meringkas input untuk berbagai kasus penggunaan tanpa bergantung pada model bahasa tertentu. Kebijakan Enterprise (GenAILocalFoundationalModelSettings) tersedia untuk menonaktifkan download model dasar yang akan membuat API ini tidak tersedia.
Pelajari lebih lanjut di Membuat ringkasan singkat dengan AI bawaan.
Language Detector API
API JavaScript untuk mendeteksi bahasa yang digunakan dalam teks tertentu, dengan tingkat keyakinan. Suplemen penting untuk terjemahan adalah deteksi bahasa dan dapat digunakan bersama dengan Translator API. Misalnya, ambil input pengguna dalam bahasa yang tidak dikenal, tentukan bahasanya, lalu terjemahkan ke dalam bahasa target tertentu. Meskipun Browser sering kali sudah memiliki kemampuan deteksi bahasa, API ini menawarkan kemampuan yang sama kepada developer web dengan API JavaScript, sebagai pelengkap API terjemahan.
Kebijakan Enterprise (GenAILocalFoundationalModelSettings) tersedia untuk menonaktifkan download model dasar, yang akan membuat API ini tidak tersedia.
Pelajari lebih lanjut di Mendeteksi bahasa yang digunakan dengan AI bawaan.
Translator API
API JavaScript untuk menyediakan kemampuan penerjemahan bahasa ke halaman web.
Meskipun browser makin sering menawarkan penerjemahan bahasa kepada penggunanya, kemampuan penerjemahan tersebut juga dapat berguna bagi developer web. Hal ini terutama berlaku ketika kemampuan terjemahan bawaan browser tidak dapat membantu, seperti pada layanan live dan interaktif. Kebijakan Enterprise
(GenAILocalFoundationalModelSettings) tersedia untuk menonaktifkan download model dasar yang akan membuat API ini tidak tersedia.
Pelajari lebih lanjut di Terjemahan dengan AI bawaan.
Ekstensi cakupan aplikasi web
Menambahkan kolom manifes aplikasi web "scope_extensions" yang memungkinkan aplikasi web memperluas cakupannya ke asal 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.
Serial web melalui Bluetooth di Android
Fitur ini memungkinkan halaman web dan aplikasi web terhubung ke port serial melalui Bluetooth di perangkat Android. Chrome di Android
kini mendukung Web Serial API melalui RFCOMM Bluetooth. Kebijakan Enterprise yang ada
(DefaultSerialGuardSetting, SerialAllowAllPortsForUrls,
SerialAllowUsbDevicesForUrls, SerialAskForUrls, dan SerialBlockedForUrls)
di platform lain diaktifkan dalam status future_on untuk Android. Semua kebijakan kecuali SerialAllowUsbDevicesForUrls akan diaktifkan setelah fitur ini diaktifkan. SerialAllowUsbDevicesForUrls akan diaktifkan pada peluncuran mendatang setelah
Android menyediakan dukungan tingkat sistem untuk port serial berkabel.
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.
Rilis Chrome ini menghentikan penggunaan dua fitur.
Menghentikan penghapusan rentang asinkron untuk Ekstensi Sumber Media
Standar Sumber Media sejak lama telah diubah untuk melarang perilaku yang ditentukan secara ambigu yang melibatkan penghapusan rentang asinkron:
SourceBuffer.abort()tidak lagi membatalkan operasiSourceBuffer.remove().- Setelan
MediaSource.durationtidak lagi dapat memangkas media yang saat ini di-buffer.
Pengecualian kini akan ditampilkan dalam kedua kasus ini.
Menghapus penggantian SwiftShader
Izin penggantian otomatis ke WebGL yang didukung oleh perender software SwiftShader tidak digunakan lagi dan pembuatan konteks WebGL akan gagal, bukan dikembalikan ke SwiftShader. Hal ini dilakukan karena dua alasan utama:
- SwiftShader merupakan risiko keamanan yang tinggi karena kode JIT yang berjalan dalam proses GPU Chromium.
- Pengguna memiliki pengalaman buruk saat beralih dari WebGL yang didukung GPU berperforma tinggi ke penerapan yang didukung CPU. Pengguna tidak memiliki kontrol atas perilaku ini dan sulit menjelaskannya dalam laporan bug.
Selama periode penghentian penggunaan, peringatan akan muncul di konsol Chrome DevTools saat konteks WebGL dibuat dan didukung dengan SwiftShader. Meneruskan
--enable-unsafe-swiftshader akan menghapus pesan peringatan ini.