Chrome uzantılarında, uzantı dokümanlarında yapılan değişiklikler veya ilgili politika ya da diğer değişiklikler hakkında bilgi edinmek için bu sayfayı sık sık kontrol edin. Uzantılar Google Grubu'nda yayınlanan diğer bildirimleri bulabilirsiniz. Kararlı ve beta sürümlerin yayınlanma tarihleri Chrome yayın planında listelenir.
Blog yayını: Chrome Uzantıları'nda neler oluyor?, 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. Bu konu hakkında tüm bilgileri Chrome Uzantıları'nda neler oluyor? Ekim ayı sayısı'nda bulabilirsiniz.
Yerleşik AI Yarışması'na katılın
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.
Kaydolun ve Yerleşik Yapay Zeka Yarışması web sitesinden 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 getKeys() yöntemi, chrome.storage
API tarafından kullanılan StorageArea arayüzünde kullanılabilir. Bu karar, WebExtensions Topluluk Grubu'ndaki bir öneriden sonra alındı.
Chrome 128: Bildirim Temelli Net İstek'te 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. Bu, özellikle Content-Type başlığını eşleştirmek için yaygın bir istek olduğundan WebExtensions Topluluk Grubu ile birlikte uygun bir API 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ına göz atın.
Ö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ı rızasını sağlamak için Geliştirici Program Politikaları sayfasında bir dizi güncelleme 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 oluyor?, Temmuz 2024
Geçtiğimiz üç ay içinde, Manifest V2'nin aşamalı olarak kullanımdan kaldırılmasının başlaması da dahil olmak üzere çeşitli önemli güncellemeleri ve yeni özellikleri kullanıma sunduk. Chrome Uzantıları'nda Neler Oluyor? Temmuz ayı bültenini inceleyerek gelişmelerden haberdar olun.
Video: Uzaktan 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ına göz atın.
Chrome 127: Yeni action.openPopup API
Chrome 127'den itibaren action.openPopup
API'si tüm uzantılar tarafından kullanılabilir. Önceden yalnızca Canary'da veya politika tarafından yüklenen uzantılarda kullanılabiliyordu.
Video: Güvenlik ekibiyle görüşme
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ına göz atın.
Blog yayını: Manifest V2'nin kullanımdan kaldırılması başlıyor
3 Haziran'dan itibaren Chrome Beta, Yeni Geliştirilenler ve Canary kanallarında Manifest V2 uzantıları yüklü olan bazı kullanıcılar, uzantı yönetim sayfalarını (chrome://extensions) ziyaret ettiklerinde bir uyarı banner'ı görmeye başlayacaklar. Bu banner'da, yükledikleri bazı (Manifest V2) uzantıların yakında desteklenmeyeceğini bildirecekler. Daha fazla bilgi için resmi duyuruyu inceleyin.
Yan panel kullanıcı arayüzünde yapılan güncellemeler
Kısa süre önce yan panel kullanıcı arayüzünde raptiye simgesi ekleme ve genel yan panel simgesini kaldırma gibi bazı değişiklikler yaptık. Daha fazla bilgi için kamuoyu duyurumunu 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 ve öne çıkan anlar için blog yayınımızı okumak üzere YouTube'a gidin.
Uygun bildirimsel ağ isteği değişiklikleri için incelemeyi atlama
Chrome Web Mağazası artık Declarative Net Request API'yi kullanırken uygun değişikliklerin incelemesini 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 Deneme sürümlerini 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ı: Nisan 2024'te Chrome Uzantıları'nda neler oluyor?
Chrome Uzantılarında Neler Oluyor? bölümünün 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. Bunlardan bazıları: Chrome Web Mağazası'nda sürüm geri alma, daha iyi Firebase Auth desteği ve daha fazla API lansmanı ve güncellemesi.
Chrome Web Mağazası Geliştirici Kontrol Paneli'nde sürüm geri alma
Ek inceleme yapmadan uzantınızı Chrome Web Mağazası'nda yayınlanan önceki sürüme geri döndürün. Daha fazla bilgi için blog yayınını ve dokümanları okuyun.
Chrome 124: Gelişmiş documentScan API
ChromeOS'te artık ekli belge tarayıcılardan resim bulup almak için gelişmiş documentScan
API'yi kullanabilirsiniz.
Chrome 124: Hizmet Çalışanlarında WebGPU desteği
Hizmet çalışanları, Chrome 124'ten bu yana WebGPU'yu desteklemektedir. Hızlı 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 desteklemektedir. CIDR bloğu, bir ağ ön ekini ve aynı sayıda biti paylaşan IP adreslerinden oluşan bir koleksiyondur. Önceden, bir geliştiricinin blok aralığındaki her bir adres için bir filtre kuralı yapılandırmak üzere birden çok IP adresini filtrelemesi gerekiyordu. Artık bir uzantı addListener()
'ü çağrdığında, iletilen kural, etkinlik işleyicinin yalnızca bir URL'nin ana makine bölümü bir IP adresi olduğunda ve bir dizede belirtilen CIDR bloklarından herhangi birinde bulunduğunda çağrılacağını belirtir.
Chrome Web Mağazası: Uzantı adı uzunluğuyla ilgili şartlarda güncelleme
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 uygulamanın amacı, aynı sayıda karakterle yakalanamayacak kültürel ve dil farklılıklarını da göz önünde bulundurmaktı. Ne yazık ki bu özellik, mağazaya spam göndermek için az sayıda geliştirici tarafından kötüye kullanıldı. Sonuç olarak yeni bir evrensel sınırı, yani 75 karaktere yükseltiyoruz. 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 uzunluğu maksimum sınırı aşan 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 yazılan bu gönderide, uzantı hizmet işçilerini test etme sorununu ele alıyoruz. 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 çalışanlarını kullanır. Hizmet çalışanları, 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 uyku moduna geçtiğinde ertelenmiyor. Cihaz uyandığında, kaç alarm kaçırılmış olursa olsun
alarm bir kez etkinleşir. Örneğin, bir alarmın saatte bir kez çalacak şekilde ayarlandığını ve bulunduğu cihazın 02:55 ile 02:05 arasında uykuda
olduğunu, sonra yalnızca 02:00 alarmının onAlarm
etkinliğini tetiklediğini varsayalım.
Saat 02:00'ye olabildiğince yakın bir zamanda ve uykuda olan bir cihaz uyandığı anda hemen tetiklenir.
Bu değişiklik, Chrome'u Web Uzantıları Topluluğu 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), hızlı ileri ve geri gezinmeyi sağlayan bir tarayıcı optimizasyonudur. Chrome 123'ten itibaren, açık uzantı bağlantı noktası olan bir sayfa bfcache'te depolandığında mesaj kanalı kapatılır. Bu durumda, söz konusu sayfaya mesaj gönderilmez.
Sonuç olarak, uzantı komut dosyalarının onDisconnect
gibi yaşam döngüsü olaylarını dinlemesi ve sayfa BFCache'den geri yüklendiğinde yeni bir bağlantı oluşturması gerekir.
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: Eşzamansız 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 (ör. 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â desteklenmektedir. Başarısız olan bir Promise bulursanız lütfen hata bildiriminde bulunun.
Gerçek zamanlı iletişim için yeni yönergeler
Uzantılardaki gerçek zamanlı seçenekler ile ilgili kılavuzları kısa süre önce yayınladık. 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 kılavuz ve örnek: Hizmet çalışanının kapatılmasını test etme
Hizmet çalışanı fesihlerinin Puppeteer ile nasıl test edileceği hakkında bir kılavuz yayınladık. Bu örnekte Puppeteer ve Selenium'da bu durum gösterilmektedir.
Yerel 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 konudaki çalışmaları 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 belirtir. Döndürülen değer, epoch'tan beri 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ı verilmesini tetikler.
Bu, topluluk grubundaki bir öneri uyarınca birden fazla tarayıcıda 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ı, 60 saniye veya daha uzun değerler gerektirmek yerine 30 saniyelik gecikmeler veya dönemlerle chrome.alarms
API'sini 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'teki içerik filtreleme desteğiyle ilgili 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 için Chrome 120'deki yenilikler
Chrome 120 Beta kısa süre önce kullanıma sunuldu. Uzantı geliştiricilerle ilgili önemli güncellemelerin özetini Uzantılar iç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 her öğe için farklı bir gizlilik politikası sağlayabilirsiniz. Bu değişiklik hakkında daha fazla bilgiyi PSA'mızda 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 yeni bir sohbet videosunu yayınladık. Buradan izleyin.
Uzantıların test edilmesiyle ilgili yeni kılavuz
Kısa süre önce, uzantılar için otomatik testlerin nasıl yazılacağıyla ilgili yeni bir kılavuz yayınladık. Bu kılavuzda, birim testlerinin nasıl yazılacağı, hem genel yönergeler hem de uçtan uca testlerle ilgili bir eğitici yer alıyor.
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 Okuma Listesi API'si ve User Scripts API gibi yakında kullanıma sunulacak heyecan verici API sürümlerini de paylaşıyoruz.
Declarative Net Request API'de statik kural grubu 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 çıkarıyoruz. Ayrıca, izin verilen toplam statik kural kümesi sayısını 50'den 100'e çıkarıyoruz. Bu özellik şu anda Canary sürümünde kullanılabilir.
Uzaktan barındırılan kodla ilgili daha iyi rehberlik
Manifest V3'ün şartlarından biri, 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ı. Yeni bir bölümde, uzaktan barındırılan koda sahip uzantıların reddedilmesinin yaygın nedenleri açıklanmaktadır.
Chrome 118: isUrlFilterCaseSensitive artık varsayılan olarak false değerine sahip
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
öğesini true
olarak açıkça ayarlayabilirsiniz.
Bu karar, Web Uzantıları Topluluk Grubu'ndaki tartışmalardan sonra alındı. Firefox ve Safari benzer bir değişikliği zaten uyguladı.
Çerezler ve web depolama API'leri ile ilgili dokümanlar
Çerezlerin ve web depolama alanı API'lerinin Chrome uzantılarında nasıl çalıştığına ilişkin 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 bölümlendirmesi 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
Kısa süre önce 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ı) örneklerle 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 klonlama veya çatallama için GitHub'da kullanılmaya devam edebilir.
Chrome 118: Dosya açma işleminde değişiklik: şema URL'leri
Chrome 118'den itibaren, uzantıların Sekmeler 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()
numarasını çağırarak bu erişimi programatik olarak kontrol edebilirsiniz. Firefox dosya URL'lerini zaten kısıtlar ve Safari bu değişikliği destekler. Daha fazla bilgi için uzantılar Google Grubu'ndaki 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()
'ı JavaScript URL'siyle çağırmak yasaktı. 117 sürümünde, JavaScript URL'lerindeki bu korumalar tabs.create()
yöntemine genişletildi ve daha önce bahsedilen tüm yöntemler için geçerli olan yasaklanmış URL'ler listesine bir dizi ek chrome:// URL'si eklendi.
declarativeNetRequest API için iyileş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 doğrultuda, kuralların nasıl uygulanacağıyla ilgili daha net bir fikir vereceğini düşündüğümüz şekilde yönergeleri yeniden yazdık. Yukarıdaki bağlantıda yeni bölümü okuyun.
Google Analytics hesabınızı Chrome Web Mağazası'nda kullanma
Chrome Web Mağazası, Google Analytics ile entegrasyon sunar. Bu sayede, 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
Yerleştirilen içerik komut dosyaları artık varsayılan olarak Geliştirici Araçları yoksayılanlar listesinde yer alıyor. Bu durum, hata ayıklama sırasında içerik komut dosyalarının atlanmasına ve bu komut dosyalarındaki istisnaların yoksayılmasına neden olur ancak kesme noktalarını etkilemez. Kaynaklar sekmesinde bir içerik komut dosyası açıkken bir banner, açık olduğunda sizi uyarır ve içerik komut dosyanızı yoksayılanlar listesinden kaldırmanız için bir seçenek sunar. Bu davranışı devre dışı bırakmak için DevTools'u açın, Ayarlar'a, ardından Yoksay listesi'ne gidin. Daha fazla bilgi edinmek 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ılara yönelik büyük bir sürümdür. Artık yan panelleri programatik olarak açabilirsiniz. Yeni bir yöntem sayesinde, etkin bir ekran dışı doküman olup olmadığını öğrenebilirsiniz. Hizmet çalışanları birkaç iyileştirmeden geçti. 116'da o kadar çok iyileştirme var ki bunları kapsayan bir blog yayını yazdık. 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 da dahil olmak üzere yılın önemli yeni özellikleri ele alınmaktadır. 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 rehberlik 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 kılavuzu ve üç örnek.
Chrome 115: chrome.offscreen.createDocument() dosyasında birden çok neden belirtin
Artık chrome.offscreen.createDocument()
işlevini çağırırken birden fazla reason
enum belirtebilirsiniz. Ekran dışı bir doküman birden fazla farklı amaçla kullanılacaksa bunu kullanın. Tarayıcı, ekran dışındaki dokümanın ö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. Bu 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 Side Panel API
Kullanıcıların göz attıkları içeriğin yanı sıra araçlara da erişmelerini sağlayan tamamlayıcı bir platform olan yeni Yan Panel API'yi kullanıma sunuyoruz. Daha fazla bilgi edinmek 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 ile Üstün Bir Kullanıcı Deneyimi Tasarlama başlıklı yeni blog yayınımızda da yan paneller hakkında daha fazla bilgi veriyoruz. Yüksek kaliteli yan panel uzantıları oluşturma konusunda daha fazla bilgi sağlamak için kalite yönergeleri politikamız ve en iyi uygulamalarımız da incelenmiştir.
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üncellemeler için bizi takip etmeye devam 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 başlıklı makalede, WASM modülü eklemeyle ilgili genel yöntem gösterilmektedir.
- WASM'yi Manifest V3'te modül olarak kullanma, bunun bir modülde nasıl kullanılacağını gösterir.
Bu örnekler için GitHub'ın katkıda bulunanlarından @daidr'ye özel teşekkürler.
Manifest V3 taşıma rehberi güncellendi
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ı
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'si ve getDisplayMedia()
işlevi içeren kayıtla ilgili birden fazla yaklaşım açıklanmaktadır.
Chrome 114: Storage.local kotası artırıldı
storage.local
mülkünün kotasını yaklaşık 10 MB'a çıkardık. Bu karar, Web Uzantıları Topluluk Grubu'nda kabul edildi. Bu sayede storage.local
, Chrome 112'de değiştirilen storage.session
ile uyumlu hale geldi.
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. Önümüzdeki aylarda bu bölümü genişleteceğiz.
Web Mağazası ihlalleri için daha fazla sorun giderme ipucu
Chrome Web Mağazası'nda yayınlama konusunda size yardımcı olmak için iki alanda yeni yönergeler ekledik. Minimum işlevsellik ile ilgili yönergeler, kullanıcılara avantajlar sunma ve tarama 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ı işlemi gerektirerek onlara bir miktar kontrol sunma hakkındadır.
Uzantı Manifest Dönüştürücü için yeni talimatlar
Aracı çalıştırdıktan sonra yapmanız gerekenleri görmeyi kolaylaştırmak amacıyla, Uzantı Manifest Dönüştürücüsü için 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 dosyasında, aracın işlevi taşıma rehberinin yapılacaklar listesinde yer alan kelimelerle açıklanmaktadır. Dönüştürücü her şeyi yapmaz, ancak insanın yargı yapması gerekmeyen birçok görevi ortadan kaldırır.
Chrome 113: Ekran dışındaki dokümanların yeni nedenleri
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
öğesini 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 kurulumunu basitleştirdik ve grup yayıncıları için erişim yönetimini daha basit 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 bakın.
File Handling API, ChromeOS'e geliyor
Dosya İşleyici API'si, ChromeOS'te Canary 112 ve 113 sürümlerinde 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şlemeyi uygulamak için manifest.json
yönergesine bir dizi kural ekleyin. Bu özellik, progresif web uygulamalarıyla aynı şekilde çalışır. Daha fazla bilgi için bu sitede başka bir yerdeki 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 sürümünden itibaren,
os://flags/#extension-web-file-handlers
adresini Chrome çok amaçlı adres çubuğuna 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 sürümünde kullanıma sunmayı umuyoruz. Güncellemeler 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 bildirimleri ve bir komut dosyasının önceden açık olan bir sekmede yürütüldüğü programatik ekleme işlemini gösterir.
Yeni Örnekler: Bildirim Temelli 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. Diğer 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 çıkarıldı. Bu değişiklik, Web Uzantıları Topluluk Grubu'nda kabul edilmiştir: https://github.com/w3c/webextensions/issues/350
Chrome 109: Ekran dışı dokümanlar
Ekran dışındaki 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ı etkin
chrome.action.isEnabled()
yöntemi, belirli bir sekme için uzantının etkinleştirilip etkinleştirilmediğini programatik olarak kontrol eder. Böylece, sekmelerinizin etkin durumda kalmasını sağlamak zorunda kalmazsınız. 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 işçisi 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 çalışanı ömürleri bölümüne bakın.
Yayın: Manifest V2 kullanımdan kaldırma sürecini duraklatma
Manifest V2'nin kullanımdan kaldırılmasına yönelik zaman çizelgeleri inceleniyor ve 2023'ün başlarında yapılması planlanan denemeler erteleniyor. Daha fazla bilgi için Google Grubu'ndaki krom uzantıları ile ilgili güncellemeyi okuyun.
Chrome 110: Rozet renklerini ayarlama
chrome.action
ad alanında, görünüm uzantısı rozetleri üzerinde daha fazla kontrol sahibi olmanızı sağlayan iki yeni yöntem bulunur. 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ı 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 sayfada amacımız, geliştiricilerin platformun mevcut durumunu ve geleceğe hazırlanırken hangi özellikleri hedefleyebileceklerini daha iyi anlamalarına yardımcı olmaktır.
Chrome Web Mağazası: "Büyük promosyon karosu" resim yükleme özelliği kaldırıldı
Chrome Web Mağazası, "büyük promosyon karosu" yükleme kullanıcı arayüzünü geliştirici kontrol panelindeki öğe mağaza girişi sekmesinden kaldırdı. Bu görseller 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 uzantıları yayınını inceleyin.
Chrome 106: file:// URL'lerindeki sayfaların web'e erişilebilir kaynaklara erişmesine izin ver
crbug.com/1219825#c11 adresine göre, korumalı alan içeren iframe'ler ve dinamik içe aktarma gibi şeffaf olmayan kaynaklar da web'e erişilebilir kaynaklara erişebilmelidir.
Chrome 106: Bazı eşzamansız API işlevlerinde yanlış nihai bağımsız değişkenlere izin veren hata düzeltildi
Önceden, asenkron 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üzeltmesinden kaynaklanan bir API çağrısı için yanlışlıkla yanlış imza kullanmaları ihtimaline karşı Canary'deki uzantılarında herhangi bir hata olup olmadığını kontrol etmeleri önerilir.
Blog yayını: Chrome Web Mağazası analizleri yenilendi
Chrome Web Mağazası, Chrome Web Mağazası Geliştirici Kontrol Paneli için yenilenmiş bir öğe analizi deneyimi sunar. 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 vaat 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, promise tabanlı bir çağrıya ayarlanan asenkron döndürme işleminde 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 site simgeleri API'si
Manifest V3 uzantıları artık yeni bir URL kalıbı kullanarak simge favicon'larına erişebilir: chrome-extension://<id>/_favicon/
. Burada chrome://favicons
API'sinin yerini alır. Daha fazla bilgi için Favicon API belgelerine bakın.
Doküman güncellemesi: Geliştirici tüccar/tüccar olmayan açıklaması
Geliştiricilerin, tacirler/tacirler olmayanlar olarak kendi durumlarını doğru şekilde beyan etmelerini sağlayan tacirler/tacirler olmayanlar geliştirici kimliği eklendi.
Chrome 103: Manifest V3'teki Wasm, wasm-unsafe-eval'ı gerektiriyor
Chrome artık varsayılan olarak script-src: wasm-unsafe-eval
uzantılarına izin vermiyor. 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ştirilen MV3 kısayolları hemen geçerli olur
chrome://extensions/shortcuts
'te bir Manifest V3 uzantısının klavye kısayolu değiştirildiğinde 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ünyadaki dinamik içerik komut dosyaları
Dinamik olarak kaydedilen 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 şekilde Manifest V3 uzantıları, tıpkı Manifest V2 uzantılarının optional_permissions
anahtarını kullanarak yaptığı gibi ana makineler için isteğe bağlı eşleşme kalıpları bildirebilir.
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ği garanti edilmez.
Chrome 102: Manifest V3'te Çok Amaçlı Adres Çubuğu API desteği
Her Şey Bir Arada Çubuğu 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 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 isteklerin "request" ve "initiator" alanlarına göre isteklerini daha iyi hedeflemesine olanak tanıyacak şekilde güncellendi. İlgili koşul özellikleri şunlardır: initiatorDomains
, excludedInitiatorDomains
, requestDomains
ve excludedRequestDomains
. Bu chromium-extensions ileti dizisini de inceleyin.
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
Uzantının Service Worker'ında chrome.runtime.connectNative()
kullanarak yerel mesajlaşma ana makinesine bağlanma, bağlantı noktası açık olduğu sürece Service Worker'ı aktif durumda tutmalıdır.
Chrome 100: omnibox.setDefaultSuggestion(), vaatleri ve geri çağırmaları destekler
omnibox.setDefaultSuggestion()
yöntemi artık bir söz döndürüyor veya geliştiricilerin önerinin uygun şekilde ne zaman ayarlandığını belirlemelerine olanak tanımak için geri çağırmayı 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'de match_origin_as_fallback
İçerik komut dosyaları artık about:
, data:
, blob:
ve filesystem:
URL'leri olan kareler de dahil olmak üzere eşleşen bir çerçeveyle ilişkili karelere 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'deki şemalar dosyası için uzantı hizmeti ç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'de mesajlaşma API'leri için destek vadet
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 dosyayı kabul ediyor. Daha önce bu yöntemler için tek bir dosya girişi içeren bir dizi gerekliydi.
Dokümanlar güncellemesi: İnceleme ihlali ile ilgili sorun giderme güncellemeleri
Chrome Web Mağazası ihlallerinde sorun giderme sayfası, geliştiricilere reddedilmenin yaygın nedenleri hakkında daha ayrıntılı rehberlik sunmak için güncellendi.
Chrome 96: Vaat desteği 27 API'yi daha içerecek şekilde genişletildi
Bu sürüm, önceki tüm sürümlerden çok daha fazla taahhüt 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 destekler. Aşağıdaki API'ler bu değişiklikten etkilenecektir.
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ı desteklemektedir. Daha önce içerik komut dosyaları yalnızca bir uzantının manifest.json dosyasında statik olarak tanımlanabiliyor veya chrome.scripting.executeScript()
ile çalışma zamanında programatik olarak yerleştirilebiliyordu.
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 ana makine izinlerinin bulunduğu sitelerde chrome.declarativeNetRequest
API'yi kullanmasına olanak tanır. Bu, webRequest
, webRequestBlocking
ve siteye özel 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 desteği sözü
chrome.storage
API'nin Manifest V3 sürümündeki yöntemler artık umut veriyor.
Politika güncellemesi: İki 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 tek seferde en fazla 50 statik kural kümesi (MAX_NUMBER_OF_STATIC_RULESETS) belirtmeyi ve 10 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 kökler arası erişimi etkinleştirebilir. Bu özellik, hangi kaynaklar arası kaynakların uzantının sayfalarını yükleyebileceğini sınırlandırır ve SharedArrayBuffer
gibi alt düzey web platformu özelliklerinin kullanılmasını sağlar. Chrome 95 sürümünden itibaren özelliğin etkinleştirilmesi gerekecektir.
Politika güncellemesi: Geliştirici program politikaları güncellendi
Chrome Web Mağazası Geliştirici Program Politikaları, yanıltıcı yükleme taktikleri, spam ve tekrar eden içerik politikalarıyla ilgili açıklamaları içerecek şekilde güncellendi. Bu güncelleme, Chrome Web Mağazası'nda yayınlamak için yeni bir iki adımlı doğrulama şartı da içeriyor. 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 gönderide bu API'lerin geçmişi ve Manifest V3'te yapılan değişiklikler ele alınmaktadır. Gönderiyi okuyun.
Blog yayını: chrome.scripting'i kullanıma sunuyoruz
chrome.scripting
API, komut dosyalarına 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 alacağız. Gönderiyi okuyun.
Chrome 92: Modül hizmet çalışanı desteği
Chrome artık hizmet işçilerinde 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 sabitlediğini belirlemesini sağlar.
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()
'in yerini alır.
Chrome 90: scripting.executeScript() işlevinden döndürülen promises
chrome.scripting.executeScript()
artık dönen vaatleri destekliyor. Komut dosyası yürütmesinin sonucu bir sözse Chrome, sözünün yerine getirilmesini ve sonuç değerini döndürmesini bekler.
Chrome 90: chrome.scripting.executeScript() sonuçları frameId öğesini içerir
chrome.scripting.executeScript()
üzerinden döndürülen sonuçlar artık frameId öğesini içeriyor.
frameId
mülkü, sonucun alındığı kareyi belirtir. Bu sayede 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 ve chrome.tabs
'teki yeni özellikler, uzantıların sekme gruplarını okumasına ve yönetmesine olanak tanır.
Manifest V3 sürümü gereklidir.
Chrome 89: Web'den erişilebilen kaynaklar için özelleştirilebilir izinler
Manifest V3'teki web'den erişilebilen kaynaklar tanımları, uzantıların kaynak istemcisinin kaynağına veya uzantı kimliğine göre kaynak erişimini kısıtlamasına izin verecek ş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ı. Duyuru blog yayınını inceleyin ve GitHub'dan alın.
Chrome 88: Manifest V3 genel kullanıma sunuldu
Manifest V3, uzantı platformunda yapılan önemli bir güncellemedir. Yeni ve değişen özelliklerin özeti için Manifest V3'e genel bakış başlıklı makaleyi inceleyin. Uzantılar, şu an için Manifest V2'yi kullanmaya devam edebilir. Ancak bu özellik, yakın zamanda 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.