Google telah merilis Chrome 105, peramban web gratis. Rilis stabil dari proyek Chromium sumber terbuka, fondasi Chrome, juga tersedia. Chrome berbeda dari Chromium dalam hal penggunaan logo Google, sistem notifikasi kerusakan, modul untuk memutar konten video yang dilindungi hak cipta (DRM), instalasi pembaruan otomatis, isolasi sandbox yang selalu aktif, penyediaan kunci Google API, dan penerusan parameter RLZ selama pencarian. Bagi mereka yang membutuhkan lebih banyak waktu untuk memperbarui, cabang Stabil Diperpanjang yang terpisah dipertahankan selama delapan minggu. Rilis berikutnya, Chrome 106, dijadwalkan pada 27 September.
Perubahan penting di Chrome 105:
- Dukungan untuk Aplikasi Chrome khusus telah dihentikan, digantikan oleh aplikasi web mandiri berbasis teknologi Progressive Web Apps (PWA) dan API Web standar. Google awalnya mengumumkan niatnya untuk menghentikan dukungan Aplikasi Chrome pada tahun 2016 dan berencana untuk mengakhiri dukungan pada tahun 2018, tetapi kemudian menunda rencana ini. Di Chrome 105, pengguna yang mencoba memasang Aplikasi Chrome akan melihat peringatan tentang penghentiannya, tetapi aplikasi itu sendiri akan tetap berjalan. Di Chrome 109, kemampuan untuk menjalankan Aplikasi Chrome akan dinonaktifkan.
- Isolasi tambahan telah disediakan untuk proses "renderer", yang bertanggung jawab atas proses rendering. Proses ini sekarang berjalan dalam kontainer tambahan (Kontainer Aplikasi) yang diimplementasikan di atas sistem isolasi sandbox yang sudah ada. Jika kerentanan dalam kode rendering dieksploitasi, pembatasan tambahan ini akan mencegah penyerang mendapatkan akses jaringan dengan menonaktifkan panggilan sistem terkait jaringan.
- Penyimpanan terpadu sertifikat root milik otoritas sertifikasi (Chrome Root Store) telah diimplementasikan. Penyimpanan baru ini belum diaktifkan secara default, dan hingga implementasi selesai, sertifikat akan terus diverifikasi menggunakan penyimpanan khusus untuk setiap sistem operasi. Solusi ini serupa dengan pendekatan Mozilla, yang menyediakan penyimpanan sertifikat root terpisah dan independen untuk Firefox, yang digunakan sebagai tautan pertama dalam rantai kepercayaan sertifikat saat mengakses situs melalui HTTPS.
- Persiapan telah dimulai untuk menghentikan Web SQL API, yang tidak terstandarisasi, jarang digunakan, dan memerlukan pengerjaan ulang agar memenuhi persyaratan keamanan modern. Chrome 105 melarang akses ke Web SQL dari kode yang dimuat tanpa HTTPS, dan peringatan penghentian telah ditambahkan ke DevTools. Web SQL API dijadwalkan akan dihapus pada tahun 2023. Pengganti berbasis WebAssembly akan tersedia bagi pengembang yang membutuhkan fungsionalitas serupa.
- Sinkronisasi Chrome telah menghentikan dukungan untuk sinkronisasi dengan Chrome 73 dan rilis sebelumnya.
- Untuk platform macOS и Windows Penampil sertifikat bawaan telah diaktifkan, menggantikan panggilan antarmuka yang disediakan oleh sistem operasi. Sebelumnya, penampil bawaan hanya digunakan dalam build untuk Linux dan ChromeOS.
- Dalam versi untuk platform Android Menambahkan pengaturan untuk mengelola API "Topik & Grup Minat", yang dipromosikan sebagai bagian dari inisiatif Privacy Sandbox dan memungkinkan identifikasi kategori minat pengguna dan penggunaannya sebagai pengganti cookie pelacakan untuk mengidentifikasi kelompok pengguna dengan minat serupa tanpa mengidentifikasi pengguna individual. Pengaturan serupa telah ditambahkan ke versi rilis sebelumnya. Linux, ChromeOS, macOS и Windows.
- Saat Anda mengaktifkan perlindungan browser yang ditingkatkan (Penjelajahan Aman > Perlindungan yang ditingkatkan), telemetri akan dikumpulkan terkait add-on yang terpasang, akses API, dan koneksi ke situs web eksternal. Data ini digunakan di server Google untuk mendeteksi aktivitas berbahaya dan pelanggaran kebijakan oleh add-on browser.
- Kemampuan untuk menggunakan karakter non-ASCII di domain yang ditentukan dalam header Cookie (untuk domain IDN, tentukan domain dalam format punycode) telah dihentikan dan akan diblokir di Chrome 106. Perubahan ini akan membuat browser mematuhi RFC 6265bis dan perilaku yang diterapkan di Firefox.
- API Sorotan Kustom dirancang untuk menyesuaikan gaya area teks yang disorot, sehingga menghilangkan gaya tetap browser untuk penyorotan (::selection, ::inactive-selection) dan penyorotan kesalahan sintaksis (::spelling-error, ::grammar-error). Versi awal API mendukung perubahan teks dan warna latar belakang menggunakan pseudo-elemen color dan background-color, tetapi opsi penyesuaian gaya lainnya akan ditambahkan di masa mendatang.
Contoh tugas yang dapat diselesaikan dengan API baru ini antara lain penambahan mekanisme penyorotan teks asli, penyorotan variabel selama pengeditan multi-pengguna simultan, pencarian dalam dokumen virtual, dan penandaan kesalahan ejaan pada kerangka kerja web yang menyediakan alat pengeditan teks. Sebelumnya, pembuatan penyorotan khusus memerlukan manipulasi pohon DOM yang rumit, API Penyorotan Khusus menyediakan operasi siap pakai untuk menambah dan menghapus penyorotan tanpa memengaruhi struktur DOM dan menerapkan gaya yang terikat pada objek Range.
- Query @container telah ditambahkan ke CSS, memungkinkan Anda untuk menata elemen berdasarkan ukuran elemen induknya. Query @container serupa dengan query @media, tetapi berlaku untuk ukuran blok (kontainer) tempat elemen ditempatkan, alih-alih ukuran seluruh area yang terlihat. Hal ini memungkinkan Anda untuk menentukan logika gaya Anda sendiri untuk elemen turunan, di mana pun elemen tersebut ditempatkan di halaman.

- Pseudo-kelas CSS ":has()" telah ditambahkan untuk memeriksa apakah elemen anak terdapat di dalam elemen induknya. Misalnya, "p:has(span)" mencakup elemen-elemen. , yang di dalamnya terdapat elemen .
- API HTML Sanitizer telah ditambahkan, memungkinkan Anda untuk menghapus elemen dari konten yang memengaruhi tampilan dan eksekusi saat dikeluarkan melalui metode setHTML(). API ini dapat berguna untuk membersihkan data eksternal yang masuk guna menghapus tag HTML yang dapat digunakan untuk melakukan serangan XSS.
- Kemampuan untuk menggunakan Streams (ReadableStream) API untuk mengirim permintaan pengambilan sebelum badan respons dimuat telah disediakan, yaitu, Anda dapat mulai mengirim data tanpa menunggu halaman selesai dibuat.
- Untuk aplikasi web mandiri yang terpasang (PWA, Progressive Web App), kemampuan untuk mengubah desain bilah judul jendela kini tersedia menggunakan komponen Window Controls Overlay. Komponen ini memperluas area layar aplikasi web hingga menutupi seluruh jendela, sehingga aplikasi web tampak seperti aplikasi desktop standar. Aplikasi web dapat mengontrol rendering dan penanganan input untuk seluruh jendela, kecuali blok overlay yang berisi tombol kontrol jendela standar (tutup, minimalkan, dan maksimalkan).

- Kemampuan untuk mengakses Ekstensi Sumber Media dari pekerja khusus (dalam konteks DedicatedWorker) telah distabilkan, yang dapat digunakan, misalnya, untuk meningkatkan kinerja pemutaran media yang di-buffer dengan membuat objek MediaSource dalam pekerja terpisah dan menyiarkan hasilnya ke HTMLMediaElement di utas utama.
- Dalam API Client Hints, yang sedang dikembangkan untuk menggantikan header User-Agent dan memungkinkan pengembalian data secara selektif tentang parameter browser dan sistem tertentu (versi, platform, dll.) hanya setelah permintaan. server, menambahkan dukungan untuk properti Sec-CH-Viewport-Heigh, yang memungkinkan Anda memperoleh informasi tentang tinggi viewport. Format markup untuk menentukan parameter Client Hints di tag "meta" untuk sumber daya eksternal telah diubah: Sebelumnya: Jadi, hasilnya adalah:
- Menambahkan kemampuan untuk membuat pengendali peristiwa onbeforeinput global (document.documentElement.onbeforeinput), yang dapat digunakan aplikasi web untuk mengesampingkan perilaku saat mengedit teks dalam blok. , dan elemen lain dengan atribut "contenteditable" yang ditetapkan, pada tahap sebelum browser mengubah konten elemen dan pohon DOM.
- API Navigasi telah memperluas kemampuannya, memungkinkan aplikasi web untuk mencegat operasi navigasi jendela, memulai transisi, dan menganalisis riwayat aplikasi. Metode baru, intercept() untuk mencegat transisi, dan scroll() untuk menggulir ke posisi tertentu, telah ditambahkan.
- Menambahkan metode statis Response.json(), yang memungkinkan Anda membuat badan respons berdasarkan data JSON.
- Peningkatan telah dilakukan pada alat pengembang web. Di debugger, pengeditan tumpukan fungsi teratas saat breakpoint dipicu kini dimungkinkan tanpa mengganggu sesi debug. Panel Perekam, yang memungkinkan perekaman, pemutaran, dan analisis tindakan pengguna di halaman, kini mendukung breakpoint, pemutaran satu langkah, dan perekaman peristiwa mouseover.
Metrik LCP (Largest Contentful Paint) telah ditambahkan ke panel analisis performa untuk mengidentifikasi penundaan saat merender elemen besar (yang terlihat oleh pengguna) di area pandang, seperti gambar, video, dan elemen blok. Panel Elemen kini menampilkan overlay yang ditampilkan di atas konten lain dengan ikon khusus. Untuk WebAssembly, kemampuan untuk mengunduh data debug dalam format DWARF telah diimplementasikan.
Selain fitur baru dan perbaikan bug, versi terbaru ini juga mengatasi 24 kerentanan. Banyak kerentanan yang teridentifikasi melalui pengujian otomatis menggunakan AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer, dan AFL. Tidak ditemukan masalah kritis yang memungkinkan pengguna melewati semua lapisan perlindungan browser dan mengeksekusi kode dalam sistem di luar lingkungan sandbox. Sebagai bagian dari program hadiah kerentanan untuk rilis terbaru, Google telah memberikan 21 hadiah dengan total $60500 (satu hadiah $10000, satu hadiah $9000, satu hadiah $7500, satu hadiah $7000, dua hadiah $5000, empat hadiah $3000, dua hadiah $2000, dan satu hadiah $1000). Nilai dari tujuh hadiah tersebut belum ditentukan.
Sumber: opennet.ru


