Chrome 136 beta

Yayınlanma tarihi: 3 Nisan 2025

Aksi belirtilmedikçe aşağıdaki değişiklikler Android, ChromeOS, Linux, macOS ve Windows için en yeni Chrome beta kanalı sürümünde geçerlidir. Burada listelenen özellikler hakkında daha fazla bilgiyi verilen bağlantılardan veya ChromeStatus.com'daki listeden edinebilirsiniz. Chrome 136, 3 Nisan 2025 itibarıyla beta sürümündedir. En son sürümü masaüstü için Google.com'dan veya Android için Google Play Store'dan indirebilirsiniz.

CSS ve kullanıcı arayüzü

Bu sürümde altı yeni CSS ve kullanıcı arayüzü özelliği eklendi.

CSS dynamic-range-limit özelliği

Sayfanın, HDR içeriğinin maksimum parlaklığını sınırlamasını sağlar.

El yazısı komut dosyalarındaki harf aralığını yoksayma

Bu özellik, geliştirici tarafından spesifikasyona uygun olarak belirtilmiş olsa bile, harf aralığının kelimeleri bölmemesini sağlamak için el yazısı yazı tipleri için harf aralığı ayarını yoksaymaya yönelik mantık ekler.

Kullanıcı tarama geçmişi sızıntılarını önlemek için sabit öğeler yalnızca bu üst düzey site ve çerçeve kaynağından daha önce tıklandıysa :visited olarak biçimlendirilir.

Yalnızca bu sitede ve çerçevede daha önce tıklanmış bağlantılara stil uygulayarak :visited bağlantı stili bilgilerini elde etmek için geliştirilmiş birçok yan kanal saldırısı artık geçerliliğini yitirdi. Artık sitelere kullanıcılarla ilgili yeni bilgiler sağlamıyorlar.

:visited bağlantılarının gizliliğinde yapılan bu iyileştirmeler hakkında daha fazla bilgi edinin.

string attr() türünü raw-string olarak yeniden adlandırın

CSS Çalışma Grubu, string attr() türünü raw-string ile değiştirmeye karar verdi.

Bu nedenle Chrome, attr() söz dizimini değiştirdi. Böylece attr(data-foo string) artık attr(data-foo raw-string) olacak.

Türe duyarlı olmayan var() yedek

var() işlevinin yedek kısmı, referans verilen özel mülkün türüyle doğrulanmıyor.

Ön ek yok print-color-adjust

print-color-adjust mülkü, basılı web sayfalarındaki renkleri ayarlamanıza olanak tanır. Bu, Chrome'un halihazırda desteklediği -webkit-print-color-adjust ile aynıdır ancak standartlaştırılmış bir ada sahiptir. -webkit ön ekiyle başlayan sürüm kaldırılmaz.

Web API'leri

AudioContext kesintiye uğramış durumu

AudioContextState için "interrupted" durumu ekler. Bu yeni durum, UA'nın bu senaryolarda oynatmayı duraklatmasına ve web uygulamalarının uygun şekilde yanıt vermesine olanak tanır.

Blob URL'si bölümlendirme: Getirme/Gezinme

Depolama bölümlendirmesinin devamı olarak bu özellik, yalnızca çerçeve kaynağına göre bölümlendirilmeye devam edecek üst düzey gezinmeler hariç olmak üzere blob URL erişiminin depolama anahtarına (üst düzey site, çerçeve kaynağı ve has-cross-site-ancestor boole değeri) göre bölümlendirilmesini uygular. Bu davranış, şu anda hem Firefox hem de Safari tarafından uygulanan davranışa benzer ve Blob URL kullanımı, Depolama Bölme işlemi kapsamında diğer depolama API'leri tarafından kullanılan bölümleme şemasıyla uyumlu hale getirilir.

Ayrıca, noopener artık oluşturucu tarafından başlatılan ve ilgili sitenin, gezinmeyi gerçekleştiren üst düzey siteyle çapraz site olduğu blob URL'lerine yapılan üst düzey gezinmelerde zorunlu kılınmaktadır. Bu sayede Chrome, Safari'deki benzer davranışla uyumlu hale getirilmiştir. İlgili özellikler de bu değişiklikleri yansıtacak şekilde güncellenmiştir.

Yanıt vermeyen web sayfalarından gelen kilitlenme raporlarındaki çağrı yığınları

Bu özellik, JavaScript kodu sonsuz bir döngü veya çok uzun bir hesaplama çalıştırması nedeniyle bir web sayfası yanıt vermediğinde JavaScript çağrı yığınını yakalar. Bu, geliştiricilerin yanıt vermeme sorununun nedenini belirlemesine yardımcı olur. Neden yanıt vermeme ise JavaScript çağrı yığını kilitlenme raporlama API'sine dahil edilir.

Captured Surface Control API

Captured Surface Control API, web uygulamalarının tekerlekli fare hareketlerini yakalanan bir sekmeye iletmesine ve yakalanan bir sekmenin yakınlaştırma düzeyini okumasına ve değiştirmesine olanak tanır.

CapturedSurfaceResolution

Ekran paylaşımı sırasında yakalanan yüzeyin piksel oranını gösterir. Bu özellik, uygulamaların sistem kaynaklarını korumasına veya kalite ile bant genişliği arasındaki dengeyi yakalanan yüzeyin fiziksel ve mantıksal çözünürlüklerine göre uyarlamasına yardımcı olur.

Tıklama etkinliklerini yakalanan işaretçiye gönderme

pointerup etkinliği dağıtılırken bir işaretçi yakalanırsa click etkinliği, kullanıcı arayüzü etkinliği spesifikasyonuna göre pointerdown ve pointerup etkinliklerinin en yakın ortak atası yerine yakalanan hedefe dağıtılır. Yakalanmış olmayan işaretçiler için click hedefi değişmeden kalır.

Sihirli yorumlarla açık derleme ipuçları

JavaScript dosyalarında hangi işlevlerin istekli olarak ayrıştırılması ve derlenmesi gerektiğiyle ilgili bilgilerin eklenmesine olanak tanır. Bilgiler, sihirli yorumlar olarak kodlanır.

FedCM güncellemeleri: Birden fazla kimlik sağlayıcı desteği, pasif modda "başka bir hesap ekle" özelliğinin kaldırılması

Bu güncellemeyle FedCM, aynı iletişim kutusunda birden fazla kimlik sağlayıcı gösterebilir. Bu sayede geliştiriciler, desteklenen tüm kimlik sağlayıcıları kullanıcılara kolayca sunabilir. Öncelikle tüm sağlayıcıların aynı get() görüşmesinde yer aldığı basit durumu ele almayı planlıyoruz. FedCM pasif modunda "başka bir hesap ekle" özelliği için desteği de kaldırıyoruz. Bu özellik, seçicide diğer kimlik sağlayıcı hesaplarının yanında "başka bir hesap kullan" düğmesi gösterilmesine olanak tanır. Bu özellik şu anda kullanılmamaktadır ve kullanıcı deneyimi görüşmeleri, bu özelliği desteklemenin çok fazla faydası olmayan daha karmaşık bir akışa yol açtığına karar vermemize yol açmıştır. Bu özellik, FedCM etkin modunda çalışmaya devam eder.

Akıcı kaydırma çubukları.

Bu özellik, Windows ve Linux'taki Chrome kaydırma çubuklarını (hem yer paylaşımlı hem de yer paylaşımlı olmayan) Windows 11 Fluent tasarım diline uyacak şekilde modernize eder. Yer paylaşımlı olmayan Fluent kaydırma çubukları Linux ve Windows'ta varsayılan olarak etkinleştirilir. Chrome'un Linux kaydırma çubuğu tasarımı geçmişte Windows'ta sunulan tasarımla uyumlu olduğu için bu değişiklik Linux için de geçerlidir.

WebRTC'de H265 (HEVC) codec desteği

Chrome 136'tan itibaren HEVC, WebRTC'de desteklenen codec'ler olarak VP8, H.264, VP9 ve AV1'e katılacak. Destek, MediaCapabilities API kullanılarak sorgulanabilir.

Bu yeni codec, VP8 ve H264 gibi eski nesil codec'lere kıyasla daha yüksek sıkıştırma verimliliği (bit hızı başına daha yüksek kalite) ve on yıldan uzun süredir çok güçlü donanım desteği sunar. Bu, pil ömrünün artmasına ve performans sorunlarının riskinin azalmasına neden olur. Ayrıca, temel donanım kodlayıcının performansına bağlı olarak, donanım VP9 veya AV1 kodlayıcıların kullanılamadığı durumlarda görsel deneyimi genellikle iyileştirir.

MediaRecorder için H26x codec desteği güncellemeleri

MediaRecorder API artık HEVC kodlamayı destekliyor. hvc1.* codec dizesini kullanıma sunuyor ve MP4'te değişken çözünürlüklü videoyu destekleyen yeni codec'ler (hev1.* ve avc3.*) ekliyor. Chrome 130'taki WebCodecs'e HEVC platform kodlaması desteği eklendi. Bunun ardından Chromium'daki MediaRecorder API'sine destek eklendi. API artık farklı HEVC ve H.264 mime türü spesifikasyonlarına sahip hem MP4 hem de Matroska muxer türlerini desteklemektedir. HEVC kodlaması yalnızca kullanıcının cihazı ve işletim sistemi gerekli özellikleri sağlıyorsa desteklenir.

Chrome Enterprise'da IP adresi günlüğe kaydetme ve raporlama

Chrome Enterprise, yerel ve uzak IP adreslerini toplayıp raporlayarak ve bu IP adreslerini Güvenlik İnceleme Günlükleri'ne (SIT) göndererek güvenlik izleme ve olay yanıtlama özelliklerini iyileştirir. Ayrıca Chrome Enterprise, yöneticilerin isteğe bağlı olarak Chrome Enterprise Reporting bağlayıcısını kullanarak IP adreslerini birinci taraf ve üçüncü taraf SIEM sağlayıcılarına göndermesine olanak tanır. Bu özellik, Chrome Enterprise Core müşterileri tarafından kullanılabilir.

Gezinme başlatıcıyı HTTP önbelleği bölüm anahtarına dahil etme

Chrome'un HTTP önbelleği anahtarlama şeması, üst düzey gezinme içeren siteler arası sızıntı saldırılarını azaltmak için is-cross-site-main-frame-navigation boole değişkeni içerecek şekilde güncellendi. Daha açık belirtmek gerekirse bu, saldırganın belirli bir sayfaya üst düzey gezinme başlattığı ve ardından yükleme zamanlamasından hassas bilgileri anlamak için sayfa tarafından yüklendiği bilinen bir kaynağa gittiği çapraz site saldırılarını önler. Bu değişiklik, kötü amaçlı bir sitenin kullanıcının daha önce belirli bir siteyi ziyaret edip etmediğini anlamak için gezinme öğelerini kullanmasını engelleyerek gizliliği de artırır.

CanvasTextDrawingStyles için dil desteği

Tüm DOM öğeleri gibi <canvas> DOM öğesi de yazı tipi seçimi için dile özgü işleme tanımlamak amacıyla kullanılan bir lang özelliğini kabul eder (yazı tipleri yerel ayara özgü gliflere sahip olduğunda). Tarayıcılar bu özelliğe uyar. Ancak, bir OffscreenCanvas oluşturulduğunda yerel ayar bilgilerini ayarlamak mümkün değildir. Bu durum, ekran dışı kanvasın, çıktısının kullanıldığı kanvastan farklı oluşturulmuş sonuçlar üretmesine neden olabilir. Bu özellik, metin çizimi ve metrikler için dile doğrudan kontrol vermek üzere CanvasTextDrawingStyles öğesine bir lang IDL özelliği ekler.

iframe'ler için izin politikası raporları

"Olası İzinler Politikası ihlali" adlı yeni bir ihlal türü kullanıma sunuluyor. Bu türde, yalnızca İzinler Politikası (yalnızca raporlama politikası dahil) ve iframe'lerde ayarlanan allow özelliği incelenerek, uygulanan İzinler Politikası ile iframe'lere iletilen izinler arasındaki çelişki tespit edilir.

Tahmin edilebilir raporlanan depolama alanı kotası

Sınırsız depolama alanı izinlerine sahip olmayan siteler için StorageManager'ın Estimate API'sinden tahmini depolama alanı kotasını bildirin. Gizli modda, kullanıcıya sunulan depolama alanı normal moddakinden önemli ölçüde daha küçük olduğu için kullanıcının tarama modunu, bildirilen depolama kotasını kullanarak tespit etmek mümkündür.

Private Aggregation API: Toplu hata raporlama

Private Aggregation API kullanılırken karşılaşılabilecek çeşitli hata koşulları vardır. Örneğin, gizlilik bütçesi tükenebilir ve başka histogram katkıları yapılmasını önleyebilir. Bu özellik, geliştiricilerin yalnızca belirli bir hata türü oluştuğunda gönderilmesi gereken histogram katkılarını kaydetmelerine olanak tanır. Bu özellik, hata durumlarının sıklığını ölçmeyi ve bu ölçümleri geliştirici tarafından belirtilen ilgili boyutlara (ör. dağıtılan kodun sürümü) ayırmayı destekler. Hataların kendisi siteler arası bilgiler olabileceğinden, üçüncü taraf çerezleri olmayan kullanıcılar için bunları sayfaya gösteremeyiz. Bunun yerine bu özellik, Aggregation Service aracılığıyla mevcut toplu ve gürültülü raporlama ardışık düzenlerini yeniden kullanır.

RegExp.escape

RegExp.escape, bir dize alan ve normal ifade içinde kalıp olarak kullanılabilecek, kaçış karakteri eklenmiş bir sürüm döndüren statik bir yöntemdir. Örneğin:

const str = prompt("Please enter a string");
const escaped = RegExp.escape(str);
const re = new RegExp(escaped, 'g'); // handles reg exp special tokens with the replacement.

console.log(ourLongText.replace(re));

Spekülasyon kuralları: etiket alanı

Geliştiricilerin spekülasyon kurallarına field etiketi eklemesine olanak tanır. Bu isteğe bağlı alan, spekülasyon kurallarının kaynağını izlemek için kullanılabilir. Örneğin, bunları bir ara sunucuda farklı şekilde işlemek için. Bir spekülasyonla ilişkili tüm etiketler Sec-Speculation-Tags üstbilgisiyle gönderilir.

Storage Access API için Katı Aynı Kaynak Politikası

Storage Access API semantiklerini, aynı kaynak politikasına kesinlikle uyacak şekilde ayarlar. Yani, bir çerçevede document.requestStorageAccess() kullanmak, çerezleri varsayılan olarak iFrame'in kaynağına (siteye değil) yapılan isteklere ekler. Siteler arası çerezlerin engellemesini kaldırmak için CookiesAllowedForUrls politikasının veya Depolama Aksesuarı Başlıklarının yine de kullanılabileceğini unutmayın.

loaded ve total için çift türü kullanmak üzere ProgressEvent uygulamasını güncelleyin

ProgressEvent, ilerlemeyi gösteren loaded ve total özelliklerine sahiptir ve bu özelliklerin türü artık unsigned long long'dır. Bu özellik sayesinde bu iki özelliğin türü double olarak değiştirilir. Bu da geliştiricinin değer üzerinde daha fazla kontrole sahip olmasını sağlar. Örneğin, geliştiriciler artık total değeri 1 olan ve loaded değeri 0'dan 1'e kademeli olarak artan bir ProgressEvent oluşturabilir. Bu, max özelliği atlanmışsa <progress> HTML öğesinin varsayılan davranışıyla uyumludur.

getCharNumAtPosition, isPointInFill, isPointInStroke için DOMPointInit değerini kullanın

Bu değişiklik, Chromium kodunu getCharNumAtPosition, isPointInFill, isPointInStroke için SVGPoint yerine DOMPointInit kullanımı açısından SVGGeometryElement ve SVGPathElement için en son W3C spesifikasyonuyla uyumlu hale getirir.

Web kimlik doğrulaması koşullu oluşturma (Geçiş anahtarı yükseltmeleri)

WebAuthn koşullu oluşturma istekleri, web sitelerinin mevcut şifre kimlik bilgilerini geçiş anahtarına yükseltmesine olanak tanır.

WebGPU: GPUAdapterInfo isFallbackAdapter özelliği

GPUAdapterInfo isFallbackAdapter Boole özelliği, bir adaptörün daha geniş uyumluluk, daha tahmin edilebilir davranış veya daha iyi gizlilik karşılığında önemli performans sınırlamalarına sahip olup olmadığını belirtir. Yedek adaptörün tüm sistemlerde bulunmayabileceğini unutmayın.

Yeni kaynak denemeleri

Chrome 136'ta aşağıdaki yeni kaynak denemelerini etkinleştirebilirsiniz.

Audio Output Devices API: setDefaultSinkId()

Bu özellik, MediaDevices'e setDefaultSinkId() ekler. Bu sayede üst düzey çerçeve, alt çerçeveleri tarafından kullanılan varsayılan ses çıkış cihazını değiştirebilir.

Web uygulamalarının iki modlu performans zamanlamalarını anlamasını sağlayın

Web uygulamaları, web uygulamasının kontrolü dışındaki faktörler nedeniyle sayfa yükleme performansında iki modlu dağılım sorunuyla karşılaşabilir. Örneğin:

  • Bir kullanıcı aracısı ilk kez başlatıldığında ("soğuk başlatma" senaryosu), sistemdeki kaynaklar için rekabet eden birçok pahalı başlatma görevi gerçekleştirmelidir.
  • Tarayıcı uzantıları bir web sitesinin performansını etkileyebilir. Örneğin, bazı uzantılar ziyaret ettiğiniz her sayfada ek kod çalıştırır. Bu da CPU kullanımını artırabilir ve yanıt sürelerinin uzamasına neden olabilir.
  • Bir makine yoğun görevler gerçekleştirirken web sayfalarının daha yavaş yüklenmesine neden olabilir.

Bu senaryolarda, web uygulamasının yüklemeye çalıştığı içerik, sistemde yapılan diğer çalışmalarla rekabet halinde olur. Bu durum, performans sorunlarının web uygulamalarının kendisinden mi yoksa harici faktörlerden mi kaynaklandığını tespit etmeyi zorlaştırır.

PerformanceNavigationTiming nesnesinde yeni bir confidence alanı, geliştiricilerin gezinme zamanlarının web uygulamaları için temsili olup olmadığını belirlemelerine olanak tanır.

Cihaz Bağlı Oturumu Kimlik Bilgileri

Web sitelerinin bir oturumu tek bir cihaza güvenli bir şekilde bağlama yöntemi.

Sunucuların bir cihaza güvenli bir şekilde bağlı bir oturum oluşturmasına olanak tanır. Tarayıcı, özel anahtara sahip olduğunun kanıtıyla oturumu sunucu tarafından istendiği şekilde düzenli olarak yeniler.

Tuval metin oluşturma uygulamasında güncelleme

CanvasRenderingContext2D ve OffscreenCanvasRenderingContext2D'nin measureText(), fillText() ve strokeText() iç yapıları, RTL metni ve önbelleğe almayı daha iyi destekleyen yeni bir uygulamayla değiştirildi. Bu, performansı ve BIDI metin çıkışını etkileyebilir. Bu nedenle, bu kaynak denemesi, metin ağırlıklı kanvas uygulamalarının yeni uygulamayı denemesine ve karşılaşabilecekleri sorunları bildirmesine olanak tanır.

Kullanımdan kaldırmalar

Chrome'un bu sürümünde aşağıdaki desteği sonlandırma ve kaldırma işlemleri uygulanmaktadır. Planlanan desteğin sonlandırılması, mevcut desteğin sonlandırılması ve daha önce kaldırılan özelliklerin listeleri için ChromeStatus.com'u ziyaret edin.

Bu Chrome sürümünde iki özellik için desteği sonlandırıldı.

Intl Locale Info alıcılarının desteği sonlandırılıyor

Intl Locale Info API, hafta verileri (haftanın ilk günü, hafta sonu başlangıç günü, hafta sonu bitiş günü, ilk haftadaki minimum gün) ve yerel ayarda kullanılan metin yönü saat döngüsü gibi yerel ayar bilgilerini göstererek Intl.Locale nesnesini geliştirmeyi amaçlayan 3. Aşama ECMAScript TC39 önerisidir. Bu değişiklik, kullanımdan kaldırılmış bazı alıcıları kaldırır.

HTMLFencedFrameElement.canLoadOpaqueURL() öğesini kaldırın.

canLoadOpaqueURL(), 2023'te navigator.canLoadAdAuctionFencedFrame() ile değiştirildi ve bu API'nin çağrılması, geliştiricileri yeni API'ye yönlendiren bir desteği sonlandırma konsol uyarısıyla sonuçlandı. İşlevin HTMLFencedFrameElement'e eklenmesi mantıklı değildir. Bunun yerine, diğer çitle çevrili çerçeve ve reklam açık artırması yöntemlerini içeren navigator nesnesine eklenmelidir.