Chrome uzantılarında, uzantı dokümanlarında veya ilgili politikalarda yapılan değişiklikler ya da diğer değişiklikler hakkında bilgi edinmek için bu sayfayı sık sık kontrol edin. Diğer bildirimleri Uzantılar Google Grubu'nda bulabilirsiniz. Chrome yayın planında kararlı ve beta sürümlerin yayınlanma tarihleri listelenir.
Chrome 132: Geliştirici Araçları'nda uzantı depolama alanını görüntüleme ve düzenleme
Chrome 132'den itibaren, DevTools'ta chrome.storage
API'sini kullanarak depolanan verileri görüntüleyebilir ve düzenleyebilirsiniz. Daha fazla bilgi edinmek için DevTools dokümanlarında yeni Uzantı depolama alanını görüntüleme ve düzenleme sayfasına bakın.
Blog yayını: Yeni uzantılar menüsü
Google I/O 2024'te, uzantı menüsünde yapılacak değişikliklerle ilgili bazı erken tasarımları paylaşmıştık. Bu tasarımlar, kullanıcılara uzantıların erişebileceği siteler üzerinde daha fazla kontrol sahibi olma imkanı tanıyor. Bu değişiklikleri yakında Canary'daki kullanıcıların küçük bir yüzdesiyle test etmeye başlayacağız. Gelecekte daha geniş bir kitlenin kullanımına sunmayı umuyoruz.
Ayrıca chrome.permissions.addHostAccessRequest()
API'yi de kullanıma sunuyoruz.
Daha fazla bilgi için blog yayınımızı inceleyin.
Chrome 132: Sekmeler API'sinde yeni dondurulmuş mülk
Chrome 132'den itibaren Sekmeler API'sindeki frozen
mülkü, bir sekmenin tarayıcı tarafından dondurulup dondurulmadığını belirtir. Dondurulmuş sekmelere gönderilen mesajlar, sekme dondurulunca sıraya alınır ve işlenir.
Chrome uzantılarındaki Prompt API
Uzantılar için istem API'si artık kaynak deneme sürümünde kullanıma sunuldu. Böylece tarayıcıda en verimli dil modelimiz olan Gemini Nano'yu kullanan Chrome uzantıları oluşturabilirsiniz.
Chrome 131 ile 136 arasında çalışan Prompt API kaynak denemesine katılın ve geri bildiriminizi paylaşın. Geri bildiriminiz, bu API'nin ve tüm yerleşik yapay zeka API'lerinin gelecekteki sürümlerini nasıl oluşturup uygulayacağımızı doğrudan etkileyebilir.
Blog yayını: Chrome uzantılarında neler değişiyor? Ekim 2024
Chrome uzantılarında yaşanan gelişmeleri bir kez daha özetlemek istiyoruz. Yapay zeka entegrasyonu, yeni API'ler, etkinlikler ve videolarla ilgili heyecan verici güncellemelerimiz var. Tüm bu gelişmeleri Chrome Uzantıları'nda neler oluyor? Ekim ayı sayısı'nda okuyabilirsiniz.
Yerleşik yapay zeka yarışmasına katılma
Chrome, Yerleşik Yapay Zeka Yarışması'nı başlattı: Chrome'un entegre yapay zeka modellerini ve API'lerini kullanarak yenilikçi web uygulamaları ve Chrome uzantıları oluşturmaya davetlisiniz. Toplam 65.000 ABD doları tutarında ödül kazanma şansınız da var.
Yerleşik Yapay Zeka Yarışması web sitesinde kaydolarak daha fazla bilgi edinin. Web'i yapay zeka ile birleştirerek neler yaratacağınızı görmek için sabırsızlanıyoruz.
Chrome 130: action.onUserSettingsChanged
Chrome 130'dan itibaren action.onUserSettingsChanged etkinliği kullanılabilir. Bu karar, WebExtensions Topluluk Grubu'ndaki bir öneriden sonra alındı. Chromium'a katkıda bulunduğu için Microsoft'a teşekkür ederiz.
Chrome 130: StorageArea.getKeys()
Chrome 130'dan itibaren chrome.storage
API'si tarafından kullanılan StorageArea arayüzünde getKeys() yöntemi kullanılabilir. Bu karar, WebExtensions Topluluk Grubu'ndaki bir öneriden sonra alındı.
Chrome 128: Bildirimsel ağ isteğinde yanıt başlığı eşleştirme
Chrome 128'den itibaren, Declarative Net Request API'ye yanıt üstbilgisi eşleştirme desteği ekliyoruz. Özellikle Content-Type başlığını eşleştirmek için sıklıkla istenen bu özelliği WebExtensions Topluluk Grubu ile birlikte uygun bir API olarak tasarladık.
API referansımızı yeni responseHeaders
ve excludedResponseHeaders
alanlarını içerecek şekilde güncelledik. Belirli bir başlığın varlığını ve değerini kontrol etmek için bunları kullanabilirsiniz.
Bu güncelleme kapsamında, dokümanlarımıza kuralların nasıl eşleştirildiğini açıklayan yeni bir kural değerlendirme bölümü ekledik. Özellikle başlık eşleştirme için kurallar yalnızca yanıt başlıkları alındıktan sonra çalışabilir. Bu nedenle, diğer kurallardan daha sonraki bir aşamada uygulanır. Bu, isteğin engellenmeden veya yönlendirilmeden önce sunucuya ulaştığı anlamına gelir.
Video: İçerik komut dosyaları nedir?
CSS ve JavaScript'in belirli bir sayfada çalışacak şekilde nasıl kaydedileceği de dahil olmak üzere Chrome uzantılarındaki içerik komut dosyaları hakkında bilgi edinin. Videonun tamamını izleyin.
Önemli politika güncellemeleri
Chrome Web Mağazası Ekibi, yüksek kaliteli ürünlerin geliştirilmesini teşvik etmek, yanıltıcı davranışları önlemek ve bilinçli kullanıcı iznini sağlamak için tasarlanmış bir dizi güncellemeyi Geliştirici Program Politikaları sayfasında yayınladı. Chrome Web Mağazası politika yöneticisi Rebecca Soares, tüm güncellemeleri Chrome Uzantılar: Önemli politika güncellemeleri blog yayınında özetledi.
Blog yayını: Chrome uzantılarında neler değişiyor? (Temmuz 2024)
Son üç ay içinde, Manifest V2'nin kullanımdan kaldırılmasının başlaması da dahil olmak üzere çeşitli önemli güncellemeler ve yeni özellikler kullanıma sunduk. Chrome Uzantıları'nda Neler Oluyor? Temmuz ayı bültenini inceleyerek gelişmelerden haberdar olun.
Video: Uzak Barındırılan Kod Nedir?
Chrome Uzantıları Ekibi'nden Patrick, Chrome Uzantıları'ndaki Uzaktan Barındırılan Kod (RHC) kavramını açıklıyor. RHC'ye artık neden izin verilmediğini, bu sorunu nasıl tespit edeceğinizi ve uzantınızın güncellenmesi gerekiyorsa ne yapmanız gerektiğini öğrenin. Videonun tamamını izleyin.
Chrome 127: Yeni action.openPopup API
Chrome 127'den itibaren action.openPopup
API'si tüm uzantılar tarafından kullanılabilir. Daha önce yalnızca Canary'da veya bir politika tarafından yüklenen uzantılarda kullanılabiliyordu.
Video: Güven ve Güvenlik Ekibi ile röportaj
Chrome Uzantıları DevRel Ekibi, Chrome Web Mağazası'ndaki inceleme sürecini yöneten Güven ve Güvenlik Ekibi ile bir araya gelerek sorularınızı sordu. Videonun tamamını izleyin.
Blog yayını: Manifest V2'nin kullanımdan kaldırılması başlıyor
3 Haziran'dan itibaren Chrome Beta, Dev ve Canary kanallarında, Manifest V2 uzantıları yüklü olan kullanıcılar, uzantı yönetimi sayfalarını (chrome://extensions) ziyaret ettiklerinde yükledikleri bazı (Manifest V2) uzantıların yakında desteklenmeyeceğini bildiren bir uyarı banner'ı görmeye başlayacak. Daha fazla bilgi için resmi duyuruyu inceleyin.
Yan panel kullanıcı arayüzünde yapılan güncellemeler
Yakın zamanda yan panel kullanıcı arayüzünde, sabitleme simgesi ekleme ve genel yan panel simgesini kaldırma da dahil olmak üzere bazı değişiklikler yaptık. Daha fazla bilgi için PSA'yı inceleyin ve güncellenmiş dokümanlarımızı ve örneklerimizi inceleyin.
Blog yayını: Google I/O 2024'te Chrome Uzantıları
Bir Google I/O daha geride kaldı ve heyecan verici tüm uzantı güncellemelerini ele aldık. Videonun tamamını izlemek için YouTube'a gidin ve öne çıkan bazı anlar için blog yayınımızı okuyun.
Uygun bildirimsel net istek değişiklikleri için incelemeyi atlama
Chrome Web Mağazası artık Declarative Net Request API'yi kullanırken uygun değişiklikler için incelemeyi atlamanıza olanak tanır. Uygunluk ve etkinleştirme hakkında daha fazla bilgiyi Chrome Web Mağazası dokümanlarında bulabilirsiniz.
Chrome Web Mağazası API'sinde bulunan deployPercentage
Yakın zamanda Chrome Web Mağazası API dokümanlarımızı, kısmi kullanıma sunma dağıtımının yüzdesini atamanıza olanak tanıyan deployPercentage
hakkında bilgi içerecek şekilde güncelledik. deployPercentage
hakkında bilgi edinin.
Chrome 126: Uzantılarda kaynak denemeleri
Chrome 126, tüm uzantı yüzeylerinde Kaynak Denemelerini ve Desteği Sonlandırılan Denemelerini etkinleştirmenize olanak tanıyan yeni bir manifest.json alanı trial_tokens
kullanıma sunar. Daha fazla bilgi için kılavuzu okuyun.
Blog yayını: What's happening in Chrome Extensions-April 2024
Chrome Uzantıları'nda Neler Değişiyor? başlıklı makalenin yeni bir sürümünü yayınladık. Bu yayında, uzantı ekibinin son birkaç aydır üzerinde çalıştığı konular ele alınmaktadır. Bunlar arasında: Chrome Web Mağazası'nda sürüm geri alma, daha iyi Firebase Authentication desteği ve daha fazla API lansmanı ve güncellemesi yer alıyor.
Chrome Web Mağazası Geliştirici Kontrol Paneli'nde sürüm geri alma işlemleri
Uzantılarınızı ek inceleme olmadan Chrome Web Mağazası'nda yayınlanan önceki sürüme geri döndürebilirsiniz. Daha fazla bilgi için blog yayınını ve dokümanları okuyun.
Chrome 124: Gelişmiş documentScan API
ChromeOS'te, bağlı doküman tarayıcılarındaki resimleri keşfetmek ve almak için gelişmiş bir documentScan
API kullanıma sunuldu.
Chrome 124: Hizmet Çalışanlarında WebGPU desteği
Chrome 124'ten beri hizmet çalışanları WebGPU'yu desteklemektedir. Hızlı bir başlangıç için WebGPU uzantı örneğine göz atın.
Chrome 123: Events API, CIDR bloklarına göre filtrelemeyi destekler
Events API artık Sınıfsız Alanlar Arası Yönlendirme (CIDR) bloklarına göre filtrelemeyi destekliyor. CIDR bloğu, bir ağ ön ekini ve aynı sayıda biti paylaşan IP adreslerinden oluşan bir koleksiyondur. Daha önce, birden fazla IP adresini filtrelemesi gereken geliştiricilerin, engelleme aralığındaki her adres için bir filtre kuralı yapılandırması gerekiyordu. Bir uzantı addListener()
'ü çağırdığında, iletilen kural, etkinlik işleyicinin yalnızca bir URL'nin ana makine kısmı bir IP adresi olduğunda ve bir dizede belirtilen CIDR bloklarından herhangi birinde bulunduğunda çağrılacağını gösterir.
Chrome Web Mağazası: Uzantı adı uzunluk şartlarında güncellemeler
Chrome Web Mağazası'nda, manifest.json dosyasında uzantıların "name"
alanı için artık 75 karakterlik evrensel bir sınır uygulanmaktadır. Önceden İngilizce için sınır 45 karakterdi ve diğer yerel ayarlarda "name"
alanı için herhangi bir kısıtlama yoktu.
Bu, başlangıçta aynı sayıda karakterle yakalanamayabilecek kültürel ve dil farklılıklarına izin vermek için tasarlanmıştır. Maalesef bu özellik, mağazada spam yapmak isteyen az sayıda geliştirici tarafından kötüye kullanıldı. Bu nedenle, 75 karaktere yükseltilen yeni bir evrensel sınırı kullanıma sunuyoruz. Bu sınır, şu anda mağazada bulunan neredeyse tüm uzantıları kapsar. Bu nedenle, bu değişiklik nedeniyle herhangi bir işlem yapmanız gerekmeyecektir. Adının maksimum sınırdan uzun olduğu bir uzantı yüklemeye çalışırsanız yükleme mağaza tarafından engellenir.
Blog yayını: eyeo'nun hizmet çalışanı askıya alma özelliğini test etme yolculuğu
eyeo'nun Extension Engine ekibi tarafından hazırlanan bu yayında, uzantı hizmet çalışanlarını test etme sorununu inceliyoruz. Manifest V2'de uzantılar, uzantı yaşam döngüsü boyunca etkin olan bir arka plan sayfasında bulunurdu. Manifest V3 bunun yerine hizmet işçilerini kullanır. Hizmet işçileri, tasarım gereği, ihtiyaç duyulmadığında kapanarak kaynakları korur. Bu durum, belirli test zorluklarına yol açar. Bu yayında, eyeo'nun bu zorluklarla nasıl başa çıktığı açıklanmaktadır.
Chrome 123: Alarmlar artık cihaz uykudayken de çalışır
chrome.alarms
API kullanılarak ayarlanan alarmlar artık cihaz uykuya geçtiğinde ertelenmiyor. Cihaz uyandırıldığında, kaç alarm kaçırılmış olursa olsun alarm bir kez tetiklenir. Örneğin, bir alarmın saatte bir çalacak şekilde ayarlandığını ve alarmın bulunduğu cihazın 00:55 ile 02:05 arasında uykuda olduğunu varsayalım. Bu durumda, yalnızca 02:00 alarmı onAlarm
etkinliğini tetikler.
Saat 02:00'ye olabildiğince yakın bir zamanda ve uykuda olan bir cihaz uyandığında hemen tetiklenir.
Bu değişiklik, Chrome'u Web Uzantıları Topluluk Grubu'nda kararlaştırılan davranışla uyumlu hale getirir.
Blog yayını: Uzantı mesaj bağlantı noktalarıyla bfcache davranışında yapılan değişiklikler
Geri/ileri önbellek (bfcache), anında geri ve ileri gezinme olanağı sağlayan bir tarayıcı optimizasyonudur. Chrome 123'ten itibaren, açık uzantı bağlantı noktası olan bir sayfa bfcache'te depolandığında ileti kanalı kapatılır. Bu, söz konusu sayfaya ileti gönderilmeyeceği anlamına gelir.
Sonuç olarak, uzantı komut dosyaları onDisconnect
gibi yaşam döngüsü etkinliklerini dinlemeli ve sayfa BFCache'ten geri yüklendiğinde yeni bir bağlantı oluşturmalıdır.
Daha fazla bilgi ve örnek kod için Uzantı mesaj bağlantı noktalarıyla BFCache davranışında yapılan değişiklikler başlıklı makaleyi inceleyin.
Chrome 122: Asenkron uzantı API'lerinde Promise desteği
Tüm asenkron uzantı API yöntemleri için Promise desteğini uygulamayı tamamladık. Bu, asenkron işlemlerle uğraşmanın ergonomisini iyileştirerek API yöntemlerini modernize etmek için yapıldı. Mevcut platformları Promises ile uyumlu olmadığı için bazı yöntemler (örneğin, desktopCapture.chooseDesktopMedia()
) yalnızca geri çağırma işlevlerini desteklemeye devam eder. Geriye dönük uyumluluk için geri çağırma işlevleri hâlâ desteklenir. Başarısız olan bir Promise bulursanız lütfen hata bildirin.
Gerçek zamanlı iletişim için yeni yönergeler
Uzantıların gerçek zamanlı seçenekleri hakkında kısa süre önce yayınladığımız kılavuzları inceleyebilirsiniz. Gerçek zamanlı güncellemeler, sunucularınızdan doğrudan uzantı kurulumlarınıza anında iletişim yolu sağlar. Ayrıca, chrome.gcm ve Web Push'i kullanmayla ilgili yeni yönergelerimiz de var.
Yeni rehberlik ve örnek: Hizmet çalışanının sonlandırılmasını test etme
Puppeteer ile hizmet çalışanı sonlandırma işlemini test etme hakkında bir kılavuz yayınladık. Bu örnek, Puppeteer ve Selenium'da bunu göstermektedir.
Doğal mesajlaşma için güncellenmiş örnek
Yerel mesajlaşma için güncellenmiş bir örnek yayınladık. Bu API, uzantınızın başlatılmasına ve başka bir uygulamayla iletişim kurmasına olanak tanır. Bu çalışma için GitHub katkıda bulunanı Shubham-Rasal'a teşekkür ederiz.
Chrome 121: tabs.Tab üzerinde yeni lastAccessed mülkü
tabs.Tab
nesnesine lastAccessed
adlı yeni bir özellik eklendi. Bu özellik, sekmenin en son ne zaman etkinleştirildiğini gösterir. Döndürülen değer, epoch'tan bu yana geçen milisaniye cinsindendir.
Chrome 121: Desteklenmeyen "arka plan" anahtarları artık uyarı veriyor
Manifest V2'den Manifest V3'e geçişte, "background"
manifest anahtarının çocukları, arka plan komut dosyalarının uzantı hizmet işçileriyle değiştirilmesine uygun olacak şekilde değiştirildi. Daha önce, Manifest V3 uzantısının "background"
anahtarına Manifest V2 anahtarları "scripts"
, "page"
veya "persistent"
eklendiğinde hata oluşuyordu. Bu anahtarların varlığı artık uyarı tetikler.
Bu, topluluk grubundaki bir öneri uyarınca birden fazla tarayıcıdaki uzantılarda tek bir manifest dosyasının kullanılmasını sağlamak için yapılmaktadır.
Chrome 120: Minimum alarm ayrıntı düzeyi 30 saniyeye düşürüldü
Chrome 120'den itibaren Manifest V3 uzantıları, chrome.alarms
API'yi 60 saniye veya daha uzun değerler gerektirmek yerine 30 saniyelik gecikmeler veya dönemlerle kullanabilir.
Blog yayını: Manifest V3'e geçişi devam ettirme
Manifest V2 destek zaman çizelgesi güncellendi. Ayrıntılar için Kasım 2023 tarihli blog yayınımızı inceleyin.
Blog yayını: Manifest V3'te içerik filtreleme desteğinde yapılan iyileştirmeler
declarativeNetRequest API'yi nasıl iyileştirdiğimiz hakkında bilgi edinmek için yeni blog yayınımızı inceleyin.
Blog yayını: Uzantıların kullanıldığı Chrome 120'deki yenilikler
Chrome 120 Beta kısa süre önce kullanıma sunuldu. Uzantıların geliştiricileriyle ilgili önemli güncellemelerin özetini Uzantıların Geliştiricileri İçin Chrome 120'deki Yenilikler başlıklı yeni blog yayınımızda bulabilirsiniz. Bu sürüm, kritik platform boşlukları listesinden son iki öğeyi (userScripts, ChromeOS'teki dosya işleyici) kaldırdığı için de önemli bir dönüm noktasıdır.
Duyuru: Geliştirici Kontrol Paneli'nde gizlilik politikası URL'lerinin işlenme şekliyle ilgili değişiklik
Geliştirici Kontrol Paneli'ndeki gizlilik politikaları artık öğe düzeyinde eklenmektedir. Bu sayede öğe başına farklı bir gizlilik politikası sağlayabilirsiniz. Bu değişiklik hakkında daha fazla bilgiyi PSA bulabilirsiniz.
Video: Matt Frisbie ile sohbet
Geliştiriciler İçin Chrome YouTube kanalında Google Geliştirici Uzmanı ve yazar Matt Frisbie ile yaptığımız sohbeti içeren yeni bir video yayınladık. Buradan izleyebilirsiniz.
Uzantıları test etmeyle ilgili yeni yönergeler
Birim testleri yazma ve uçtan uca testle ilgili genel bilgiler ile eğitim de dahil olmak üzere uzantılar için otomatik testler yazmayla ilgili yeni bir kılavuz yayınladık.
Blog yayını: Chrome uzantılarında neler değişiyor? - Ekim 2023
Chrome Uzantıları'nda Neler Değişiyor? başlıklı makalenin ikinci baskısını yayınladık. Bu yayında, uzantı ekibinin son birkaç aydır üzerinde çalıştığı konular (ör. hizmet çalışanı kararlılık sorunlarıyla ilgilenme ve tüm MV3 platform boşluklarını kapatma konusunda iyi bir ilerleme kaydetme) ele alınmaktadır. Ayrıca, Reading List API ve User Scripts API gibi yakında kullanıma sunulacak heyecan verici API'leri de paylaşıyoruz.
Declarative Net Request API'de statik kural kümesi sınırları artırıldı
Web uzantıları Topluluk Grubu'ndaki geri bildirimler doğrultusunda, etkin statik kural kümeleriyle ilgili sınırı 10'dan 50'ye önemli ölçüde artırıyoruz. Ayrıca, izin verilen statik kural kümelerinin toplam sayısını 50'den 100'e çıkarıyoruz. Bu özellik şu anda Canary'da kullanılabilir.
Uzaktan barındırılan kodla ilgili daha iyi rehberlik
Manifest V3'ün bir şartı, uzantıların artık uzaktan barındırılan kod kullanamamasıdır. Bu, başından beri taşıma kılavuzumuzun bir parçası olsa da bu konuyla ilgili kılavuzu iyileştirmenin faydalı olacağını düşündük. Bu sayfada artık Manifest V3'te hâlâ mümkün olanları açıklayan ve yükseltme stratejileri hakkında daha fazla bilgi sağlayan daha fazla bilgi verilmektedir.
Chrome Web Mağazası ihlallerinde sorun giderme başlıklı makaleye ilgili bir ekleme yapıldı. Uzak sunucularda barındırılan koda sahip uzantıların reddedilmesinin yaygın nedenleri yeni bir bölümde açıklanmıştır.
Chrome 118: isUrlFilterCaseSensitive artık varsayılan olarak false değerine ayarlandı
Chrome 118'den itibaren chrome.declarativeNetRequest API'sindeki isUrlFilterCaseSensitive
mülkü varsayılan olarak false
olarak değiştirildi. Eski davranışı korumak istiyorsanız declarativeNetRequest kurallarınızda isUrlFilterCaseSensitive
değerini true
olarak açıkça ayarlayabilirsiniz.
Bu karar, Web Uzantıları Topluluk Grubu'ndaki tartışmalar sonrasında alındı. Firefox ve Safari benzer bir değişikliği zaten uyguladı.
Çerezler ve web depolama API'leriyle ilgili dokümanlar
Çerezlerin ve web depolama API'lerinin Chrome uzantılarında nasıl çalıştığı hakkında yeni bir kılavuz yayınladık. Bu makalede, bir dizi yeni web platformu API'si oluşturarak üçüncü taraf çerezlerinin desteğini sonlandırmaya yönelik devam eden bir proje olan Özel Korumalı Alan'daki çerez ve depolama alanı bölümlendirme değişiklikleri ile bunların uzantılarda nasıl çalıştığıyla ilgili ayrıntılar yer almaktadır.
Uzatma örnekleri artık aranabilir
Yakın zamanda, Chrome uzantısı örneklerini aramanıza olanak tanıyan bir sayfa oluşturduk. Arama sayfasında birden fazla seçenek vardır. Arama kutusu, örnek başlıklarda metin aramanızı sağlar. Aramayı izine veya uzantı API'sine göre kısıtlayabilirsiniz. Ek bir filtre, aramayı API veya işlevsel (kullanım alanı) örnekleriyle kısıtlamanıza olanak tanır.
Bu yeni örnek sayfa, Google Summer of Code katılımcısı Xuezhou Dai tarafından oluşturuldu. Dai, birkaç yeni örneğe de katkıda bulundu. Blogumuzdaki yayında geçtiğimiz yaz yaşadıkları deneyimleri okuyabilirsiniz.
Daha önce olduğu gibi, kod örneklerimiz GitHub'da klonlanabilir veya çatallanabilir.
Chrome 118: Dosya açma işleminde yapılan değişiklikler: şema URL'leri
Chrome 118'den itibaren, uzantıların Tabs veya Windows API'lerini kullanarak file:// şeması URL'lerini açabilmesi için chrome://extensions
sayfasından "Dosya URL'lerine erişime izin ver" ayarının etkinleştirilmesi gerekir. chrome.extension.isAllowedFileSchemeAccess()
işlevini çağırarak bu erişimi programatik olarak kontrol edebilirsiniz. Firefox zaten dosya URL'lerini kısıtlıyor ve Safari bu değişikliği destekliyor. Daha fazla bilgi için uzantılar Google grubundaki yayını okuyun.
Chrome 117: Uzantı API'si gezinmelerinde genişletilmiş URL korumaları
Daha önce tabs.update()
, tabs.create()
ve windows.create()
için uzantı API çağrılarından tetiklenen gezinme, bazı chrome:// URL'leri için hata veriyordu. Ayrıca, tabs.update()
'u JavaScript URL'siyle çağırmak yasaktı. 117'de, JavaScript URL'lerindeki bu korumalar tabs.create()
yöntemine genişletildi ve daha önce bahsedilen yöntemlerin tümü için geçerli olan yasaklanmış URL'ler listesine bir dizi ek chrome:// URL'si eklendi.
declarativeNetRequest API için geliştirilmiş rehberlik
chrome.declarativeNetRequest
API, açıklayıcı kurallar belirterek ağ isteklerini engeller veya değiştirir. Bu sayede uzantılar, ağ isteklerini araya girmeden ve içeriklerini görüntülemeden değiştirebilir. Böylece kullanıcılara daha fazla gizlilik sağlanır. Ayrıca kullanımı da zordur. Bu nedenle, yol gösterici bilgileri, açıklayıcı kural kümelerinin nasıl uygulanacağıyla ilgili daha net bir fikir vereceğini düşündüğümüz şekilde yeniden yazdık. Yukarıdaki bağlantıdan yeni bölümü okuyun.
Google Analytics hesabınızı Chrome Web Mağazası ile kullanma
Chrome Web Mağazası, Google Analytics ile entegrasyon sunar. Bu entegrasyon sayesinde, Geliştirici Kontrol Paneli'nde sunulan görünüme ek olarak Chrome Web Mağazası girişinizle ilgili analizleri görebilirsiniz. Daha fazla bilgi için Google Analytics hesabınızı Chrome Web Mağazası ile kullanma başlıklı makaleyi inceleyin.
Chrome 115: Geliştirici Araçları varsayılan olarak içerik komut dosyalarını atlar
Enjekte edilen içerik komut dosyaları artık varsayılan olarak DevTools'un yoksayılanlar listesinde yer alıyor. Bu durum, kesme noktalarını etkilemez ancak içerik komut dosyalarının hata ayıklama sırasında atlanıp bu komut dosyalarındaki istisnaların yoksayılacağı anlamına gelir. Kaynaklar sekmesinde bir içerik komut dosyası açıkken bu seçenek etkinse bir banner sizi uyarır ve içerik komut dosyanızı yoksayılanlar listesinden kaldırma seçeneği sunar. Bu davranışı devre dışı bırakmak için DevTools'u açın, Ayarlar'a, ardından Yoksay listesi'ne gidin. Daha fazla bilgi için Geliştirici Araçları'ndaki yenilikler başlıklı makaleyi inceleyin.
Chrome 116 beta: Burada sığdıramayacağımız kadar çok şey
Chrome 116, uzantılar için önemli bir sürümdür. Artık yan panelleri programatik olarak açabilirsiniz. Yeni bir yöntem, etkin bir ekran dışı doküman olup olmadığını öğrenmenizi sağlar. Hizmet işçileri için çeşitli iyileştirmeler yapıldı. 116 sürümünde, bunları kapsayan bir blog yayını yazacak kadar iyileştirme yapıldı. Chrome 116, 19 Temmuz itibarıyla beta sürümündedir.
Blog yayını: Chrome uzantılarında neler değişiyor?
Bu yıl uzantılarda yapılan değişikliklere ve iyileştirmelere genel bir bakış sunan bir makale yayınladık. Bu yayında, yan panel API'si, hizmet çalışanı geliştirmeleri ve ekran dışı dokümanlar gibi yılın önemli yeni özellikleri ele alınıyor. Ayrıca bu çeyrekte üzerinde çalıştığımız konulara da göz atabilirsiniz. Makalede, tümünün bağlantılarıyla birlikte çok daha fazlası listelenmiştir.
Yeni rehberlik ve örnek: Chrome uzantınızda Google Analytics 4'ü nasıl kullanacağınızı öğrenin
Yeni Google Analytics ve coğrafi konumla ilgili yönergeler ve örnekler yayınladık:
- Chrome uzantınızda Google Analytics 4'ü nasıl kullanabileceğinizi açıklayan Google Analytics kılavuzumuzun güncellenmiş sürümü. Ayrıca Github örnek deposumuza çalışan bir Google Analytics 4 örneği ekledik. Google Analytics ile ilgili ilgili kod için
google-analytics.js
sayfasına göz atın. - Hizmet çalışanları, içerik komut dosyaları, pop-up'lar ve yan panellerde coğrafi konuma nasıl erişileceğini gösteren yeni bir coğrafi konum rehberi ve üç örnek.
Chrome 115: chrome.offscreen.createDocument() işlevinde birden fazla neden belirtme
Artık chrome.offscreen.createDocument()
işlevini çağırırken birden fazla reason
enum belirtebilirsiniz. Ekran dışı bir doküman birden fazla farklı amaç için kullanılacaksa bunu kullanın. Tarayıcı, ekran dışındaki belgenin ömrünü belirlemek için sağlanan nedenleri kullanır.
Yeni araç: Uzantı Güncelleme Testi Aracı
İzin verme işlemleri dahil olmak üzere yerel geliştirme sırasında Chrome uzantılarındaki güncellemeleri test etmek için kullanılabilen yerel bir uzantı güncelleme sunucusu olan Uzantı Güncelleme Testi Aracı'nı kullanıma sunduk. Araç, kullanıcının güncelleme akışını gösterir. Bu akışta, kullanıcı yeni istenen izinleri verene kadar uzantının devre dışı tutulması da yer alır. Bu araç özellikle bir uzantıyı Manifest V2'den Manifest V3'e güncellerken istenen izin değişikliklerini simüle etmek için kullanışlıdır.
Chrome 114: Yeni Yan Panel API'si
Kullanıcıların göz attıkları içeriğin yanı sıra araçlara da erişmelerine olanak tanıyan yeni Side Panel API'yi kullanıma sunuyoruz. Daha fazla bilgi için Yan Panel API referansı sayfasını ziyaret edin. Ayrıca, GitHub örnek depomuza birçok yan panel örneği ekledik. Yeni Yan Panel API'si ile Üstün Bir Kullanıcı Deneyimi Tasarlama başlıklı yeni blog yayınımızda yan paneller hakkında daha fazla bilgi paylaşıyoruz. Yüksek kaliteli yan panel uzantıları oluşturma konusunda daha fazla rehberlik sağlamak için kalite yönergeleri politikamız ve en iyi uygulamalarımız da incelendi.
Bu API'nin oluşturulmasında geri bildiriminiz önemlidir. Lütfen düşüncelerinizi ve özellik isteklerinizi chromium-groups üzerinden paylaşın. Yan Panel API'yi geliştirmeye devam ederken yeni güncellemeleri takip edin.
Yeni Örnekler: Uzantılarda WASM
WASM'in bir uzantıda nasıl kullanılacağını gösteren iki yeni örnek mevcuttur:
- Manifest V3'te WASM kullanma, WASM modülü eklemeyle ilgili genel yöntemi gösterir.
- Manifest V3'te WASM'i modül olarak kullanma başlıklı makalede, WASM'in bir modülde nasıl kullanılacağı gösterilmektedir.
Bu örnekler için GitHub'da katkıda bulunan @daidr'ye özel teşekkürler.
Güncellenen Manifest V3 taşıma kılavuzu
Manifest V3 taşıma rehberimizin Bilinen Sorunlar bölümünü, yeni bir Manifest V2 desteği sonlandırma zaman çizelgesi duyurmadan önce kapatmayı planladığımız uzantı platformu boşluklarının güncellenmiş bir listesiyle güncelledik.
Manifest V3 ile ses ve video kaydı yapma
Manifest V3'te sekme, pencere veya ekrandan ses veya video kaydetmeyi kapsayan Ses kaydı ve ekran görüntüsü başlıklı yeni bir makale yayınladık. Bu makalede, chrome.tabCapture
API'sini ve getDisplayMedia()
işlevini içeren kayıtla ilgili birden fazla yaklaşım açıklanmaktadır.
Chrome 114: Artırılmış depolama alanı.yerel kota
storage.local
mülkünün kotasını yaklaşık 10 MB'a çıkardık. Bu karar, Web Uzantıları Topluluk Grubu tarafından onaylandı. Bu sayede storage.local
, Chrome 112'de değiştirilen storage.session
ile uyumlu hale getirilmiştir.
Yeni uzantı hizmet çalışanı eğitimi ve yardımı
Hizmet İşleyiciler, Chrome uzantılarının ayrılmaz bir parçasıdır. Kayıt, hata ayıklama ve Hizmet İşleyicilerle etkileşime geçmeyle ilgili temel bilgileri açıklayan bir eğitim yayınladık. Ayrıca önemli kavramları daha ayrıntılı bir şekilde açıklayan yeni bir hizmet çalışanı kılavuzu da ekledik. Bu bölümü önümüzdeki aylarda genişleteceğiz.
Web Mağazası ihlalleriyle ilgili daha fazla sorun giderme ipucu
Chrome Web Mağazası'nda yayınlama konusunda yardımcı olmak için iki alanda yeni yönergeler ekledik. Minimum işlevsellik ile ilgili yönergeler, kullanıcılara avantajlar sunma ve web'de gezinme deneyimlerini zenginleştirme üzerine odaklanır. Satış ortağı reklamları ile ilgili yönergeler, kullanıcıların para kazanmak için satış ortağı bağlantılarını veya kodlarını kullanan uzantılardan haberdar olmasını sağlama ve dahil edilmeden önce kullanıcının işlem yapmasını zorunlu kılarak onlara bir miktar kontrol sunma hakkındadır.
Uzantı manifesti dönüştürücüsü için yeni talimatlar
Aracı çalıştırdıktan sonra yapmanız gerekenleri daha kolay görebilmeniz için Uzantı Manifesti Dönüştürücü'nün README dosyasını yeniden yazdık. Dönüştürücü, Manifest V2'de oluşturulan uzantıların Manifest V3'e taşınmasına yardımcı olur. Yeni README, aracın ne yaptığını taşıma rehberinin yapılacaklar listesinde bulunanlarla yakından eşleşen kelimeler kullanarak açıklar. Dönüştürücü her şeyi yapmasa da insan müdahalesi gerektirmeyen birçok görevi ortadan kaldırır.
Chrome 113: Ekran dışı dokümanlar için yeni nedenler
Ekran Dışı Dokümanlar API'sine iki yeni neden türü ekledik. Web platformunun localStorage API'sine erişmek için LOCAL_STORAGE
öğesini kullanın. Web işçileri oluştururken WORKER
kullanın.
Google Analytics 4 artık Geliştirici Kontrol Paneli'nde
Chrome Web Mağazası Geliştirici Kontrol Paneli artık Google Analytics 4'ü (GA4) destekliyor. Google Analytics'i ayarlama işlemini basitleştirdik ve grup yayıncıları için erişim yönetimini daha kolay hale getirdik. Mağaza girişi etkinliğinizi izlemek için daha önce Google Universal Analytics'i kullandıysanız mağaza girişinizle ilgili veri almaya devam etmek için 1 Temmuz 2023'e kadar işlem yapmanız gerekir. Daha fazla bilgi için Chromium Uzantılar Google Grubu'ndaki yayına göz atın.
File Handling API, ChromeOS'e geliyor
Dosya İşleyici API'si, ChromeOS'te 112 ve 113 sürümleri için Canary'da deneme amaçlı olarak kullanılabilir. ChromeOS'teki uzantıların, belirtilen MIME türlerine ve dosya uzantılarına sahip dosyaları açmasına olanak tanır. Dosya işleme özelliğini uygulamak için manifest.json
dosyasına bir dizi kural ekleyin. Bu özellik, progresif web uygulamalarıyla aynı şekilde çalışır. Daha fazla bilgi için bu sitedeki makaleyi inceleyin.
Dosya işlemeyi etkinleştirmek için:
- 112 sürümünden itibaren Chrome'u
--enable-features=ExtensionWebFileHandlers
işaretini kullanarak başlatın - 113'ten itibaren
os://flags/#extension-web-file-handlers
simgesini Chrome her şey için bir kutusuna yapıştırın ve açılır menüden "Etkin"i seçin.
Bu özelliği Haziran ayının sonlarında Chrome 115'te kullanıma sunmayı umuyoruz. Gelişmeler için bu sayfayı takip edin.
Yeni Örnekler: dinamik beyanlar ve programatik ekleme
chrome.scripting
API için yeni bir örnek oluşturduk. Bir içerik komut dosyasının çalışma zamanında kaydedildiği dinamik beyanları ve bir komut dosyasının zaten açık olan bir sekmede yürütüldüğü programatik eklemeyi gösterir.
Yeni Örnekler: Bildirimsel Net İstek kullanım alanları
Declarative Net Request API'yi gösteren üç yeni örnek kullanıma sunuldu. Her biri tek bir kullanım alanının uygulanmasını gösterir. İlkinde çerezlerin nasıl engelleneceği gösterilmektedir. Kalan iki örnekte ise URL'lerin engellenmesi ve yönlendirilmesi gösterilmektedir.
Chrome 112: Artırılmış storage.session kotası
Chrome 112'den itibaren storage.session
mülkünün kotası yaklaşık 10 MB'a yükseltildi. Bu karar, Web Uzantıları Topluluk Grubu'nda kabul edildi: https://github.com/w3c/webextensions/issues/350
Chrome 109: Ekran dışındaki dokümanlar
Ekran dışı dokümanlar artık Manifest V3 uzantılarında kullanılabilir. Bunlar, DOM ile ilgili özellikler ve API'ler için destek sağlayarak arka plan sayfalarından uzantı hizmet çalışanlarına geçişe yardımcı olur. Daha fazla bilgi için blog yayınını okuyun.
Chrome 110: Uzantının etkin olup olmadığı
chrome.action.isEnabled()
yöntemi, bir uzantının belirli bir sekme için etkinleştirilip etkinleştirilmediğini programatik olarak kontrol eder. Bu sayede sekmelerinizin etkin durumunu korumanız gerekmez. Bu yeni yöntem, bir sekme kimliği ve geri çağırma işlevine referans alır ve bir boole değeri döndürür. Bunun tek bir sınırlaması vardır: chrome.declarativeContent
kullanılarak oluşturulan sekmeler her zaman yanlış değerini döndürür.
(chrome.action
ad alanı yakın zamanda uzantı rozetlerinin görünümünü kontrol etmek için yeni yöntemler aldı. Daha fazla bilgi için Rozet renklerini ayarlama başlıklı makaleyi inceleyin.)
Chrome 110: Hizmet çalışanı boşta kalma zaman aşımında değişiklik
Daha önce, uzantı hizmet çalışanları genellikle beş dakika işaretinde kapanıyordu. Bu davranışı, web'deki hizmet çalışanı ömrüne daha çok benzeyecek şekilde değiştirdik. Uzantı hizmet işçisi, otuz saniye boyunca işlem yapılmadığında veya tek bir etkinliğin işlenmesi 5 dakikadan uzun sürdüğünde kapatılır. Daha fazla bilgi için Daha uzun uzantı hizmet işçisi yaşam süreleri başlıklı makaleyi inceleyin.
Gönderi: Manifest V2 kullanımdan kaldırma sürecini duraklatma
Manifest V2 desteğinin sonlandırılması zaman çizelgeleri inceleniyor ve 2023'ün başlarında planlanan denemeler erteleniyor. Daha fazla bilgi için chromium-extensions Google Grubu'ndaki güncellemeyi okuyun.
Chrome 110: Rozet renklerini ayarlama
chrome.action
ad alanının görünüm uzantısı rozetleri üzerinde daha fazla kontrol sahibi olmanızı sağlayacak iki yeni yöntemi vardır. setBadgeTextColor()
ve getBadgeTextColor()
yöntemleri, bir uzantının araç çubuğu simgesinin rozet metin rengini değiştirmesine ve sorgulamasına olanak tanır. Bu yeni yöntemler, setBadgeBackgroundColor
ve getBadgeBackgroundColor
ile birlikte kullanıldığında tasarım ve marka tutarlılığını zorunlu kılmanıza olanak tanır.
Blog yayını: Manifest V3'e geçiş hakkında daha fazla bilgi
Manifest V2 desteğinin sonlandırılmasıyla ilgili zaman çizelgesini netleştirdik. Manifest V2 destek zaman çizelgesi de bu bilgileri yansıtacak şekilde güncellendi.
Dokümanlar güncellemesi: Manifest V3'e geçiş sırasında bilinen sorunlar
Şu anda geliştirme aşamasında olan önemli özelliklerin ve açık hataların listesini hazırladık. Bu sayfayı, geliştiricilerin platformun mevcut durumunu ve geleceğe hazırlanırken hangi özellikleri hedefleyebileceklerini daha iyi anlamalarına yardımcı olmak için oluşturduk.
Chrome Web Mağazası: "Büyük promosyon karosu" resim yükleme özelliği kaldırıldı
Chrome Web Mağazası, geliştirici kontrol panelindeki öğe mağaza girişi sekmesinden "büyük promosyon karosu" yükleme kullanıcı arayüzünü kaldırdı. Bu resimler tüketici kullanıcı arayüzünde kullanılmadığından bu değişiklik son kullanıcı deneyimini etkilemez. Daha fazla bilgi için bu chromium-extensions yayınını inceleyin.
Chrome 106: file:// URL'lerindeki sayfaların web'e erişilebilen kaynaklara erişmesine izin ver
crbug.com/1219825#c11 adresine göre, korumalı alan içeren iframe'ler ve dinamik içe aktarma gibi opak kaynaklar da web'e erişilebilir kaynaklara erişebilmelidir.
Chrome 106: Bazı asenkron API işlevlerinde yanlış nihai bağımsız değişkenlere izin veren hata düzeltildi
Daha önce, async API'leri çağıran Manifest V3 geçersiz bir nihai bağımsız değişken sağlayabiliyordu ve Chrome hata vermiyordu. Bu düzeltmeyle birlikte Chrome artık doğru şekilde hata verecek ve eşleşen imza olmadığını bildirecektir. Geliştiricilerin, bu hata düzeltmesi nedeniyle bozulacak bir API çağrısı için yanlış imzayı yanlışlıkla kullanması ihtimaline karşı Canary'da uzantılarını kontrol etmeleri önerilir.
Blog yayını: Chrome Web Mağazası analizlerinde yenileme
Chrome Web Mağazası, Chrome Web Mağazası Geliştirici Kontrol Paneli için yenilenmiş bir öğe analizi deneyimine sahiptir. Yeni kontrol paneli, bir bakışta daha kolay anlaşılır ve en yararlı bilgileri ön plana çıkarır. Daha fazla bilgi için blog yayınını okuyun.
Chrome 105: Identity API ile ilgili vaatler
Identity API'deki işlevler artık promise tabanlı çağrıları destekliyor. Bu, identity.getAuthToken()
için yüzeyde küçük bir değişiklikle birlikte gelir. Söz konusu değişiklikte, ara vermeden döndürülen değer, söze dayalı bir çağrıya ayarlanır ve tek bir nesnede "token" ve "grantedScopes" parametreleri bulunur (geri çağırma sürümünde bu parametreler geri çağırma için ayrı bağımsız değişkenler olarak alınır).
Chrome 104: Manifest V3 için yeni simge API'si
Manifest V3 uzantıları artık yeni bir URL kalıbı kullanarak simge favicon'lerine erişebilir: chrome-extension://<id>/_favicon/
. Burada chrome://favicons
API'sinin yerini alır. Daha fazla bilgi için Favicon API dokümanlarına göz atın.
Doküman güncellemesi: Geliştirici tacirleri/tacirler olmayanlar için açıklama
Geliştiricilerin, tüccar/tüccar olmayan durumlarını doğru şekilde beyan etmeleri gerektiğini bildiren tüccar/tüccar olmayan geliştirici tanımlaması eklendi.
Chrome 103: Manifest V3'teki Wasm için wasm-unsafe-eval gereklidir
Chrome artık varsayılan olarak uzantılara script-src: wasm-unsafe-eval
izni vermemektedir. WebAssembly kullanan uzantılar artık bu yönergeyi ve değeri content_security_policy
beyanlarında extension_pages
öğesine açıkça eklemelidir.
Chrome 103: Değişen MV3 kısayolları hemen geçerli olur
chrome://extensions/shortcuts
'te bir Manifest V3 uzantısının klavye kısayolu değiştirilirken güncellemeler artık hemen uygulanıyor. Daha önce, değişikliğin geçerli olması için uzantının yeniden yüklenmesi gerekiyordu.
Chrome 102: Ana dünyada dinamik içerik komut dosyaları
Dinamik olarak kayıtlı içerik komut dosyaları artık öğelerin yerleştirileceği dünyayı belirtebilir. Ayrıntılar için scripting.registerContentScripts()
bölümüne bakın.
Chrome 102: "optional_host_permissions" adlı yeni manifest alanı
Manifest V3 uzantıları artık manifest.json dosyasında optional_host_permissions
anahtarını belirtebilir. Bu, Manifest V3 uzantılarının optional_permissions
anahtarını kullanarak Manifest V2 uzantılarının yaptığı gibi ana makineler için isteğe bağlı eşleme kalıpları tanımlamasına olanak tanır.
Chrome 102: scripting.executeScript() işlevinde injectImmediately mülkü
chrome.scripting.executeScript()
artık injection
bağımsız değişkeninde isteğe bağlı bir injectImmediately
mülkü kabul ediyor. Mevcutsa ve doğru olarak ayarlandıysa komut dosyası, document_idle
değerini beklemek yerine hedefe mümkün olan en kısa sürede eklenir. API çağrısı yapılırken sayfa yüklenmeye devam ettiğinden, komut dosyasının sayfa yüklenmeden önce ekleneceğinden emin olamazsınız.
Chrome 102: Manifest V3'te Omnibox API desteği
Herkese açık alan API'si artık hizmet işçisine dayalı uzantılarda kullanılabilir. Daha önce bu API'nin bazı yöntemleri, DOM özelliklerine olan dahili bağımlılıklar nedeniyle çağrı sırasında hata veriyordu.
Chrome 102: Manifest V3 CSP'de wasm-unsafe-eval'e izin verildi
Manifest V3 uzantıları artık content_security_policy
beyanlarına wasm-unsafe-eval
ekleyebilir. Bu değişiklik, Manifest V3 uzantılarının WebAssembly'i kullanmasına olanak tanır.
Chrome 102: Yeni storage.session API
Manifest V3 uzantıları artık bellek depolama alanında storage.session kullanabilir .
Dokümanlar güncellemesi: Chrome Web Mağazası öğe keşfi
Chrome Web Mağazası'nda keşif, kullanıcıların Chrome Web Mağazası'nda öğeleri nasıl bulduğuna ve editörlerimizin öne çıkarılacak öğeleri nasıl seçtiğine genel bir bakış sunar.
Chrome 101: declarativeNetRequest alan koşulları iyileştirildi
declarativeNetRequest kural koşulları, uzantıların isteğin "request" ve "initiator" alanlarına göre istekleri daha iyi hedeflemesine olanak tanımak için güncellendi. İlgili koşul özellikleri initiatorDomains
, excludedInitiatorDomains
, requestDomains
ve excludedRequestDomains
'dır. Bu chromium-extensions ileti dizisine de göz atın.
Chrome 100: Yeni oluşturulan sekmelerde scripting.executeScript() ile ilgili sorun çözüldü
Yeni oluşturulan bir sekmede veya pencerede scripting.executeScript()
çağrısının başarısız olabileceği uzun süredir devam eden bir sorun düzeltildi.
Chrome 100: Yerel mesajlaşma bağlantı noktası, hizmet çalışanını çalışır durumda tutar
Bir uzantının hizmet çalışanında chrome.runtime.connectNative()
kullanılarak yerel bir mesajlaşma ana makinesine bağlanıldığında, bağlantı noktası açık olduğu sürece hizmet çalışanı etkin kalır.
Chrome 100: omnibox.setDefaultSuggestion() işlevi, promises ve geri çağırma işlevlerini destekler
omnibox.setDefaultSuggestion()
yöntemi artık geliştiricilerin önerinin ne zaman doğru şekilde ayarlandığını belirlemesine olanak tanımak için bir promise döndürüyor veya geri çağırma işlevi kabul ediyor.
Chrome 100: Uzantı hizmet işçilerinde i18n.getMessage() desteği
chrome.i18n.getMessage()
API artık uzantı hizmet işçisi bağlamlarında destekleniyor.
Chrome 99: Canary'da match_origin_as_fallback
İçerik komut dosyaları artık about:
, data:
, blob:
ve filesystem:
URL'leri içeren çerçeveler de dahil olmak üzere eşleşen bir çerçeveyle ilgili çerçevelere eklenecek match_origin_as_fallback
anahtarını belirtebilir. Ayrıntılar için içerik komut dosyaları dokümanlarına bakın.
Chrome 99: Canary'da file: şemaları için uzantı hizmet çalışanı desteği
Hizmet işçisine dayalı Manifest V2 ve Manifest V3 uzantıları artık file:
şeması URL'leri istemek için Fetch API'yi kullanabilir. file:
şeması URL'lerine erişmek için kullanıcının chrome://extensions
sayfasında uzantı için "Dosya URL'lerine erişime izin ver" seçeneğini etkinleştirmesi gerekir.
Chrome 99: Canary'da mesajlaşma API'leri için destek sözü
Manifest V3 için oluşturulan uzantılarda tabs.sendMessage
, runtime.sendMessage
ve runtime.sendNativeMessage
için Promise desteği eklendi.
Dokümanlar güncellemesi: Chrome Web Mağazası inceleme dokümanları
Chrome Web Mağazası inceleme sürecine genel bakış sunan ve geliştirici program politikasının nasıl uygulandığını açıklayan yeni bir referans sayfası eklendi.
Chrome 98: scripting.executeScript() ve scripting.insertCSS() birden fazla dosyayı kabul eder
Scripting API'nin executeScript()
ve insertCSS()
yöntemleri artık birden fazla dosya kabul ediyor. Daha önce bu yöntemler için tek bir dosya girişi içeren bir dizi gerekiyordu.
Dokümanlar güncellemesi: İnceleme ihlali ile ilgili sorun giderme güncellemeleri
Chrome Web Mağazası ihlallerinde sorun giderme sayfası, geliştiricilere ret almalarının yaygın nedenleriyle ilgili daha ayrıntılı rehberlik sunmak için güncellendi.
Chrome 96: Promise desteği 27 API daha eklendi
Bu sürüm, önceki sürümlere kıyasla çok daha fazla söz güncellemesi içeriyor. Güncellemeler hem genel hem de ChromeOS'e özgü uzantı API'lerini içerir. Ayrıntılar için aşağıdaki bölümleri genişletin.
Uzantı API'leri
Manifest V3'te artık çeşitli API'ler için promises desteklenmektedir.
chrome.browsingData
chrome.commands
chrome.contentSettings
chrome.debugger
chrome.downloads
chrome.enterprise.hardwarePlatform
chrome.fontSettings
chrome.history
chrome.instanceID
chrome.permissions
chrome.processes
chrome.search
chrome.sessions
chrome.topSites
Ayrıca, ChromeSetting
prototipini kullanan API'ler artık vaatleri de desteklemektedir. Aşağıdaki API'ler bu değişiklikten etkilenir.
ChromeOS API'leri
chrome.certificateProvider
chrome.documentScan
chrome.enterprise.deviceAttributes
chrome.enterprise.networkingAttributes
chrome.fileBrowserHandler
chrome.fileSystemProvider
chrome.loginState
chrome.printingMetrics
chrome.wallpaper
Chrome 96: dinamik içerik komut dosyaları
chrome.scripting
API artık çalışma zamanında içerik komut dosyalarının kaydolmasını, güncellenmesini, kaydını silmesini ve listesini almasını destekler. Önceden, içerik komut dosyaları yalnızca bir uzantının manifest.json dosyasında statik olarak tanımlanabiliyordu veya chrome.scripting.executeScript()
ile çalışma zamanında programatik olarak enjekte edilebiliyordu.
Dokümanlar güncellemesi: Manifest V2 destek zaman çizelgesi
Manifest V2'den V3'e geçiş zaman çizelgesi bu blog yayınında duyuruldu ve daha ayrıntılı bir zaman çizelgesi sayfası yayınlandı.
Chrome 96: declarativeNetRequestWithHostAccess izni
Yeni declarativeNetRequestWithHostAccess
izni, uzantıların barındırıcı izinlerine sahip olduğu sitelerde chrome.declarativeNetRequest
API'yi kullanmasına olanak tanır. Bu, webRequest
, webRequestBlocking
ve siteye özgü ana makine izni kullanan mevcut Manifest V2 uzantılarının, kullanıcının yeni izinleri onaylamasını gerektirmeden chrome.declarativeNetRequest
API'ye taşınmasını da sağlar.
Chrome 95: Komut dosyalarını doğrudan sayfalara yerleştirme
chrome.scripting
API'sinin executeScript()
yöntemi artık komut dosyalarını doğrudan sayfanın ana dünyasına enjekte edebilir. Daha önce uzantılar yalnızca doğrudan uzantının izole dünyasına kod enjekte edebiliyordu. İzole dünyalar hakkında daha fazla bilgi için içerik komut dosyaları ile ilgili dokümanlara bakın.
Chrome 95: Storage API için destek sözü
chrome.storage
API'sinin Manifest V3 sürümündeki yöntemler artık promise döndürüyor.
Politika güncellemesi: 2 adımlı doğrulama zorunluluğu
29 Haziran 2021'de yayınlanan politika güncellemesi blog yayını, iki adımlı doğrulama dağıtım zaman çizelgesini düzeltmek için güncellendi.
Chrome 94: declarative net request statik kural kümesi değişiklikleri
chrome.declarativeNetRequest
artık 50'ye kadar statik kural kümesi (MAX_NUMBER_OF_STATIC_RULESETS) belirtmeyi ve aynı anda 10'a kadar kural kümesini (MAX_NUMBER_OF_ENABLED_STATIC_RULESETS) etkinleştirmeyi destekliyor.
Chrome 93: Çapraz kaynak izolasyonu desteği
Hem Manifest V2 hem de Manifest V3 uzantıları artık kaynaklar arası izolasyonu etkinleştirebilir. Bu özellik, hangi kaynakta kaynak olmayan kaynakların bir uzantının sayfalarını yükleyebileceğini sınırlar ve SharedArrayBuffer
gibi düşük düzey web platformu özelliklerinin kullanılmasını sağlar. Chrome 95'ten itibaren bu özelliği etkinleştirmeniz gerekecek.
Politika güncellemesi: Geliştirici program politikaları güncellendi
Chrome Web Mağazası Geliştirici Program Politikaları, aldatıcı yükleme taktikleri, spam ve tekrar eden içerik politikalarıyla ilgili açıklamaların eklenmesi için güncellendi. Bu güncelleme, Chrome Web Mağazası'nda yayınlamak için yeni bir iki adımlı doğrulama koşulu da içerir. Daha fazla bilgi için blog yayınını okuyun.
Blog yayını: Manifest V3'teki uzantı işlemleri
Chrome uzantılarında yıllarca chrome.browserAction
ve chrome.pageActions
API'leri vardı ancak Manifest V3, her ikisini de genel bir chrome.actions
API ile değiştirdi. Bu makalede, bu API'lerin geçmişi ve Manifest V3'te neler değiştiği ele alınmaktadır. Gönderiyi okuyun.
Blog yayını: chrome.scripting'i kullanıma sunuyoruz
chrome.scripting
API, komut dosyası yazmaya odaklanan yeni bir Manifest V3 API'sidir. Bu yayında, bu değişikliğin nedenlerini ve yeni özelliklerini daha ayrıntılı bir şekilde ele alıyoruz. Gönderiyi okuyun.
Chrome 92: Modül hizmet çalışanı desteği
Chrome artık servis çalışanlarındaki JavaScript modüllerini destekliyor. Manifest dosyanızda bir modülü belirtmek için:
"background": {
"service_worker": "script.js",
"type": "module"
}
Bu işlem, çalışan komut dosyasını bir ES modülü olarak yükler. Bu sayede, diğer modülleri içe aktarmak için çalışan komut dosyasında import
anahtar kelimesini kullanabilirsiniz.
Chrome 91: chrome.action.getUserSettings()
Yeni chrome.action.getUserSettings()
yöntemi, uzantıların kullanıcının uzantıyı ana araç çubuğuna sabitleyip sabitlemediğini belirlemesine olanak tanır.
Chrome 90: chrome.scripting.removeCSS()
Yeni chrome.scripting.removeCSS()
yöntemi, uzantıların daha önce chrome.scripting.insertCSS()
aracılığıyla eklenen CSS'yi kaldırmasına olanak tanır. chrome.tabs.removeCSS()
yerine kullanılır.
Chrome 90: scripting.executeScript() işlevinden dönen promises
chrome.scripting.executeScript()
artık geri gelen vaatleri destekliyor. Komut dosyası yürütmesinin sonucu bir sözse Chrome, sözün karar vermesini ve sonuç değerini döndürmesini bekler.
Chrome 90: chrome.scripting.executeScript() sonuçları frameId içeriyor
chrome.scripting.executeScript()
tarafından döndürülen sonuçlar artık frameId değerini içeriyor.
frameId
mülkü, sonucun alındığı kareyi belirtir. Böylece uzantılar, birden fazla kareye eklenirken sonuçları tek tek karelerle kolayca ilişkilendirebilir.
Chrome 89: Sekme gruplarını yönetmek için yeni API
Yeni chrome.tabGroups
API'si ve chrome.tabs
'teki yeni özellikler, uzantıların sekme gruplarını okumasına ve bunlar üzerinde işlem yapmasına olanak tanır.
Manifest V3 gerektirir.
Chrome 89: Web'e erişilebilen kaynaklar için özelleştirilebilir izinler
Manifest V3'teki web'e erişilebilir kaynaklar tanımları, uzantıların kaynak veya uzantı kimliğine göre kaynak erişimini kısıtlamasına olanak tanıyacak şekilde değiştirildi.
Blog yayını: Uzantı Manifesti Dönüştürücü
Chrome Uzantıları Ekibi, uzantıları Manifest V3'e dönüştürmenin teknik yönlerinin bazılarını otomatikleştiren bir Python aracı olan "Extension Manifest Converter"ı açık kaynak olarak yayınladı. Duyuruyu paylaştığımız blog yayınına göz atın ve GitHub'dan edinin.
Chrome 88: Manifest V3 genel kullanıma sunuldu
Manifest V3, uzantı platformunda yapılan önemli bir güncellemedir. Yeni ve değiştirilen özelliklerin özeti için Manifest V3'e genel bakış başlıklı makaleyi inceleyin. Uzantılar şimdilik Manifest V2'yi kullanmaya devam edebilir ancak bu özellik yakın gelecekte kullanımdan kaldırılacaktır. Yeni uzantılar için Manifest V3'ü kullanmanızı ve mevcut uzantıları en kısa sürede Manifest V3'e taşımaya başlamanızı önemle tavsiye ederiz.