Aksi belirtilmediği sürece aşağıdaki değişiklikler Android, ChromeOS, Linux, macOS ve Windows'un en yeni Chrome beta kanalı sürümünde geçerli olacaktır. Sağlanan bağlantıları kullanarak veya ChromeStatus.com'daki listeden, burada listelenen özellikler hakkında daha fazla bilgi edinebilirsiniz. Chrome 121, 6 Aralık 2023 itibarıyla beta sürümündedir. Masaüstü için Google.com'dan veya Android için Google Play Store'dan en son uygulamaları indirebilirsiniz.
CSS
Bu sürümde altı yeni CSS özelliği eklendi.
CSS Vurgulama Devralma
CSS Vurgulama Devralma özelliği kullanıldığında ::selection
ve ::highlight
gibi CSS Vurgulama sözde sınıfları, özelliklerini öğe zinciri yerine sözde vurgulama zincirinden devralır. Sonuç olarak, öne çıkan özelliklerdeki özelliklerin devralınması için daha sezgisel bir model elde edilir.
Bu işlem, CSS Sözde Düzey 4 spesifikasyonundaki gereksinimi uygular:
"Desteklenen herhangi bir özelliğe basamakla bir değer verilmediğinde ... belirtilen değer, kaynak öğesinin üst öğesinin karşılık gelen vurgulama sözde öğesinden devralınarak belirlenir."
CSS Kaydırma çubukları: scrollbar-color
ve scrollbar-width
CSS Kaydırma Çubukları spesifikasyonu, geliştiricilerin renklerini ve kalınlıklarını belirterek kaydırma çubuklarının stilini belirlemelerine olanak tanır. Bu spesifikasyon aşağıdaki iki özelliği ekler. scrollbar-color
özelliği, kaydırma çubuklarının renk şemasını web sayfasının belirli stiline daha uygun olacak şekilde değiştirme olanağı sağlar. scrollbar-width
özelliği, bazı kullanım alanları için daha uygun olabilecek daha dar kaydırma çubuklarının kullanılmasına, hatta kaydırılabilirliği etkilemeden kaydırma çubuklarının tamamen gizlenmesine olanak tanır.
Renk yazı tipleri için CSS font-palette
animasyonu
CSS font-palette
özelliği, renk yazı tipi oluşturmak için kullanılan belirli bir paletin seçilmesine olanak tanır. Bu özelliğin animasyonunu oluşturmak için yeni eklenen destekle, paletler arasında geçiş artık ayrı bir adım olmaktan çıkıp seçilen iki palet arasında yumuşak bir geçiş haline gelir. Bu, CSS animasyonlarında ve geçişlerinde her yerde çalışır.
CSS yazım ve dil bilgisi özellikleri
Kullanıcı aracısının yanlış yazılmış veya dil bilgisi hatalı olarak işaretlediği metinleri biçimlendirmek için CSS vurgulama sözde öğeleri ve yazım ve dil bilgisi hatalarına karşı kullanıcı aracısının varsayılan süslemelerini ortaya çıkaran satır süslemeleri. Bu özellikler, geliştiricilerin varsayılan yazım ve dil bilgisi hataları için daha okunaklı renkler seçmesine, arka plan renkleri veya diğer süslemelerle yanlış yazılan kelimeleri vurgulamasına ve cihaz deneyimine uyum sağlayan özel yazım denetimi uygulamasına olanak tanır.
SVG için iyileştirilmiş CSS maskeleme
Bu, Chrome 120'deki iyileştirilmiş CSS maskesi desteğinin devamı niteliğinde olup SVG'ye yeni maske desteğinin eklenmesiyle ilgilidir (birden fazla maske ve mask-mode
, mask-composite
, mask-position
ve mask-repeat
). Ayrıca, uzak SVG maskeleri (örneğin, mask: url(masks.svg#star)
) artık desteklenmektedir.
Ruby'ye özel görüntüleme değerleri
Yeni CSS görüntülü reklam özelliği değerleri (ruby
ve ruby-text
) eklendi. Varsayılan görüntüleme değerleri <ruby>
ve <rt>
, sırasıyla ruby
ve ruby-text
olarak değiştirilir ve yakut düzeninde bu görüntüleme değerleri kullanılır. Web yazarları, yeni görüntüleme değerlerini ayarlayarak yakut oluşturmak için <div>
gibi öğeleri kullanabilir.
Web API'leri
İlişkilendirme Raporlama Özellik Paketi: Azaltılmış Toplu Gecikmeler, Etkinlik Düzeyinde Rapor Epsilon Alanı, Ayrılmış Anahtarlar
Chrome, Attribution Reporting API'de aşağıdaki konularda yapılan değişiklikleri içerir:
- Daha az toplu rapor gecikmelerini destekleyerek iletim kaybını azaltma.
- Etkinlik düzeyinde raporlama epsilon alanını destekleyerek ek API yapılandırılabilirliği.
- Ayrılmış anahtarlarla karşılaşıldığında kayıt başarısız olduğundan API'nin genişletilebilirliği iyileştirildi.
Geri-ileri önbellek notRestoredReason API'sı
notRestoredWhy API, bir sayfanın Performance NavigationTiming API'si kullanılarak bfcache'den sunulmama nedenlerinin listesini bildirir.
Doküman içinde pencere içinde pencere özelliğinde yeniden boyutlandırma API'leri için kullanıcı hareketini zorunlu kıl
Bu, pencere içinde pencere pencerelerinde resizeBy()
ve resizeTo()
yöntemlerini etkinleştirir ancak kötüye kullanım potansiyelini azaltmak için kullanıcı hareketi şartına ilişkin ek kısıtlama getirir.
EditContext API'sı
EditContext API'si, bir web uygulamasını VK şekil yazma, el yazısı panelleri, konuşma tanıma ve IME Besteleri gibi gelişmiş metin giriş yöntemleriyle entegre etme işlemini basitleştirir. Erişilebilirliği ve performansı iyileştirirken web tabanlı düzenleyiciler için yeni özelliklerin kilidini açar.
Desteklenen pano biçimleri için özellik algılama
Artık yeni supports()
işlevini çağırıp MIME türünü ClipboardItem.supports('image/png')
gibi bir bağımsız değişken olarak ileterek Async Clipboard API'nin belirli bir MIME türünü destekleyip desteklemediğini kontrol edebilirsiniz.
HTMLSelectElement showPicker()
HTMLSelectElement'in showPicker()
yöntemi, geliştiricilere input.showPicker()
kalıbını izleyerek bir <select>
öğesinin seçenek seçiciyi programlı bir şekilde açmaları için bir yol sunar.
MediaCapabilities: decodingInfo()
ile HDR desteği sorgulama
Media Capabilities API'yi, üç yeni VideoConfiguration sözlük alanı aracılığıyla HDR oluşturma desteğinin algılanmasına olanak tanıyacak şekilde genişletir: hdrMetadataType, colorGamut, transferFunction.
Chromium kendi ton eşleme algoritmalarını uyguladığından, HDR10 (smpteSt2086) statik meta verileri için her zaman true (doğru) değerini döndürür. smpteSt2094-40 (HDR10+) ve smpteSt2094-10 dinamik meta verileri şu anda desteklenmemektedir; bu nedenle false (yanlış) değerini döndürür.
Private Aggregation API: toplama koordinatörü seçimi
Private Aggregation API'de yapılan bu değişiklik, yük şifrelemesi için hangi koordinatörün kullanılacağını seçmek üzere (tedarikçi firma tarafından belirtilen bir izin verilenler listesinden) bir mekanizma sağlar. Hizmet seçimi, Paylaşılan Depolama run()
ve selectURL()
çağrılarında ve Protected Audience'ın runAdAuction()
ile joinAdInterestGroup()
çağrılarında ek bir seçenekle yapılır. Bu geniş yaklaşım, Attribution Reporting API'nin yaklaşımıyla büyük ölçüde uyumludur.
Masaüstünde Remote Playback API
Bu API, bir web sayfasındaki medyanın uzaktan oynatılmasını kontrol etmeyi sağlayan HTMLMediaElement
kapsamını genişletir. Bu cihaz, Android'de Chrome 56 yüklü olarak gönderilir ve masaüstünde Chrome 121 üzerinden kullanılabilir.
Spekülasyon Kuralları API'si
Speculation Rules API için yeni özellikler var.
Doküman kuralları desteği: Bu, tarayıcının bir sayfadaki <a>
öğelerinden, tahmine dayalı yükleme URL'lerinin listesini almasını sağlayan, tahmin kuralları söz diziminin bir uzantısıdır. Bu bağlantılardan hangilerinin kullanılabileceğine dair ölçütler içerebilir. Bu, spekülasyon kuralları için yeni bir "eagerness" alanı ile birleştiğinde, geliştiricilerin sayfadaki bağlantıları anında, fareyle üzerine gelindiğinde veya farenin aşağısına gittiğinde otomatik olarak bağlantıları önceden getirmesine veya önceden işlemesine olanak tanır.
Ayrı bir değişiklik, satır içi <script>
öğelerine alternatif olarak Speculation-Rules
HTTP yanıt başlığını kullanarak tahmin kurallarının belirtilmesini sağlar. Bu üstbilginin değeri, "application/speculationrules+json"
MIME türüne sahip bir metin kaynağına işaret eden URL olmalıdır. Kaynağın kuralları, dokümanın kural grubuna eklenir.
Son olarak No-Vary-Search
ipucu, URL sorgu parametreleri değişse bile tahmine dayalı önceden getirmelerin eşleşmesini sağlar. No-Vary-Search
HTTP yanıt başlığı, bir URL sorgusunun bazı veya tüm bölümlerinin eşleştirme amacıyla yoksayılabileceğini belirtir. Sorgu parametresi anahtarlarının sırasının eşleşmeleri önlememesi gerektiğini, belirli sorgu parametrelerinin eşleşmeleri engellememesi gerektiğini veya yalnızca bilinen belirli sorgu parametrelerinin uyuşmazlıklara neden olması gerektiğini bildirebilir.
SpeechSynthesis ve SpeechSynthesisVoice arayüz nesneleri
Halihazırda desteklenen özelliklere SpeechSynthesis
ve SpeechSynthesisVoice
için arayüz nesneleri ekler. Bu, SpeechSynthesisVoice.prototype kullanılarak özellik algılamayı mümkün kılar.
Storage Buckets API'si
Depolama Paketleri, sitelere cihaz üzerindeki verileri ayrı "paketler" halinde düzenleme olanağı tanır. Böylece kullanıcı aracıları, gruplandırılmış verileri diğer paketlerdekilerden bağımsız olarak çıkarabilir ve sitelerin semantik olarak alakalı verileri ergonomik olarak yönetmesini sağlar. Her depolama paketi, IndexedDB ve CacheStorage gibi yerleşik depolama API'leriyle ilişkili veriler içerebilir.
URLPattern: Soldan devral, sağ joker karakter
Temel URL, kurucu dizesi söz dizimi veya her ikisi kullanılarak oluşturulan kalıplarda davranış değişir. Ancak temel URL'si olmayan bileşenleri ayrı olarak açık bir şekilde belirten kalıplar değişmez.
"Daha önceki" bir bileşen açıkça belirtilirse bileşenler temel URL'den devralınmaz. Dize biçiminde, belirtilmemiş "daha sonra" bileşenlerinin boş bırakılması gerekmez (ana makine adı her zaman belirtilmesi gereken bağlantı noktası hariç olmak üzere), bu bileşenler örtülü bir şekilde joker karakterle belirtilir. Kullanıcı adı ve şifre hiçbir zaman dolaylı olarak belirtilmez veya devralınmaz.
Bu, joker karakterlerin istenebileceği durumlarda kalıpları eskisinden daha geniş hale getirir.
URLPattern: u
yerine RegExp v
işareti
URL Kalıp API'si, geliştiricilerin kalıp dizeleri belirtmesine olanak tanır. Bunlar dahili olarak normal ifadelere dönüştürülür.
API ilk kez uygulandığında bu normal ifadeler u
işaretiyle derlendi. Chrome 121, kodu v
işaretiyle güncelleyerek Unicode kümelerini etkinleştirir.
WebGPU'ya yapılan eklemeler
WebGPU artık geliştiricilerin ardışık düzen oluştururken gölgelendirici modüllerine giriş noktalarını atlamalarına olanak tanıyarak ergonomiyi iyileştiriyor. Varsayılan giriş noktası bulunamazsa GPUValidationError her zamanki gibi tetiklenir.
WebGPU zaman damgası sorguları, WebGPU uygulamalarının GPU komutlarının ne kadar zaman aldığını, özellikle de geçişlerin başında ve sonunda tam olarak (nanosaniyeye kadar) ölçmesine olanak tanır. Zaman damgası sorguları, GPU iş yüklerinin performansı ve davranışı hakkında bilgi edinmek için yoğun bir şekilde kullanılır.
WebGPU spesifikasyonu, zaman damgası sorgularını, zamanlama saldırısı endişeleri nedeniyle isteğe bağlı bir özellik haline getirse de zaman damgası sorgularının nicelenmesi, 100 mikrosaniyelik bir çözünürlükle zamanlayıcıların hassasiyetini azaltarak iyi bir orta yol sağladığına inanıyoruz.
TLS için X25519Kyber768 anahtar kapsüllemesi
Kyber768 kuantum dirençli anahtar anlaşması algoritmasını dağıtarak mevcut Chrome TLS trafiğini gelecekteki kuantum kript analizine karşı koruyun. Bu, IETF standardına dayalı karma bir X25519 + Kyber768 anahtar anlaşmasıdır. Bu spesifikasyon ve kullanıma sunma, W3C'nin kapsamı dışındadır. Bu anahtar anlaşması, TLS şifresi olarak kullanıma sunulacak ve kullanıcılar açısından şeffaf olmalıdır.
Kaynak denemeleri devam ediyor
Chrome 121'de aşağıdaki yeni kaynak denemelerine kaydolabilirsiniz.
Element Capture API'sı
Element Capture API, DOM'un bir alt ağacını yakalamaya yönelik yöntemler sunar.
Sekme yakalamayı başlatmak için önceden var olan yollarla elde edilen bir video MediaStreamTrack'e, Öğe Yakalama, parçanın yalnızca belirli bir Öğe'den başlayan DOM'un bir alt ağacını yakalamak üzere değiştirilmesine olanak tanır.
Bu API, Region Capture API ile bazı benzerliklere sahiptir, ancak hem kaplayan hem de gizlenen içerikler yakalamanın dışında tutulduğundan uygulamalar için daha fazla esneklik sunar.
ElementCapture kaynak denemesine kaydolun
Mevcut davranıştaki değişiklikler
Chrome 121, geliştiricilerin değişiklikten haberdar olması için burada mevcut davranışla ilgili aşağıdaki değişikliği içermektedir .
En Son Taşınan Kaynaklar Arası iFrame'lere Giriş Etkinliklerini Sil
Kaynaklar arası iframe kendi yerleştirme sayfasına kısa bir süre önce taşındıysa Chrome, iframe'i hedefleyen etkinlikleri sessizce siler. Bunun nedeni, iframe kısa süre önce taşındıysa kullanıcının onu tıklamak veya dokunmak istememiş olması olabilir.
2019'da sınırlı biçimde kullanıma sunulan bu değişiklik, yalnızca IntersectionObserver sürüm 2'nin özelliklerini kullanan komut dosyası içeren iframe'leri (yani kapama veya efekt algılama) etkiledi. Bu lansman, bu davranışı tüm kaynaklar arası iframe'leri kapsayacak şekilde genişletir ve Chrome 121'de sınırlı bir deneme olarak başlayıp ardından daha da geliştirilecektir.