Chrome Uzantılarında neler oluyor?

Temmuz ayında, uzantılarla ilgili gelişmelerden haberdar olmanızı sağlamak için yeni bir blog serisini kullanıma sunduk. Değerli geri bildirimleriniz ve WebExtensions Community Group'taki diğer tarayıcı tedarikçileriyle sürdürdüğümüz ortak çalışmalar sayesinde, uzantı API'lerini geliştirmeye ve tarayıcılar arasında daha yüksek tutarlılık elde etmeye yönelik çalışmalarımıza devam ediyoruz.

Ekim sayısına hoş geldiniz! Bu yayında, Chrome uzantı ekibinin son birkaç ay içinde yaptığı değişikliklerden bazılarına ve bu yılın ilerleyen dönemlerinde kullanıma sunulacak bazı yeni özelliklere göz atacağız. Haydi başlayalım!

Yeni uzantı API'leri ve özellikleri

Bu bölümde, önemli API lansmanlarından bazılarını paylaşacak, diğer API iyileştirmelerini kısaca inceleyecek ve gelecek sürümleri paylaşacağız. Tüm lansmanlar şu anda en son Beta sürümünde mevcuttur. Ayrıntılar için chromium sürüm programına bakın.

Öne çıkanlar

Bilinen çözülmüş sorunlar

Uzantı ekibi, Manifest V3 kararlılık sorunlarını gidermek için aktif bir şekilde çalışmaktadır. Chrome 116, Manifest V2 ile V3 arasındaki özellik boşluğunu kapatma konusunda önemli ilerleme kaydetmemize yardımcı olan birçok iyileştirme sundu. Chrome 120'de, platformumuzdaki öncelikli sorunların tümünü gidermiş ve bilinen sorunlar sayfasında belirtilen tüm kritik hataları kapatmış olacağız. ChromeOS Lacros için fileHandler desteği ve bu ay içinde kullanıma sunulacak olan userScripts API dışında tüm özellikler şu anda Chrome 120 Canary'de kullanılabilir. Daha ayrıntılı bilgi için güncellenmiş bilinen sorunlar sayfasına göz atın.

Service Worker kararlılığı iyileştirildi

Hizmet çalışanıyla ilgili kararlılık sorunları çözüldü. Chrome 116'da, kullanıcı istemi görüntüleyen uzantı API'lerine güçlü keep-alive özellikleri ekledik ve WebSockets için gelişmiş destek ekledik (Uzantılarda WebSocket'leri kullanma eğiticisine bakın). Chrome 118 sürümünden itibaren, etkin Debugger API oturumu sırasında bir hizmet çalışanı aktif kalmaya devam edecektir.

Daha fazla bilgi için güncellenmiş Hizmet Çalışanı kılavuzumuza göz atın. Kullanıcılarınız Chrome sürümlerinde 119 sürümünden sonra hizmet çalışanları ile ilgili kararlılık sorunlarıyla karşılaşmaya devam ederse lütfen durumu bize bildirin.

Daha yüksek güvenlik

Daha önce, tabs.update(), tabs.create ve windows.create() kullanarak bazı chrome:// URL'lerine gidildiğinde hata veriliyordu veya Chrome kilitleniyordu. Ayrıca, tabs.update() bir JavaScript URL'sini açamadı. Chrome 117'de, desteklenen chrome:// URL'lerinin sayısını artırdık. JavaScript URL engellemesi artık tüm uzantı API'si yöntemleri için de geçerli.

Chrome 117'de kullanıcılar, yükledikleri bir uzantı artık Chrome Web Mağazası'nda bulunmadığında Chrome Uzantıları sayfasında proaktif bildirimler alır. Geliştirici uzantıyı yayından kaldırırsa, politika ihlalleri nedeniyle kaldırırsa veya kötü amaçlı yazılım olarak tanımlanırsa bu durum meydana gelebilir. Ayrıntılı bilgi için Chrome://extensions sayfasına Güvenlik Kontrolü getirme başlıklı makaleyi inceleyin.

Chrome 118'de, uzantının ayrıntılar sayfasında "Dosya URL'lerine erişime izin ver" seçeneği etkinleştirilmediği sürece, uzantıların chrome.tabs ve chrome.windows API'lerini kullanarak file:// URL'lerine gitmesine izin verilmeyecek. WECG tartışmasına göz atın.

Daha fazla API lansmanı

  • Çalışma zamanı API'si: Chrome 116'dan itibaren, etkin bağlamlar hakkında bilgi almak için runtime.getContexts()'i kullanabilirsiniz. Örneğin, ekran dışı etkin bir doküman olup olmadığını kontrol edebilirsiniz.
  • Yan Panel API'sı Chrome 116'da, bağlam menüsü tıklaması gibi bir kullanıcı hareketine yanıt olarak uzantı yan panelini programatik olarak açmak için sidepanel.open() özelliğini kullanabilirsiniz.
  • TabCapture API Chrome 116'da, uzantı hizmeti çalışanından getMediaStreamId() çağırma ve ekran dışı bir dokümandaki akış kimliğinden MediaStream nesnesi alma özelliği eklendi. Örnekler için Ses kaydı ve ekran görüntüsü bölümüne göz atın.
  • DeclarativeNetRequest API: isUrlFilterCaseSensitive özelliğinin varsayılan değeri Chrome 118'de false olarak değiştirildi.

Çok yakında...

Chrome 120'nin kullanıma sunulmasıyla birlikte, bilinen sorunlar sayfasındaki geri kalan tüm sorunları gidermeyi planlıyoruz. Buna ek olarak aşağıdaki özellikleri de eklemeyi planlıyoruz:

  • UserScripts API'sı, kullanıcı komut dosyası yöneticilerinin bir kullanıcı komut dosyası koleksiyonunun web sayfalarına nasıl ve ne zaman ekleneceğini koordine etmesine olanak tanır. Ayrıntılar için WECG teklifine bakın.
  • ReadingList API, geliştiricilerin yan panelin Okuma Listesi panelinde bulunan meta verileri oluşturmasına, okumasına, güncellemesine ve silmesine olanak tanır. Duyuru için Chrome uzantılarındaki yenilikler videosunu izleyin.
  • Web Uzantıları Topluluk Grubu'ndaki geri bildirimin ardından etkin statik kural kümesi sınırını 10'dan 50'ye önemli ölçüde yükseltiyoruz. Ayrıca, izin verilen toplam statik kural grubu sayısını 50'den 100'e çıkarıyoruz. Bu özellik şu anda Canary'de kullanılabilir.
  • File PROCESS API: ChromeOS 120'den itibaren ChromeOS uzantıları için kullanılabilecektir. Bu sayede uzantılar, belirli MIME türlerine ve dosya uzantılarına sahip dosyaları web platformu dosya işlemeye benzer şekilde açabilir.
  • Uzantılar, userVisibleOnly ayarını false yaparak kullanıcıların görebileceği bir bildirim göstermeden self.registration.pushManager.subscribe() üzerinden web Push API'sini kullanabilecek. Bu sayede push bildirimleri, eşzamansız istemci-sunucu iletişimi için Service Worker'lardaki (MV3) WebSocket'lere kıyasla daha sorunsuz bir alternatif olacaktır. Ayrıntılar için Chromium hatası ve WECG tartışması konularına bakın.

Chrome Beta'da bu özellikler kullanıma sunulur sunulmaz duyurular için Uzantılardaki yenilikler sayfasını takip edin.

Belgeleri yeni sürüme geçirme

Ayrıca geliştirme ve belgelerimize eklemeler yaptık. Lütfen chromium-group ile ilgili soru sormaya ve doküman sorunlarını bildirmeye devam edin.

Öne çıkanlar

Daha fazla haber

Çok yakında...

  • User Scripts API referansı ve eğiticisi.
  • Firebase eğiticisi ve örnekleri.
  • ReadList API referansı.

Chrome Web Mağazası yeniden tasarlıyor 🎉

Chrome Web Mağazası ana sayfasının ekran görüntüsü..
Yeni Chrome Web Mağazası ana sayfası

Bu ayın başlarında, Google I/O'da yaptığımız ipucu gibi yenilenen Chrome Web Mağazası'nın erken önizlemesini duyurmuştuk. Kendiniz deneyin! https://chromewebstore.google.com/. Kayda değer değişikliklerden bazıları şunlardır:

  • On bir listeden oluşan kategori listesi, üç kategori grubunda on yedi kategoriden oluşan yeni bir listeye yükseltildi.
  • Aramada geliştirilmiş otomatik tamamlama.
  • Ekran görüntüleri artık çok daha yüksek kalitede gösteriliyor. Henüz yüklemediyseniz 1280x800 ekran görüntüleri yükleyebilirsiniz.
  • Destek sekmesindeki sorulara verilen yanıtlarda artık yeni satırlar gösterilecek.
  • Kullanıcı yorumlarını ve destek sorularını yanıtlarken artık yanıtınızda adınızın yanında "Geliştirici" rozeti yer alacak.
  • Mağaza öğesi URL'nizin sonuna "/reviews" ifadesini ekleyerek kullanıcılara yorumlar sayfasının doğrudan bağlantısını sağlayabilirsiniz. Örneğin: https://chromewebstore.google.com/detail/_EXTENSION_ID_/reviews.

Şimdiye kadar chromium-google grubu ile ilgili katkıları için teşekkür ederiz. İsterseniz tartışmaya katılabilir veya Geri bildirim gönderin menü öğesini kullanarak geri bildiriminizi doğrudan CWS ekibine gönderebilirsiniz:

Chrome Web Mağazası sayfasında geri bildirimde bulunma
Chrome Web Mağazası sayfasında geri bildirimde bulunma

Ayrıca, Editörlerin Seçtikleri koleksiyonunda yer almak için kendi kendine aday formu gönderebilirsiniz. Yakında geliştirici kontrol panelinde de yapılacak iyileştirmeler için bizi takip etmeye devam edin.

💡 Biliyor muydunuz?

  • Chrome uzantılarında hata ayıklama ile ilgili yeni bir video yayınlandı. Burada, zaten biliyor olabileceğiniz birçok konu ele alınsa da Geliştirici Araçları'nı uzantılarda kullanmayla ilgili birkaç püf noktasını da paylaşır.
  • Artık her uzantı için bir gizlilik politikası sağlamanız gerekmektedir. Önceden, her geliştirici hesabı için yalnızca bir gizlilik politikası eklenebiliyordu. Ancak, tek bir geliştirici hesabında birkaç uzantınız olması işe yaramıyordu. Bu yeni arayüz, geliştirici kontrol panelindeki öğenizin Gizlilik Sekmesi'nde bulunmaktadır. Bu, hesap düzeyindeki gizlilik politikalarının artık desteklenmediği anlamına gelir.
    Gizlilik politikası kutusunun ekran görüntüsü
    Gizlilik politikası kutusunun ekran görüntüsü

Yeni bir sürprizimiz var 🙌

Bire bir görüşmeler düzenleyerek, yeni programlar başlatarak ve zirvelere katılarak uzantı geliştirici topluluğuna ulaşmaya devam ettik. Bazı önemli noktaları aşağıda bulabilirsiniz:

  • Uzantılar Google Geliştirici Uzmanları programı Ağustos'ta kullanıma sunuldu. Dünyanın dört bir yanında, bize harika geri bildirimler sağlayan bir düzineden fazla yeni Chrome uzantısı odaklı GDE'lerimiz var. Program için çok heyecan verici bir dönem!
  • Web Uzantıları Topluluk Grubu'nun bir parçası olarak TPAC'ye (W3C'nin yıllık konferansı) katıldık ve topluluğun bazı üyeleriyle birlikte Firefox ve Safari temsilcileriyle görüştük. Daha tutarlı uzantı API'lerine geçiş, belirli bir spesifikasyon üzerinde çalışma ve yeni bir test paketi oluşturmak üzere Web Platformu Testleri'ni temel alma da dahil olmak üzere birkaç konuda önemli ilerleme kaydettik. WECG deposunda dakikaların tamamını okuyun.
  • Uzantı ekibi, geçen hafta Amsterdam'da düzenlenen Reklam Filtreleme Geliştirici Zirvesi'ne katıldı. Birkaçınızla zirve haftasından önce düzenledikleri bir kahve sohbetinde ve cuma günü açık ofis saatlerinde tanıştılar.
    Reklam filtrelemeyle ilgili Geliştirici Zirvesi'nde uzantı ekibi
    Reklam filtrelemeyle ilgili Geliştirici Zirvesi'nde uzantı ekibi

Bu etkinliklerin hiçbirine katılamayacak olsanız bile chromium-extensions Google grubunda sorular sorarak, WECG ile ilgili tarayıcı iş ortağı tartışmalarını takip ederek ve dokümanla ilgili sorunları bildirerek sürece katılabilirsiniz.

Uzantı geliştirici topluluğunun bir parçası olduğunuz için tekrar teşekkür ederiz!