Nouveautés des extensions Chrome

Consultez régulièrement cette page pour en savoir plus sur les modifications apportées aux extensions Chrome, sur la documentation relative aux extensions, sur les règles associées ou sur d'autres modifications. Vous trouverez les autres avis publiés sur le groupe Google Extensions. Le calendrier Chrome indique les dates des versions stable et bêta.

Modifications importantes apportées aux règles

Publié le

L'équipe du Chrome Web Store a publié une série de mises à jour sur la page du Règlement du programme pour les développeurs afin d'encourager le développement de produits de haute qualité, d'empêcher les comportements trompeurs et de garantir le consentement éclairé de l'utilisateur. Rebecca Soares, gestionnaire de règles du Chrome Web Store, a résumé toutes les mises à jour dans l'article de blog Extensions Chrome: mises à jour importantes des règles.

Article de blog: What's check in Chrome Extensions, juillet 2024

Publié le

Au cours des trois derniers mois, nous avons déployé plusieurs mises à jour importantes et de nouvelles fonctionnalités, y compris le début de l'abandon de Manifest V2. Familiarisez-vous avec les nouveautés concernant les extensions Chrome, édition de juillet.

Vidéo: Qu'est-ce qu'un code hébergé à distance ?

Publié le

Patrick, de l'équipe des extensions Chrome, explique le concept du code RHC (Remotely Hosted Code) dans les extensions Chrome. Découvrez pourquoi RHC n'est plus autorisé, comment le détecter et que faire si votre extension doit être mise à jour. Regardez la vidéo complète.

Chrome 127: nouvelle API action.openPopup

Publié le

À partir de Chrome 127, la action.openPopup L'API est disponible pour toutes les extensions. Auparavant, il n'était disponible que dans la version Canary. ou aux extensions installées par une règle.

Vidéo: Confiance et Entretien avec l'équipe de sécurité

Publié le

L'équipe DevRel des extensions Chrome a rencontré l'équipe Trust & équipe chargée de la sécurité qui mène l'examen dans le Chrome Web Store pour poser vos questions. Regardez la vidéo complète.

Article de blog: Début de l'arrêt de Manifest V2

Publié le

À compter du 3 juin sur les versions bêta, en développement et Canary de Chrome, si les utilisateurs ont toujours des extensions Manifest V2, une bannière d'avertissement s'affichera sur la page de gestion des extensions (chrome://extensions) pour les informer que certaines extensions (Manifest V2) qu'ils ont installées ne seront bientôt plus compatibles. Pour en savoir plus, consultez l'annonce officielle.

Mises à jour de l'interface utilisateur du panneau latéral

Publié le

Nous avons récemment apporté des modifications à l'interface du panneau latéral, y compris l'ajout d'une icône en forme de punaise et en supprimant l'icône du panneau latéral global. Pour en savoir plus, consultez l'annonce d'intérêt public, ainsi que la documentation mise à jour et des exemples.

Article de blog: Extensions Chrome lors de la conférence Google I/O 2024

Publié le

Une nouvelle conférence Google I/O est derrière nous, et nous avons abordé toutes les nouveautés intéressantes en matière d'extensions. Accédez à YouTube pour regarder la vidéo complète et lire notre article de blog pour connaître certains des temps forts.

Ignorer l'examen pour déterminer si des modifications éligibles de la demande nette déclarative existent

Publié le

Le Chrome Web Store vous permet désormais d'ignorer l'examen des modifications éligibles l'API Declarative Net Request. En savoir plus sur les critères d'éligibilité et la procédure d'activation dans la documentation du Chrome Web Store.

deployPercentage disponible dans l'API Chrome Web Store

Publié le

Nous avons récemment mis à jour notre documentation sur l'API Chrome Web Store pour inclure des informations sur deployPercentage, qui vous permet d'attribuer un pourcentage d'un déploiement partiel. En savoir plus sur deployPercentage

Chrome 126: phases d'évaluation dans les extensions

Publié le

Chrome 126 introduit un nouveau champ manifest.json nommé trial_tokens, qui vous permet d'activer les phases d'évaluation et d'abandon sur toutes les surfaces d'extension. Pour en savoir plus, consultez ce guide.

Article de blog: Que deviennent les extensions Chrome ? Avril 2024

Publié le

Nous avons publié une nouvelle édition des Nouveautés concernant les extensions Chrome. Ce post évoque les travaux sur lesquels l'équipe chargée des extensions a travaillé ces derniers mois. Par exemple: rollback de version dans le Chrome Web Store, meilleure compatibilité avec Firebase Auth, lancements et mises à jour d'API supplémentaires.

Rollbacks de versions dans le tableau de bord du développeur du Chrome Web Store

Publié le

Effectuez un rollback de votre extension vers la version précédente publiée dans le Chrome Web Store, sans examen supplémentaire. Pour en savoir plus, consultez cet article de blog et la documentation.

Chrome 124: API Advanced documentScan

Publié le

Une API documentScan avancée est désormais disponible sur ChromeOS pour découvrir et récupérer des images à partir de pièces jointes scanners de documents.

Chrome 124: Compatibilité WebGPU avec les service workers

Publié le

Depuis Chrome 124, les service workers sont compatibles avec WebGPU. Pour une un démarrage rapide, consultez l'exemple d'extension WebGPU.

Chrome 123: l'API Events est compatible avec le filtrage par blocs CIDR

Publié le

L'API Events est désormais compatible avec le filtrage. par bloc CIDR (Classless Inter-Domain Routing). Un bloc CIDR est un ensemble Adresses IP qui partagent un préfixe réseau et le même nombre de bits. Auparavant, Un développeur devant filtrer plusieurs adresses IP nécessaires à la configuration d'un filtre pour chacune des adresses de la plage de blocage. Lorsqu'une extension appelle addListener(), une règle transmise signifie que le gestionnaire d'événements n'est appelé Lorsque la partie hôte d'une URL est une adresse IP contenue dans une plage CIDR blocs spécifiés dans un tableau.

Chrome Web Store: modifications apportées aux exigences concernant la longueur des noms d'extensions

Publié le

Sur le Chrome Web Store, la limite universelle de 75 caractères "name" de l'extension dans manifest.json. Auparavant, la limite pour l'anglais était de 45 caractères, n'était pas de restriction au champ "name" dans les autres paramètres régionaux.

À l'origine, cela avait pour but de tenir compte des différences culturelles et linguistiques qui ne peuvent pas être capturées avec le même nombre de caractères. Malheureusement, cette fonctionnalité a été utilisée de manière abusive par un petit nombre de développeurs pour envoyer du spam au magasin. En tant que résultat, nous introduisons une nouvelle limite universelle, passant à 75 caractères. Cette limite concerne presque toutes les extensions actuellement disponibles sur le Play Store. Il est donc peu probable une action de votre part est requise à la suite de ce changement. Si vous essayez d'importer un dont le nom est supérieur à la limite maximale, l'importation sera bloqués par le magasin.

Article de blog: test d'eyeo pour la suspension d'un service worker

Publié le

Dans ce post de l'équipe Extension Engine de eyeo, nous explorons le problème des tests des service workers d'extensions. Dans Manifest V2, les extensions se trouvaient en arrière-plan, qui étaient activées pendant tout le cycle de vie de l'extension. Manifest V3 utilise des service workers et des service workers par nature, préserver les ressources en s'arrêtant quand elles ne sont plus nécessaires. Elle présente certaines difficultés liées aux tests. Ce post vous explique commenteyeo a relevé ces défis.

Chrome 123: les alarmes s'exécutent désormais lorsque l'appareil est en veille

Publié le

Alarmes définies à l'aide de l'API chrome.alarms ne sont plus retardés lors de la mise en veille d'un appareil. Lorsque l'appareil est réactivé, l'alarme se déclenchera une fois, quel que soit le nombre d'alarmes manquées. Par exemple, supposons que une alarme doit se déclencher une fois par heure et l'appareil sur lequel elle est allumée est en veille 00h55 à 2h05, seule l'alarme de 2h00 déclenche l'événement onAlarm. Il se déclenchera le plus près possible de 2h00, et immédiatement lorsqu'un appareil sera activé s'il était endormi.

Cette modification permet d'aligner Chrome sur le comportement convenu au sein du groupe de la communauté des extensions Web.

Article de blog: Modifications du comportement du cache amélioré avec les ports de message des extensions

Publié le

Le cache amélioré (bfcache) est un navigateur. qui permet de naviguer instantanément dans les deux sens. Début dans Chrome 123, lorsqu'une page avec un port d'extension ouvert est stockée dans le cache amélioré, le le canal de messagerie est fermé, ce qui signifie qu'aucun message ne sera envoyé vers cette page. Par conséquent, les scripts d'extension doivent écouter les événements de cycle de vie tels que onDisconnect, puis configurez une nouvelle connexion lorsque la page est restaurée à partir de BFCache.

Pour en savoir plus et obtenir un exemple de code, consultez Modifications du comportement de BFCache avec les ports de message de l'extension.

Chrome 122: garantir la compatibilité avec les API d'extension asynchrones

Publié le

Nous avons terminé la prise en charge de Promise pour toutes les API d'extension asynchrone méthodes. L'objectif était de moderniser les méthodes d'API en améliorant l'ergonomie la gestion des opérations asynchrones. Plusieurs méthodes (par exemple, desktopCapture.chooseDesktopMedia()) continuent de ne prendre en charge que les rappels car leurs surfaces actuelles ne sont pas compatibles avec les promesses. Pour vers l'arrière la compatibilité, les rappels sont toujours pris en charge. Si une promesse échoue, veuillez signaler un bug.

Nouveaux conseils pour la communication en temps réel

Publié le

Nous venons de publier des guides sur les options en temps réel des extensions. Les mises à jour en temps réel vous permettent de communiquer instantanément entre vos serveurs et vos installations d'extensions. De plus, nous avons ajouté de nouvelles consignes concernant l'utilisation de chrome.gcm et de Web Push.

Nouveaux conseils et exemple: tester l'arrêt d'un service worker

Publié le

Nous venons de publier un guide expliquant comment tester la résiliation d'un service worker avec Puppeteer. L'exemple d'accompagnement le démontre dans Puppeteer et Selenium.

Mise à jour de l'exemple pour la messagerie native

Publié le

Nous venons de publier un exemple mis à jour pour la messagerie native. Cette API permet à votre extension de démarrer et de communiquer avec une autre application. Merci au contributeur de GitHub Shubham-Rasal pour le travail à ce sujet.

Chrome 121: nouvelle propriété lastAccessed sur les onglets.

Publié le

Une propriété nommée lastAccessed a été ajoutée à l'objet tabs.Tab. Cette propriété indique la date de la dernière activation de l'onglet. La valeur renvoyée est exprimée en millisecondes depuis l'epoch.

Chrome 121 : "arrière-plan" non compatible les clés génèrent désormais un avertissement

Publié le

Lors du passage de Manifest V2 à Manifest V3, les enfants de la clé manifeste "background" ont été modifiés pour permettre le remplacement des scripts en arrière-plan par des service workers d'extensions. Auparavant, l'ajout des clés Manifest V2 "scripts", "page" ou "persistent" à la clé "background" d'une extension Manifest V3 générait une erreur. La présence de ces clés déclenche désormais un avertissement.

Cela permet d'utiliser un seul fichier manifeste dans les extensions de plusieurs navigateurs, conformément à une proposition dans le groupe de la communauté.

Chrome 120: précision minimale des alarmes réduite à 30 secondes

Publié le

À partir de Chrome 120, les extensions Manifest V3 peuvent utiliser l'API chrome.alarms avec des retards ou des périodes de 30 secondes, au lieu d'exiger des valeurs de 60 secondes ou plus.

Article de blog: Reprise de la transition vers Manifest V3

Publié le

Le calendrier de prise en charge de Manifest V2 a été mis à jour. Pour en savoir plus, consultez notre article de blog de novembre 2023.

Article de blog: Améliorations apportées au filtrage du contenu dans Manifest V3

Publié le

Pour découvrir comment nous avons amélioré l'API déclarativeNetRequest, consultez notre nouvel article de blog.

Article de blog: Nouveautés de Chrome 120 pour les extensions

Publié le

La version bêta de Chrome 120 a été publiée récemment. Pour obtenir un résumé des mises à jour importantes destinées aux développeurs d'extensions, consultez notre nouvel article de blog: Nouveautés de Chrome 120 pour les extensions. Cette version marque également une étape majeure, car elle supprime les deux derniers éléments (userScripts, gestionnaire de fichiers sur ChromeOS) de la liste des failles critiques de la plate-forme.

Message d'intérêt public: modification de la gestion des URL des règles de confidentialité dans le tableau de bord du développeur

Publié le

Les règles de confidentialité du tableau de bord du développeur sont désormais ajoutées au niveau des articles. Cela vous permet de fournir des règles de confidentialité différentes pour chaque article. En savoir plus dans notre PSA.

Vidéo: discussion avec Matt Frisbie

Publié le

Nous venons de publier une nouvelle vidéo sur la chaîne YouTube Chrome pour les développeurs qui discute avec Matt Frisbie, expert en développement Google et auteur. Regarder cliquez ici.

Nouvelles consignes pour tester les extensions

Publié le

Nous venons de publier de nouveaux conseils sur l'écriture de tests automatisés pour les extensions, y compris sur l'écriture de tests unitaires, et les deux. conseils généraux et ce tutoriel sur les tests de bout en bout.

Article de blog: Informations concernant les extensions Chrome – Octobre 2023

Publié le

Nous venons de publier la deuxième édition des What's Happening in Chrome Extensions. Ce post décrit les travaux de l'équipe d'extensions sur lesquels l'équipe d'extensions a travaillé ces derniers mois, y compris la résolution des problèmes de stabilité des service workers et la résolution de tous les écarts de la plate-forme MV3. Nous vous communiquons également les prochaines versions intéressantes de l'API, telles que les API Reading List et User Scripts.

Augmentation des limites des ensembles de règles statiques dans l'API Declarative Net Request

Publié le

Suite aux commentaires sur les extensions Web nous augmentons considérablement la limite d'ensembles de règles statiques activés de 10 à 50. En outre, nous faisons passer le nombre total d'ensembles de règles statiques autorisés de 50 à 100. C'est actuellement disponibles dans Canary.

Amélioration des conseils sur le code hébergé à distance

Publié le

Manifest V3 exige que les extensions n'utilisent plus le code hébergé à distance. Cette section fait partie de notre guide de migration depuis le début, mais nous avons pensé qu'il était utile d'améliorer les conseils à ce sujet. Cette page fournit désormais plus d'informations, en décrivant les possibilités qui s'offrent encore à vous dans Manifest V3 et sur les stratégies de mise à niveau.

Il existe un ajout associé à la section Résoudre les problèmes de non-respect des règles du Chrome Web Store. Une nouvelle section décrit les raisons courantes pour lesquelles les extensions avec du code hébergé à distance sont refusées.

Chrome 118: isUrlFilterCaseSensitive est désormais défini sur "false" par défaut

Publié le

À partir de Chrome 118, la isUrlFilterCaseSensitive dans chrome.declarativeNetRequest L'API est désormais définie par défaut sur false. Si vous souhaitez conserver l'ancien comportement, vous pouvez définir explicitement isUrlFilterCaseSensitive sur true dans vos règles declarativeNetRequest.

(voir les discussions relatives aux extensions Web Groupe de la communauté. Firefox et Safari ont déjà mis en œuvre un changement similaire.

Documentation sur les cookies et les API de stockage Web

Publié le

Nous avons publié un nouveau guide sur le fonctionnement des API de cookies et de stockage Web dans les extensions Chrome. Il comprend des détails sur les modifications du partitionnement des cookies et du stockage dans Privacy Sandbox, un projet en cours visant à abandonner les cookies tiers de la création d'une série de nouvelles API de plate-forme Web et des détails sur leur fonctionnement dans les extensions.

Exemples d'extensions désormais inclus dans l'index de recherche

Publié le

Nous avons récemment créé une page qui vous permet de rechercher des exemples d'extensions Chrome. La page de recherche comporte plusieurs options. Un champ de recherche vous permet de rechercher du texte dans des exemples de titres. Vous pouvez limiter la recherche par autorisation ou par API d'extension. Un filtre supplémentaire vous permet de limiter la recherche à des exemples d'API ou d'exemples fonctionnels (cas d'utilisation).

Cette nouvelle page d'exemple a été créée par Xuezhou Dai, un participant au programme Google Summer of Code, qui a également ajouté plusieurs nouveaux exemples. Pour en savoir plus sur leur expérience l'été dernier, consultez leur article sur notre blog.

Comme précédemment, nos exemples de code sont toujours disponibles sur GitHub pour le clonage ou la duplication.

Chrome 118: Modifications apportées à l'ouverture du fichier: URL des schémas

Publié le

À partir de Chrome 118, les extensions devront activer l'option "Autoriser l'accès aux URL de fichiers" activé sur la page chrome://extensions pour ouvrir des URL de schéma file:// à l'aide des API Tabs ou Windows. Vous pouvez vérifier cet accès de manière programmatique en appelant chrome.extension.isAllowedFileSchemeAccess(). Firefox limite déjà les URL de fichiers. Safari prend en charge cette modification. Pour en savoir plus, lisez ce post dans le groupe Google sur les extensions.

Chrome 117: Protections des URL étendues dans la navigation dans l'API des extensions

Publié le

Auparavant, la navigation déclenchée par des appels à l'API d'extension pour tabs.update(), tabs.create() et windows.create() générait une erreur pour certaines URL chrome://. De plus, l'appel de tabs.update() avec une URL JavaScript était interdit. Dans la version 117, ces protections sur les URL JavaScript ont été étendues à la méthode tabs.create() et un certain nombre d'URL chrome:// supplémentaires ont été ajoutées à la liste des URL interdites, qui s'applique à toutes les méthodes mentionnées précédemment.

Amélioration des conseils pour l'API déclarativeNetRequest

Publié le

L'API chrome.declarativeNetRequest bloque ou modifie les requêtes réseau en spécifiant des règles déclaratives. Cela permet aux extensions de modifier les requêtes réseau sans les intercepter ni afficher leur contenu, protégeant ainsi la confidentialité des utilisateurs. Elle est également délicate à utiliser. Dans cette optique, nous avons réécrit les consignes de façon à donner une vision plus claire de la façon d'implémenter des ensembles de règles déclaratives. Lisez la nouvelle section en cliquant sur le lien ci-dessus.

Utiliser votre compte Google Analytics avec le Chrome Web Store

Publié le

Le Chrome Web Store propose une intégration avec Google Analytics, ce qui vous permet de consulter des données analytiques sur votre fiche Chrome Web Store en plus de l'affichage proposé dans le tableau de bord du développeur. Pour en savoir plus, consultez Utiliser votre compte Google Analytics avec le Chrome Web Store.

Chrome 115: étapes par défaut des outils de développement par rapport aux scripts de contenu

Publié le

Les scripts de contenu injecté se trouvent désormais par défaut dans la liste d'éléments à ignorer des outils de développement. Cela n'affecte pas les points d'arrêt, mais cela signifie que les scripts de contenu seront ignorés lors du débogage et que les exceptions de ces scripts seront ignorées. Lorsqu'un script de contenu est ouvert dans l'onglet Sources, une bannière vous avertit s'il est activé et vous offre la possibilité de le supprimer de la liste des éléments à ignorer. Pour désactiver ce comportement, ouvrez les outils de développement, accédez à Settings (Paramètres), puis à Ignore list (Liste des éléments à ignorer). Pour en savoir plus, consultez Nouveautés des outils de développement.

Chrome 116 (bêta) : plus d'espace

Publié le

Chrome 116 est une version importante pour les extensions. Vous pouvez désormais ouvrir les panneaux latéraux par programmation. Une nouvelle méthode vous permet de savoir s'il existe un document hors écran actif. Plusieurs améliorations ont été apportées aux service workers. Dans la phase 116, le nombre d'améliorations est suffisant pour que nous ayons publié un article de blog décrivant chacune d'elles. Chrome 116 est en version bêta depuis le 19 juillet.

Article de blog: Informations concernant les extensions Chrome

Publié le

Nous venons de publier un aperçu des modifications et améliorations apportées aux extensions cette année. Cet article présente les grandes nouveautés de l'année, notamment l'API Side Panel, les améliorations des service workers et les documents hors écran. Vous aurez également un aperçu de nos projets pour ce trimestre. L'article en propose bien plus, avec des liens vers tous les liens.

Nouveaux conseils et exemple: Découvrez comment utiliser Google Analytics 4 dans votre extension Chrome

Publié le

Nous avons publié de nouveaux exemples et conseils concernant Google Analytics et la géolocalisation:

Chrome 115: spécifiez plusieurs raisons dans chrome.offscreen.createDocument()

Publié le

Vous pouvez maintenant spécifier plusieurs énumérations reason lorsque vous appelez chrome.offscreen.createDocument(). Utilisez cette option lorsqu'un document hors écran est destiné à différentes fins. Le navigateur utilise les motifs fournis pour déterminer la durée de vie du document hors écran.

Nouvel outil: outil de test de mise à jour d'extension

Publié le

Nous venons de lancer l'outil de test de mise à jour des extensions, un serveur local de mise à jour des extensions qui permet de tester les mises à jour des extensions Chrome pendant le développement local, y compris pour l'octroi d'autorisations. L'outil affiche le flux de mise à jour de l'utilisateur, y compris le fait de garder une extension désactivée jusqu'à ce que l'utilisateur accorde les nouvelles autorisations demandées. Cet outil est particulièrement utile pour simuler les modifications d'autorisation demandées lors de la mise à jour d'une extension de Manifest V2 vers Manifest V3.

Chrome 114: nouvelle API Side Panel

Publié le

Découvrez la nouvelle API Side Panel, une surface associée qui permet aux utilisateurs d'accéder à des outils en même temps que le contenu qu'ils consultent. Pour en savoir plus, consultez la documentation de référence de l'API Side Panel. De plus, nous avons ajouté de nombreux exemples de panneaux latéral à notre dépôt d'exemples GitHub. Nous partageons également plus d'informations sur les panneaux latéraux dans le nouvel article de blog Concevoir une expérience utilisateur de qualité supérieure avec la nouvelle API Side Panel. Nous avons également passé en revue nos Consignes relatives à la qualité et nos bonnes pratiques afin de fournir des conseils supplémentaires sur la création d'extensions de panneau latéral de haute qualité.

Vos commentaires sont importants pour la création de cette API. faites-nous part de vos idées et de vos demandes de fonctionnalités dans les chromium-groups. Nous vous communiquerons prochainement de nouvelles informations à ce sujet, car nous continuons d'améliorer l'API Side Panel.

Nouveaux exemples: WASM dans les extensions

Publié le

Deux nouveaux exemples sont disponibles et montrent comment utiliser WASM dans une extension:

Nous remercions tout particulièrement le contributeur GitHub @daidr pour ces exemples.

Mise à jour des conseils de migration vers Manifest V3

Publié le

Nous avons mis à jour la section Problèmes connus de nos conseils de migration avec Manifest V3 en y ajoutant une liste actualisée des lacunes de la plate-forme d'extensions que nous avons l'intention de combler avant d'annoncer un nouveau calendrier d'abandon de Manifest V2.

Enregistrement audio et vidéo avec Manifest V3

Publié le

Nous venons de publier un nouvel article intitulé Enregistrement audio et capture d'écran, qui explique comment enregistrer du contenu audio ou vidéo à partir d'un onglet, d'une fenêtre ou d'un écran dans Manifest V3. Cet article décrit plusieurs approches d'enregistrement impliquant l'API chrome.tabCapture et la fonction getDisplayMedia().

Chrome 114: augmentation du quota storage.local

Publié le

Nous avons augmenté le quota de la propriété storage.local à environ 10 Mo. Il a été accepté dans le groupe communautaire des extensions Web. Cela permet d'aligner storage.local sur storage.session, qui a été modifié dans Chrome 112.

Nouveau tutoriel et aide sur les service workers d'extensions

Publié le

Les service workers font partie intégrante des extensions Chrome. Nous venons de publier un tutoriel expliquant les principes de base de l'enregistrement, du débogage et de l'interaction avec les service workers. Nous avons également ajouté un nouveau Guide des service workers qui explique plus en détail les concepts importants. Nous élargirons cette section dans les mois à venir.

Autres conseils de dépannage pour les cas de non-respect des règles du Web Store

Publié le

Pour faciliter la publication dans le Chrome Web Store, nous avons ajouté de nouvelles consignes dans deux domaines. Les conseils sur les fonctionnalités minimales visent à offrir aux utilisateurs des avantages et à enrichir leur expérience de navigation. Les consignes relatives aux annonces affiliées consistent à informer les utilisateurs des extensions qui utilisent des liens ou des codes d'affiliation pour la monétisation, et à leur donner un certain contrôle en exigeant une action de l'utilisateur avant l'inclusion.

Nouvelles instructions pour le convertisseur de fichier manifeste d'extension

Publié le

Nous avons réécrit le fichier README de Extension Manifest Converter afin de faciliter la compréhension de la procédure à suivre après l'exécution de l'outil. Le convertisseur permet de migrer les extensions basées sur Manifest V2 vers Manifest V3. Le nouveau fichier README décrit le fonctionnement de l'outil à l'aide de mots correspondant étroitement à ceux de la checklist du guide de migration. Le convertisseur ne fait pas tout, mais il élimine de nombreuses tâches qui ne nécessitent pas d'intervention humaine.

Chrome 113: nouveaux motifs d'affichage hors écran des documents

Publié le

Nous avons ajouté deux nouveaux types de motifs à l'API Offscreen Documents. Utilisez LOCAL_STORAGE pour accéder à l'API localStorage de la plate-forme Web. Utilisez WORKER lorsque vous créez des nœuds de calcul Web.

Google Analytics 4 désormais dans le tableau de bord du développeur

Publié le

Le tableau de bord du développeur Chrome Web Store est désormais compatible avec Google Analytics 4 (GA4). Nous avons simplifié la configuration de Google Analytics et la gestion des accès pour les éditeurs de groupe. Si vous utilisiez auparavant Google Universal Analytics pour suivre l'activité de votre fiche Play Store, vous devrez prendre des mesures d'ici le 1er juillet 2023 pour continuer à recevoir des données la concernant. Pour en savoir plus, consultez cet article sur le groupe Google Chromium Extensions.

L'API File Handling arrive sur ChromeOS

Publié le

L'API File Handler peut être testée sur ChromeOS en Canary pour les versions 112 et 113. Il permet aux extensions de ChromeOS d'ouvrir des fichiers avec les types MIME et les extensions de fichier spécifiés. Pour implémenter la gestion de fichiers, ajoutez un ensemble de règles à manifest.json. Cette fonctionnalité fonctionne de la même manière que pour les progressive web apps. Pour en savoir plus, consultez cet article sur ce site.

Pour activer la gestion de fichiers:

  • À partir de la version 112, lancez Chrome à l'aide de l'indicateur --enable-features=ExtensionWebFileHandlers (à partir de la version 112)
  • À partir de la version 113, collez os://flags/#extension-web-file-handlers dans l'omnibox Chrome et sélectionnez "Activé" dans le menu déroulant.

Nous espérons lancer cette fonctionnalité dans Chrome 115 fin juin. Surveillez cet espace pour vous tenir informé.

Nouveaux exemples: déclarations dynamiques et injection programmatique

Publié le

Nous avons créé un nouvel exemple pour l'API chrome.scripting. Elle illustre les déclarations dynamiques, avec lesquelles un script de contenu est enregistré au moment de l'exécution, et l'injection programmatique, où un script est exécuté dans un onglet déjà ouvert.

Nouveaux échantillons: cas d'utilisation de la requête nette déclarative

Publié le

Trois nouveaux exemples sont disponibles pour illustrer l'API Declarative Net Request. Chacun d'eux illustre l'implémentation d'un cas d'utilisation unique. La première montre comment bloquer les cookies. Les deux autres sont des URL de blocage et de redirection.

Chrome 112: augmentation du quota storage.session

Publié le

À partir de Chrome 112, le quota pour la propriété storage.session a été augmenté à environ 10 Mo. Cette modification a été approuvée par le groupe de la communauté des extensions Web: https://github.com/w3c/webextensions/issues/350

Chrome 109: Documents hors écran

Publié le

Les documents hors écran sont désormais disponibles dans les extensions Manifest V3. Ils facilitent la transition des pages en arrière-plan vers les service workers d'extensions en assurant la prise en charge des fonctionnalités et des API liées au DOM. Pour en savoir plus, consultez cet article de blog.

Chrome 110: une extension est-elle activée ?

Publié le

La méthode chrome.action.isEnabled() vérifie de manière programmatique si une extension a été activée pour un onglet spécifique. Cela vous évite de conserver l'état activé de vos onglets. Cette nouvelle méthode utilise un ID d'onglet et une référence à un rappel et renvoie une valeur booléenne. Elle présente une limitation: les onglets créés à l'aide de chrome.declarativeContent renvoient toujours "false".

(L'espace de noms chrome.action a récemment obtenu de nouvelles méthodes pour contrôler l'apparence des badges d'extension. Pour en savoir plus, consultez la section Définir les couleurs du badge.)

Chrome 110: modification du délai d'inactivité d'un service worker

Publié le

Auparavant, un service worker d'extension s'arrêtait fréquemment au bout de cinq minutes. Nous avons modifié ce comportement pour qu'il ressemble davantage à la durée de vie d'un service worker sur le Web. Un service worker d'extension est arrêté après 30 secondes d'inactivité ou si le traitement d'une seule activité prend plus de 5 minutes. Pour en savoir plus, consultez la section Durée de vie prolongée des service workers d'extensions.

Post: Suspension de l'arrêt de Manifest V2

Publié le

Le calendrier d'abandon de Manifest V2 est en cours d'examen et les tests prévus pour début 2023 sont reportés. Pour plus d'informations, consultez cette mise à jour dans le groupe Google "chromium-extensions".

Chrome 110: Définir les couleurs du badge

Publié le

L'espace de noms chrome.action comporte deux nouvelles méthodes pour vous donner plus de contrôle sur les badges d'extension d'apparence. Les méthodes setBadgeTextColor() et getBadgeTextColor() permettent à une extension de modifier et d'interroger la couleur du texte du badge de son icône de barre d'outils. Lorsqu'elles sont utilisées avec setBadgeBackgroundColor et getBadgeBackgroundColor, ces nouvelles méthodes vous permettent de renforcer la cohérence du design et de la marque.

Article de blog: En savoir plus sur la transition vers Manifest V3

Publié le

Nous avons clarifié le calendrier d'abandon de Manifest V2. Le calendrier d'assistance Manifest V2 a également été mis à jour pour refléter ces informations.

Mise à jour de Docs: problèmes connus lors de la migration vers Manifest V3

Publié le

Nous avons dressé une liste des fonctionnalités principales en cours de développement et des bugs signalés. L'objectif de cette page est d'aider les développeurs à mieux comprendre l'état actuel de la plate-forme et les fonctionnalités qu'ils peuvent cibler pour se préparer à l'avenir.

Chrome Web Store : "grande vignette promotionnelle" importation d'image supprimée

Publié le

Le Chrome Web Store a supprimé la "grande vignette de promotion" Importez l'UI à partir de l'onglet de la fiche Play Store des articles dans le tableau de bord du développeur. Ce changement n'affecte pas l'expérience utilisateur, car ces images n'étaient pas utilisées dans l'interface utilisateur grand public. Pour en savoir plus, consultez cet article sur les extensions chromium.

Chrome 106: Autoriser les pages des URL file:// à accéder aux ressources accessibles sur le Web

Publié le

Les origines opaques, telles que les iFrames en bac à sable et l'importation dynamique, doivent également permettre d'accéder aux ressources accessibles sur le Web, comme expliqué dans crbug.com/1219825#c11.

Chrome 106: correction du bug qui autorisait les arguments finaux incorrects dans certaines fonctions d'API asynchrones

Publié le

Auparavant, Manifest V3 appelant des API asynchrones pouvait fournir un argument final non valide, et Chrome ne générait aucune erreur. Grâce à ce correctif, Chrome affichera correctement une erreur et signalera qu'aucune signature ne correspond. Nous encourageons les développeurs à rechercher d'éventuelles erreurs dans leurs extensions dans Canary, au cas où ils utiliseraient accidentellement une signature incorrecte pour un appel d'API qui serait rompu par cette correction de bug.

Article de blog: Refonte des données analytiques du Chrome Web Store

Publié le

Le Chrome Web Store propose une interface d'analyse des articles repensée pour le tableau de bord du développeur Chrome Web Store. Le nouveau tableau de bord est plus facile à comprendre d'un seul coup d'œil et regroupe les informations les plus utiles en amont. Pour en savoir plus, consultez cet article de blog.

Chrome 105: promesses pour l'API Identity

Publié le

Cloud Functions sur l'API Identity prennent en charge les appels basés sur des promesses. Cela s’accompagne d’une légère modification de la surface pour identity.getAuthToken(), où un retour asynchrone défini sur un appel basé sur une promesse contient "token" et "grantedScopes" comme paramètres sur un seul objet (contrairement à la version de rappel qui les reçoit en tant qu'arguments distincts de la ).

Chrome 104: nouvelle API favicons pour Manifest V3

Publié le

Les extensions Manifest V3 peuvent désormais accéder aux favicons en utilisant un nouveau format d'URL: chrome-extension://<id>/_favicon/, où correspond à l'ID de votre extension. Cela remplace l'API chrome://favicons de la plate-forme Manifest V2. Pour en savoir plus, consultez la documentation sur l'API Favicon.

Mise à jour de la documentation: Déclaration en tant que professionnel ou non-professionnel du développeur

Publié le

Ajout de l'identification de professionnel/développeur non-professionnel qui permet informe les développeurs pour qu'ils déclarent eux-mêmes leur statut de professionnel ou de non-professionnel.

Chrome 103: Wasm dans Manifest V3 nécessite une évaluation non sécurisée

Publié le

Chrome n'accorde plus d'extensions script-src: wasm-unsafe-eval par défaut. Extensions qui utilisent Désormais, WebAssembly doit ajouter explicitement cette directive et cette valeur à extension_pages dans ses content_security_policy déclarations.

Chrome 103: la modification des raccourcis MV3 prend effet immédiatement

Publié le

Lorsque vous modifiez le raccourci clavier d'une extension Manifest V3 sur chrome://extensions/shortcuts, sont appliquées immédiatement. Auparavant, il fallait actualiser l'extension avant que le changement prendra effet.

Chrome 102: scripts de contenu dynamique dans le monde principal

Publié le

Les scripts de contenu enregistrés de manière dynamique peuvent désormais spécifier le monde dans lequel les ressources seront injectées. Voir scripting.registerContentScripts() pour en savoir plus.

Chrome 102: nouveau champ "optional_host_permissions" dans le fichier manifeste

Publié le

Les extensions Manifest V3 peuvent désormais spécifier la clé optional_host_permissions dans le fichier manifest.json. Ce permet aux extensions Manifest V3 de déclarer des modèles de correspondance facultatifs pour les hôtes, tout comme Manifest V2 extensions pourraient utiliser la clé optional_permissions.

Chrome 102: propriété "insidely" dans scripting.executeScript()

Publié le

chrome.scripting.executeScript() accepte désormais une propriété injectImmediately facultative sur sa injection. Si ce paramètre est présent et défini sur "true", le script injecte dans la cible possible, plutôt que d'attendre document_idle. Notez que cela ne garantit pas que le script injecter avant la page est chargée puisque celle-ci continue de se charger pendant l'appel d'API.

Chrome 102: prise en charge de l'API de l'omnibox dans Manifest V3

Publié le

L'API omnibox peut désormais être utilisée dans des applications basées sur un service worker . Auparavant, certaines méthodes de cette API étaient générées lors d'un appel en raison d'erreurs des dépendances aux capacités DOM.

Chrome 102: évaluation WMS non sécurisée autorisée dans Manifest V3 CSP

Publié le

Les extensions Manifest V3 peuvent désormais inclure wasm-unsafe-eval dans leur content_security_policy . Ce changement permet aux extensions Manifest V3 d'utiliser WebAssembly.

Chrome 102: nouvelle API storage.session

Publié le

Les extensions Manifest V3 peuvent désormais être utilisées dans l'espace de stockage en mémoire storage.session .

Mise à jour de Docs: découverte d'éléments dans le Chrome Web Store

Publié le

La page Découverte sur le Chrome Web Store explique comment les utilisateurs trouvent des articles. sur le Chrome Web Store et comment nos éditeurs sélectionnent les éléments à mettre en avant.

Chrome 101: Amélioration des conditions de domaine déclarativeNetRequest

Publié le

Les conditions de la règle declarativeNetRequest ont été mis à jour pour permettre aux extensions de mieux cibler les demandes en fonction de leur "demande" et "initiateur" domaines. Les propriétés de condition pertinentes sont initiatorDomains, excludedInitiatorDomains, requestDomains et excludedRequestDomains. Voir aussi thread chromium-extensions.

Chrome 100: résolution du problème lié à scripting.executeScript() dans les nouveaux onglets

Correction d'un problème de longue date où l'appel de scripting.executeScript() sur un nouvel onglet ou peut échouer.

Chrome 100: le port de messagerie natif maintient le service worker actif

Publié le

Se connecter à un hôte de messagerie native à l'aide de chrome.runtime.connectNative() dans le Le service worker doit rester actif tant que le port est ouvert.

Chrome 100: omnibox.setDefaultSuggestion() accepte les promesses et les rappels

Publié le

La omnibox.setDefaultSuggestion() renvoie désormais une promesse ou accepte un rappel pour permettre aux développeurs de déterminer quand La suggestion a été correctement définie.

Chrome 100: compatibilité avec i18n.getMessage() dans les service workers d'extensions

Publié le

L'API chrome.i18n.getMessage() est désormais dans les contextes de service workers d'extensions.

Chrome 99: match_origin_as_fallback dans Canary

Publié le

Les scripts de contenu peuvent désormais spécifier la clé match_origin_as_fallback à injecter dans les frames qui sont liés à un frame correspondant, y compris les frames avec about:, data:, blob: et filesystem: URL. Voir les scripts de contenu pour en savoir plus.

Chrome 99 : compatibilité des service workers d'extensions avec les schémas de fichier dans Canary

Publié le

Les extensions Manifest V2 et Manifest V3 basées sur un service worker peuvent désormais utiliser l'API Fetch pour demander URL du schéma file:. L'accès aux URL du schéma file: nécessite toujours que l'utilisateur active l'option "Autoriser l'accès" aux URL de fichiers pour l'extension sur la page chrome://extensions.

Chrome 99: compatibilité assurée avec les API de messagerie dans Canary

Publié le

la prise en charge de la promesse tabs.sendMessage, runtime.sendMessage runtime.sendNativeMessage pour créées pour Manifest V3.

Mise à jour de Docs: documentation relative aux avis sur le Chrome Web Store

Publié le

Ajout d'une nouvelle page de référence offrant un aperçu de Chrome Processus d'examen du Web Store et explications sur l'application du Règlement du programme pour les développeurs

Chrome 98: scripting.executeScript() et scripting.insertCSS() acceptent plusieurs fichiers

Publié le

executeScript() de l'API Scripting et les méthodes insertCSS() acceptent désormais plusieurs fichiers. Auparavant, ces méthodes nécessitaient un tableau contenant une seule entrée de fichier.

Mise à jour de Docs: informations sur la résolution des problèmes de non-respect des règles

Publié le

La page Résoudre les problèmes de non-respect des règles du Chrome Web Store mis à jour pour fournir aux développeurs des conseils plus détaillés sur les motifs courants de refus.

Chrome 96: promesse étendue à 27 API supplémentaires

Publié le

Cette version contient beaucoup plus de mises à jour prometteuses que n'importe quelle version précédente. Les mises à jour incluent d'extensions générales et propres à ChromeOS. Développez les sections suivantes pour en savoir plus.

API d'extensions

Un certain nombre d'API sont désormais compatibles avec les promesses dans Manifest V3.

De plus, les API qui utilisent ChromeSetting et le prototype soutiennent désormais aussi les promesses. Les API suivantes sont concernées par ce changement.

API ChromeOS

Chrome 96: scripts de contenu dynamique

Publié le

L'API chrome.scripting est désormais compatible avec l'enregistrement, mise à jour, désinscription et obtention d'une liste de scripts de contenu lors de l'exécution. Auparavant, les scripts de contenu ne pouvaient être déclarés de manière statique que dans le fichier manifest.json ou injecté de manière automatisée au moment de l'exécution avec chrome.scripting.executeScript().

Mise à jour de Docs: calendrier de prise en charge de Manifest V2

Publié le

Le calendrier de transition de Manifest V2 à V3 a été annoncé dans cet article de blog. une page de chronologie plus détaillée a été publiée.

Chrome 96: autorisation déclarativeNetRequestWithHostAccess

Publié le

La nouvelle autorisation declarativeNetRequestWithHostAccess permet aux extensions d'utiliser l'autorisation l'API chrome.declarativeNetRequest sur les sites dispose d'autorisations d'hôte. Cela permet également d'activer les extensions Manifest V2 existantes qui utilisent webRequest, webRequestBlocking et autorisation de l'hôte spécifique au site à migrer vers API chrome.declarativeNetRequest sans sans que l'utilisateur approuve de nouvelles autorisations.

Chrome 95: injecter des scripts directement dans les pages

Publié le

L'API chrome.scripting La méthode executeScript() peut désormais injecter des scripts directement dans le monde principal d'une page. Auparavant, les extensions ne pouvaient injecter directement dans le monde isolé de l'extension. Pour en savoir plus sur les mondes isolés, consultez la documentation sur les scripts de contenu.

Chrome 95: promesse de compatibilité avec l'API Storage

Publié le

Méthodes de la version Manifest V3 de chrome.storage L'API renvoie désormais des promesses.

Mise à jour du règlement: application forcée de la validation en deux étapes

Publié le

L'article de blog sur la mise à jour du règlement, publié le 29 juin 2021, a été mis à jour pour corriger le calendrier de déploiement de la validation en deux étapes.

Chrome 94: modifications de l'ensemble de règles statiques des requêtes réseau déclaratives

Publié le

Le chrome.declarativeNetRequest est désormais compatible spécifiant jusqu'à 50 ensembles de règles statiques (MAX_NUMBER_OF_STATIC_RULESETS) et activer jusqu'à 10 ensembles de règles (MAX_NUMBER_OF_ENABLED_STATIC_RULESETS) à la fois.

Chrome 93: prise en charge de l'isolation multi-origine

Publié le

Les extensions Manifest V2 et Manifest V3 peuvent désormais activer l'isolation multi-origine. Cette caractéristique limite les origines multiples ressources peuvent charger les pages d'une extension et permettent l'utilisation de fonctionnalités de bas niveau de la plate-forme Web, telles que SharedArrayBuffer. L'activation sera requise à partir de Chrome 95.

Mise à jour du règlement: règlement du programme pour les développeurs mis à jour

Publié le

Le Règlement du programme Chrome Web Store pour les développeurs a été mis à jour en clarifiant les tactiques d'installation trompeuses, les règles relatives au spam et aux contenus répétitifs. Cette mise à jour inclut également une nouvelle exigence de validation en deux étapes pour publier sur le Web Chrome Google Store. Pour en savoir plus, consultez cet article de blog.

Article de blog: Actions des extensions dans Manifest V3

Publié le

Les extensions Chrome comportaient chrome.browserAction et chrome.pageActions API pendant des années, mais Manifest V3 a remplacé les deux versions par une API chrome.actions générique. Ce , explore l'historique de ces API et ce qui a changé dans Manifest V3. Lire l'article

Article de blog: présentation de chrome.scripting

Publié le

L'API chrome.scripting est une nouvelle API Manifest V3 axée sur sur l'écriture de script. Dans ce post, nous allons analyser les motivations de ce changement et examiner de plus près ses nouvelles capacités. Lire l'article

Chrome 92: prise en charge des service workers de modules

Publié le

Chrome est désormais compatible avec les modules JavaScript dans les service workers. Pour spécifier un module dans votre fichier manifeste:

"background": {
  "service_worker": "script.js",
  "type": "module"
}

Le script du nœud de calcul est alors chargé en tant que module ES, ce qui vous permet d'utiliser le mot clé import dans le le script du nœud de calcul pour importer d'autres modules.

Chrome 91: chrome.action.getUserSettings()

Publié le

Les nouvelles chrome.action.getUserSettings() permet aux extensions de déterminer si l'utilisateur l'a épinglée à la barre d'outils principale.

Chrome 90: chrome.scripting.removeCSS()

Publié le

Nouvelle version de chrome.scripting.removeCSS() permet aux extensions de supprimer le code CSS précédemment inséré via chrome.scripting.insertCSS(). Il remplace chrome.tabs.removeCSS().

Chrome 90: renvoi de promesses de scripting.executeScript()

Publié le

chrome.scripting.executeScript() maintenant est compatible avec les promesses de retour. Si la valeur résultante de l'exécution du script est une promesse, Chrome attendra que la promesse s'est soumise et renvoie sa valeur résultante.

Chrome 90: les résultats de chrome.scripting.executeScript() incluent l'identifiant frameId.

Publié le

Résultats issus de chrome.scripting.executeScript() incluez maintenant le frameId. La propriété frameId indique le cadre d'où provient le résultat, ce qui permet aux extensions associer les résultats aux frames individuels lors de l'injection dans plusieurs frames.

Chrome 89: nouvelle API pour gérer les groupes d'onglets

Publié le

La nouvelle API chrome.tabGroups et les nouvelles fonctionnalités de chrome.tabs permet aux extensions de lire et de manipuler les groupes d'onglets. Nécessite Manifest V3.

Chrome 89: autorisations personnalisables pour les ressources accessibles sur le Web

Publié le

Définitions des ressources accessibles sur le Web dans Manifest V3 a été modifié pour permettre aux extensions de restreindre l'accès aux ressources en fonction de l'origine du demandeur ou l'ID d'extension.

Article de blog: Conversion Manifest Converter

Publié le

L'équipe chargée des extensions Chrome a publié en Open Source "Extension Manifest Converter", un outil Python qui automatise certains aspects mécaniques de la conversion des extensions en Manifest V3. Consultez le annonce de blog et l'obtenir à partir de GitHub.

Chrome 88: disponibilité générale de Manifest V3

Publié le

Manifest V3 est une mise à jour majeure de la plate-forme d'extensions : Consultez la page Présentation de Manifest V3 pour obtenir un résumé des fonctionnalités nouvelles et modifiées. Extensions peuvent continuer à utiliser Manifest V2 pour le moment, mais cette fonctionnalité sera bientôt supprimée. Nous vous recommandons recommandent d'utiliser Manifest V3 pour toute nouvelle extension et de commencer à migrer les extensions existantes. vers Manifest V3 dès que possible.