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. Kararlı ve beta sürümlerin yayınlanma tarihleri Chrome yayın planında listelenir.
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, sekmenin dondurulması kaldırıldığında sıraya alınır ve işlenir.
Chrome uzantılarındaki istem API'si
Uzantıların İstem 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 bildirimlerinizi paylaşın. Geri bildiriminiz, bu API'nin ve tüm yerleşik yapay zeka API'lerinin gelecekteki sürümlerini nasıl derleyip uygulayacağımızı doğrudan etkileyebilir.
Blog yayını: Chrome uzantılarında Ekim 2024'te yapılacak değişiklikler
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 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 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: Bildirimsel ağ isteğinde yanıt üstbilgisi 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ı 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)
Geçtiğimiz üç ay içinde, Manifest V2'nin kullanımdan kaldırılmaya 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: Uzaktan Barındırılan Kod Nedir?
Chrome Uzantıları Ekibi'nden Patrick, Chrome uzantılarındaki Uzak 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ü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ı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, Dev ve Canary kanallarında, Manifest V2 uzantıları yüklü olan kullanıcıların uzantı yönetimi sayfasını (chrome://extensions) ziyaret ettiğinde, yükledikleri bazı (Manifest V2) uzantıların yakında desteklenmeyeceğini bildiren bir uyarı banner'ı gösterilmeye başlayacak. 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 için YouTube'a gidin ve öne çıkan bazı anlar için blog yayınımızı okuyun.
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ından edinebilirsiniz.
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ıların kaynak deneme sürümleri
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ı: Chrome uzantılarında neler değişiyor? (Nisan 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
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
Ekli doküman tarayıcılardan resimleri keşfetmek ve almak için ChromeOS'te 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 desteklemektedir. 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. 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 özelliğin amacı, aynı sayıda karakterle ifade edilemeyecek kültürel ve dilsel farklılıklara izin vermekti. 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ı. 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. Maksimum sınırdan daha uzun bir adı olan 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 yer alıyordu. 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ırıldığında, kaç alarm kaçırılmış olursa olsun alarm bir kez tetiklenir. Örneğin, bir alarmın saatte bir çalacağı ş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ığı 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ı 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: 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 yönerge ve örnek: Hizmet çalışanı sonlandırmasını test etme
Puppeteer ile hizmet çalışanı sonlandırma işlemini test etme 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ı 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'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 için Chrome 120'deki yenilikler
Chrome 120 Beta kısa süre önce yayınlandı. 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 öğe başına 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. Videoyu buradan izleyebilirsiniz.
Uzantıları test etmeyle ilgili yeni kılavuz
Uzantıların otomatik testlerinin nasıl yazılacağıyla ilgili yeni bir kılavuz yayınladık. Bu kılavuzda birim testlerinin nasıl yazılacağı, uçtan uca testle ilgili genel bilgiler ve bir eğitim 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, 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 grubundan gelen geri bildirimler doğrultusunda, etkin statik kural kümeleriyle ilgili sınırı 10'dan 50'ye çıkarıyoruz. Ayrıca, izin verilen statik kural kümelerinin toplam 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ı. Uzak sunucularda barındırılan kod içeren 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 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
değerini 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 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 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 GitHub'da klonlanabilir veya çatallanabilir.
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()
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 Grubu'ndaki yayını okuyun.
Chrome 117: Uzantı API 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 ile ilgili daha iyi 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ıyı kullanarak 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 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 DevTools'un yoksayılanlar listesindedir. 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 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 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ılar için önemli bir sürümdür. Artık yan panelleri programatik olarak açabilirsiniz. Yeni bir yöntem, ekran dışında etkin bir doküman olup olmadığını öğrenmenizi sağlar. 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() 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 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 rehberlik sağlamak için kalite yönergeleri politikamız ve en iyi uygulamalarımız da gözden geçirildi.
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.
- 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'ın katkıda bulunanlarından @daidr'ye özel teşekkürler.
Güncellenen Manifest V3 taşıma rehberliği
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 getirilmiştir.
Yeni uzantı hizmet işçisi 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ı ihlalleriyle ilgili 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 olmalarını sağlamak ve dahil edilmeden önce kullanıcı işlemi gerektirerek onlara bir miktar kontrol sunmaktır.
Uzantı Manifest Dönüştürücü için yeni talimatlar
Aracı çalıştırdıktan sonra yapmanız gerekenleri daha kolay görebilmeniz için Uzantı Manifest 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 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 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
öğ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'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 Extensions 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şleme özelliğini uygulamak için manifest.json
dosyasına bir kural grubu 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 sürümünden 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. 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 beyanları ve bir komut dosyasının halihazırda 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. 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 karar, Web Uzantıları Topluluk Grubu'nda kabul edildi: https://github.com/w3c/webextensions/issues/350
Chrome 109: Ekran dışı 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, belirli bir sekme için uzantının 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 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 işçisi yaşam süreleri başlıklı makaleyi inceleyin.
Yayın: Manifest V2 kullanımdan kaldırma sürecini duraklatma
Manifest V2'nin kullanımdan kaldırılma 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ı 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ı, "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üzeltmesi nedeniyle bozulacak bir API çağrısı için yanlış imzayı yanlışlıkla kullanması ihtimaline karşı Canary'daki uzantılarını hata açısından 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 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, 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 simge 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 için wasm-unsafe-eval gereklidir
Chrome artık varsayılan olarak uzantılara script-src: wasm-unsafe-eval
izni vermez. 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ş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ü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ği garanti edilmez.
Chrome 102: Manifest V3'te Çok Amaçlı Adres Çubuğu API desteği
Herkese Açık Adres Ç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 initiatorDomains
,
excludedInitiatorDomains
, requestDomains
ve excludedRequestDomains
'dır. 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
Bir uzantının hizmet işçisinde 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 işçisi etkin kalır.
Chrome 100: omnibox.setDefaultSuggestion(), promises ve geri çağırma işlevlerini destekler
omnibox.setDefaultSuggestion()
metodu 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ı belgelerine 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
Komut Dosyası API'sinin 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 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: 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 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, kaydolma işleminin iptal edilmesini 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 izinlerine sahip olduğ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'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 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 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 etkinleştirmeniz gerekecek.
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 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 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 çalışanlarında 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ö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 içerir
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. 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'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 sürümü gereklidir.
Chrome 89: Web'e 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ın şu anda Manifest V2'yi kullanmaya devam etmesine izin veriliyor ancak bu durum yakın gelecekte sonlandırılacak. 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.