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ğindenMediaStream
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'defalse
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östermedenself.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
- Sana Özel açılış sayfasını yeniledik. Artık API, izin ve türe göre filtreleme yapabilirsiniz. Böylece belirli örnekleri daha kolay bulabilirsiniz. Bu geliştirme, Summer of Code stajyerimiz Xuezhou Dai ile ortak bir çalışma gerçekleştirdi. Bu blog yayınında onun deneyimi hakkında bilgi edinebilirsiniz.
- Google Analytics hesabınızı Chrome Web Mağazası ile kullanma bölümünde, Geliştirici Kontrol Paneli'nde sağlanan verileri tamamlayarak Chrome Web Mağazası girişiniz için Google Analytics 4'ü nasıl görüntüleyeceğiniz açıklanmıştır. Bu kılavuzda, Google Analytics'i etkinleştirmek, reklam performansını izlemek, dönüşümleri izlemek ve diğer hesaplara Google Analytics verilerine erişim izni vermek için gerekli adımlar sunulmaktadır.
- Chrome uzantılarında çerezler ve web depolama API'larının nasıl çalıştığıyla ilgili yeni bir kılavuz yayınladık. Uzantı geliştiricisi olarak Özel Korumalı Alan hakkında bilmeniz gereken her şeyi burada bulabilirsiniz.
- Testin uzantı projelerinize nasıl entegre edileceğiyle ilgili yeni makaleler yayınladık: Chrome uzantılarının birim testi ve Uzantılar için uçtan uca testler, çeşitli popüler çerçevelerdeki genel yönergeleri ve en iyi uygulamaları ele almaktadır. Pratik bir eğitim için Chrome Uzantılarını Puppeteer ile Test Etme sayfasına bakın.
Daha fazla haber
- Bildirim temelli kural kümelerinin nasıl uygulanacağına ilişkin daha net bir tablo sunmak amacıyla Declarative Net Request API kılavuzunu yeniden oluşturduk.
- Uzaktan barındırılan kodu Manifest V3'e taşıma hakkında daha fazla yardım ekledik. Ayrıca, yayın sırasında sorunlarla karşılaşma riskini en aza indirmek için Manifest V3 uzantınızı aşamalı olarak yayınlama ile ilgili stratejiler de sunuyoruz.
- Uzantınızın hizmet çalışanındaki WebSocket'a nasıl bağlanacağınızı öğrenin.
- Yardım Alma rehberimizin kapsamını; hata bildirme, mevcut sorunları takip etme, yeni özellik isteğinde bulunma ve daha pek çok konu hakkında daha ayrıntılı talimatlar içerecek şekilde genişlettik.
Ç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 🎉
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:
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.
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.
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!