Novedades de las extensiones de Chrome

Consulta esta página con frecuencia para obtener información sobre los cambios en las extensiones de Chrome, la documentación sobre extensiones, las políticas relacionadas y otros cambios. Encontrarás otros avisos publicados en el Grupo de Google Extensiones. La programación de Chrome incluye fechas de lanzamientos estables y beta.

Chrome 126: Pruebas de origen en extensiones

Publicado el

Chrome 126 presenta un nuevo campo manifest.json, trial_tokens, que te permite habilitar las pruebas de origen y las de baja en todas las plataformas de extensiones. Para obtener más información, lee la guía.

Entrada de blog: Novedades de Extensiones de Chrome (abril de 2024)

Publicado el

Publicamos una nueva edición de Novedades de las extensiones de Chrome. En la publicación, se analiza en qué ha estado trabajando el equipo de extensión durante los últimos meses. Esto incluye lo siguiente: reversión de la versión en Chrome Web Store, mejor compatibilidad con Firebase Auth y más lanzamientos y actualizaciones de API.

Reversiones de versiones en el Panel del desarrollador de Chrome Web Store

Publicado el

Revierte tu extensión a la versión anterior publicada en Chrome Web Store, sin revisión adicional. Lee la entrada de blog y la documentación para obtener más información.

Chrome 124: API avanzada de documentScan

Publicado el

Ahora hay una API de documentScan avanzada disponible en ChromeOS para descubrir y recuperar imágenes desde los escáneres de documentos adjuntos.

Chrome 124: Compatibilidad de WebGPU en Service Workers

Publicado el

A partir de Chrome 124, los service workers admiten WebGPU. Para obtener una guía de inicio rápido, consulta la muestra de extensión WebGPU.

Chrome 123: La API de Events admite el filtrado por bloques CIDR

Publicado el

La API de Events ahora admite el filtrado de bloques de enrutamiento entre dominios sin clases (CIDR). Un bloque CIDR es un conjunto de direcciones IP que comparten un prefijo de red con la misma cantidad de bits. Antes, un desarrollador que necesitaba filtrar varias direcciones IP necesitaba configurar una regla de filtro para cada una de las direcciones del rango de bloques. Cuando una extensión llama a addListener(), una regla pasada significa que solo se llamará al controlador de eventos cuando la parte del host de una URL sea una dirección IP y esté contenido en cualquiera de los bloques CIDR especificados en un array.

Chrome Web Store: Actualizaciones en los requisitos de longitud de los nombres de las extensiones

Publicado el

En Chrome Web Store, ahora hay un límite universal de 75 caracteres para el campo "name" de una extensión en el archivo manifest.json. Anteriormente, el límite para el idioma inglés era de 45 caracteres y no había restricciones para el campo "name" en otras configuraciones regionales.

Originalmente, se pretendía permitir diferencias culturales y de idioma que quizás no se puedan capturar con la misma cantidad de caracteres. Lamentablemente, una pequeña cantidad de desarrolladores abusó de esta función para generar spam en la tienda. Como resultado, presentamos un nuevo límite universal: un aumento a 75 caracteres. Actualmente, este límite abarca casi todas las extensiones de la tienda, por lo que es probable que no necesites realizar ninguna acción debido a este cambio. Si intentas subir una extensión con un nombre más largo que el límite máximo, el almacén bloqueará la carga.

Entrada de blog: El recorrido de Eyeo para probar la suspensión de los service worker

Publicado el

En esta publicación del equipo de Extension Engine de eyeo, exploramos el problema de probar los service workers de extensión. En Manifest V2, las extensiones se encontraban en una página en segundo plano y estaban activas durante todo su ciclo de vida. En su lugar, Manifest V3 usa service workers que, por su diseño, conservan los recursos mediante el cierre cuando no son necesarios. Esto presenta ciertos desafíos de prueba. En esta publicación, se explica cómo Oyeo abordó estos desafíos.

Chrome 123: Las alarmas ahora se ejecutan cuando el dispositivo está suspendido

Publicado el

Las alarmas configuradas con la API de chrome.alarms ya no se retrasan cuando un dispositivo entra en modo de suspensión. Cuando se active el dispositivo, la alarma se activará una vez, sin importar cuántas alarmas perdieron. Por ejemplo, supongamos que una alarma está configurada para sonar una vez por hora y el dispositivo en el que se encuentra está suspendido de 12:55 a.m. a 2:05 a.m., entonces solo la alarma de las 2:00 a.m. activa el evento onAlarm. Se activará lo más cerca posible de las 2:00 a.m. y, si está suspendido, inmediatamente cuando se active el dispositivo.

Este cambio alinea Chrome con el comportamiento acordado en el grupo de la comunidad de extensiones web.

Entrada de blog: Cambios en el comportamiento de la bfcache con puertos de mensajes de extensión

Publicado el

La memoria caché atrás/adelante (bfcache) es una optimización del navegador que permite la navegación instantánea hacia atrás y hacia adelante. A partir de Chrome 123, cuando una página con un puerto de extensión abierto se almacena en bfcache, el canal de mensajes se cierra, lo que significa que no se enviarán mensajes a esa página. En consecuencia, las secuencias de comandos de extensiones deben escuchar los eventos de ciclo de vida, como onDisconnect, y configurar una conexión nueva cuando se restablezca la página desde BFCache.

Para obtener más información y ver un código de muestra, consulta Cambios en el comportamiento de BFCache con puertos de mensajes de extensión.

Chrome 122: Promesa compatibilidad con APIs de extensiones asíncronas

Publicado el

Terminamos de implementar la compatibilidad con Promise para todos los métodos de API de extensión asíncrona. Esto se hizo para modernizar los métodos de la API mejorando la ergonomía del manejo de operaciones asíncronas. Algunos métodos (por ejemplo, desktopCapture.chooseDesktopMedia()) siguen admitiendo solo devoluciones de llamada porque sus superficies actuales no son compatibles con las promesas. Para la retrocompatibilidad, aún se admiten las devoluciones de llamada. Si encuentras una promesa que falla, informa un error.

Nueva guía para la comunicación en tiempo real

Publicado el

Acabamos de publicar guías sobre las opciones en tiempo real para las extensiones. Las actualizaciones en tiempo real proporcionan una ruta de comunicación instantánea desde tus servidores directamente hasta tus instalaciones de extensiones. Además, tenemos una nueva guía para usar chrome.gcm y Web Push.

Nueva guía y muestra: Prueba la finalización de service worker

Publicado el

Acabamos de publicar una guía sobre cómo probar la finalización de un service worker con Puppeteer. En el ejemplo adjunto, se demuestra esto en Puppeteer y Selenium.

Ejemplo actualizado de mensajería nativa

Publicado el

Acabamos de publicar una muestra actualizada de la mensajería nativa. Esta API permite que la extensión se inicie y se comunique con otra aplicación. Gracias al colaborador de GitHub Shubham-Rasal por tu trabajo en esto.

Chrome 121: Nueva propiedad lastAccessed en GKE.Tab

Publicado el

Se agregó una nueva propiedad llamada lastAccessed al objeto tabs.Tab. Esta propiedad indica cuándo se activó la pestaña por última vez. El valor que se muestra está en milisegundos desde el ciclo de entrenamiento.

Chrome 121: Las teclas de "segundo plano" no compatibles ahora emiten una advertencia

Publicado el

En el cambio de Manifest V2 a Manifest V3, se modificaron los elementos secundarios de la clave de manifiesto "background" para adaptarse al reemplazo de secuencias de comandos en segundo plano por service worker de extensiones. Antes, agregar las claves de Manifest V2 "scripts", "page" o "persistent" a la clave "background" de una extensión de Manifest V3 arrojaba un error. La presencia de estas claves ahora activa una advertencia.

Esto se hace para habilitar el uso de un solo archivo de manifiesto en extensiones de varios navegadores, según una propuesta en el grupo de la comunidad.

Chrome 120: El nivel de detalle mínimo de la alarma se reduce a 30 segundos

Publicado el

A partir de Chrome 120, las extensiones de Manifest V3 pueden usar la API de chrome.alarms con retrasos o períodos de 30 segundos, en lugar de requerir valores de 60 segundos o más.

Entrada de blog: Reanuda la transición a Manifest V3

Publicado el

Se actualizó el cronograma de compatibilidad con Manifest V2. Consulta nuestra entrada de blog de noviembre de 2023 para obtener más detalles.

Entrada de blog: Mejoras en la compatibilidad con el filtrado de contenido en Manifest V3

Publicado el

Obtén información sobre cómo mejoramos la API declarativeNetRequest en nuestra nueva entrada de blog.

Entrada de blog: Novedades de Chrome 120 para extensiones

Publicado el

Se lanzó recientemente Chrome 120 Beta. Si deseas obtener un resumen de las actualizaciones importantes relevantes para los desarrolladores de extensiones, lee nuestra nueva entrada de blog: Novedades de Chrome 120 para extensiones. Esta versión también marca un hito importante, ya que quita los dos últimos elementos (userScripts, controlador de archivos en ChromeOS) de la lista de brechas críticas de la plataforma.

PSA: Cambio en la administración de las URLs de la política de privacidad en el Panel del desarrollador

Publicado el

Las políticas de privacidad del Panel del desarrollador ahora se agregan a nivel del artículo. Esto te permite proporcionar una política de privacidad diferente para cada elemento. Obtén más información sobre este cambio en nuestro PSA.

Video: Una charla con Matt Frisbie

Publicado el

Acabamos de publicar un nuevo video en el canal de YouTube de Chrome for Developers en el que chatea con el experto y autor de Google Developers, Matt Frisbie. Mírala aquí.

Nueva guía para probar extensiones

Publicado el

Acabamos de publicar nueva orientación sobre cómo escribir pruebas automatizadas para extensiones, incluida la sección sobre cómo escribir pruebas de unidades, la guía general y un instructivo sobre pruebas de extremo a extremo.

Entrada de blog: Novedades de las extensiones de Chrome (octubre de 2023)

Publicado el

Acabamos de publicar la segunda edición de Qué sucede en las extensiones de Chrome. La publicación analiza en qué ha estado trabajando el equipo de extensión durante los últimos meses, entre ellos, abordar los problemas de estabilidad de los service worker y avanzar en el cierre de todas las brechas de la plataforma de MV3. También compartiremos los próximos lanzamientos de la API interesantes, como la API de Reading List y la API de User Scripts.

Mayores límites del conjunto de reglas estáticas en la API de Declarative Net Request

Publicado el

Según los comentarios del grupo de la comunidad de extensiones web, aumentaremos significativamente el límite de 10 a 50 para los conjuntos de reglas estáticas habilitadas. Además, aumentaremos de 50 a 100 la cantidad total de conjuntos de reglas estáticas permitidas. Actualmente, esta función está disponible en Canary.

Orientación mejorada sobre el código alojado de forma remota

Publicado el

Un requisito de Manifest V3 es que las extensiones ya no pueden usar código alojado de forma remota. Aunque esta fue parte de nuestra guía de migración desde el principio, pensamos que valía la pena mejorar la orientación en torno a este problema. Esa página ahora brinda más información, se describe lo que aún es posible en Manifest V3 y se brinda más información sobre las estrategias de actualización.

Hay un complemento relacionado con la solución de problemas relacionados con incumplimientos en Chrome Web Store. En una sección nueva, se describen los motivos comunes por los que se rechazan las extensiones con código alojado de forma remota.

Chrome 118: El valor predeterminado de isUrlFilterCaseSensitive es falso

Publicado el

A partir de Chrome 118, se cambió la propiedad isUrlFilterCaseSensitive de la API de chrome.declarativeNetRequest para que se establezca false de forma predeterminada. Si deseas conservar el comportamiento anterior, puedes configurar isUrlFilterCaseSensitive como true de forma explícita en tus reglas declarativeNetRequest.

Esto sigue a los debates que se realizaron en el grupo de la comunidad de extensiones web. Firefox y Safari ya implementaron un cambio similar.

Documentación sobre cookies y APIs de almacenamiento web

Publicado el

Publicamos una guía nueva sobre cómo funcionan las cookies y las APIs de almacenamiento web en las extensiones de Chrome. Se incluyen detalles sobre cambios en la partición de almacenamiento y cookies en Privacy Sandbox, un proyecto en curso para dar de baja las cookies de terceros mediante la creación de una serie de nuevas APIs de plataformas web, además de detalles sobre cómo funcionan en las extensiones.

Las muestras de extensiones ahora se pueden buscar

Publicado el

Recientemente, creamos una página que te permite buscar ejemplos de extensiones de Chrome. La página de búsqueda tiene varias opciones. Un cuadro de búsqueda te permite buscar texto en los títulos de muestra. Puedes restringir la búsqueda por permiso o API de extensión. Un filtro adicional te permite restringir la búsqueda a la API o a las muestras funcionales (casos de uso).

El participante de Google Summer of Code creó esta nueva página de muestra, Xuezhou Dai, que también contribuyó con muestras nuevas. Puedes obtener más información sobre sus experiencias durante el verano pasado en su entrada en nuestro blog.

Como antes, nuestras muestras de código aún están disponibles en GitHub para su clonación o bifurcación.

Chrome 118: Cambios en la apertura del archivo: URLs de esquemas

Publicado el

A partir de Chrome 118, las extensiones necesitarán la configuración "Permitir el acceso a las URLs del archivo" habilitada desde la página chrome://extensions para abrir las URLs de esquema file:// con las APIs de Pestañas o Windows. Puedes verificar este acceso de manera programática llamando a chrome.extension.isAllowedFileSchemeAccess(). Firefox ya restringe las URL de los archivos, y Safari admite el cambio. Para obtener más información, consulta la publicación en la publicación de extensiones del Grupo de Google.

Chrome 117: Protecciones de URL expandidas en las navegaciones de la API de extensiones

Publicado el

Anteriormente, la navegación que se activaba desde las llamadas a la API de extensión para tabs.update(), tabs.create() y windows.create() emitía un error para algunas URLs chrome://. Además, estaba prohibido llamar a tabs.update() con una URL de JavaScript. En la versión 117, estas protecciones en las URLs de JavaScript se expandieron al método tabs.create() y se agregaron varias URLs chrome:// adicionales a la lista de URLs prohibidas que se aplican a todos los métodos mencionados anteriormente.

Guía mejorada para la API de declarativeNetRequest

Publicado el

La API de chrome.declarativeNetRequest bloquea o modifica las solicitudes de red mediante la especificación de reglas declarativas. Esto permite que las extensiones modifiquen las solicitudes de red sin interceptarlas ni ver su contenido, lo que brinda más privacidad a los usuarios. También es difícil de usar. Con esto en mente, reescribemos la guía de una manera que creemos que ofrece un panorama más claro de cómo implementar conjuntos de reglas declarativos. Lee la nueva sección en el vínculo anterior.

Cómo usar tu cuenta de Google Analytics con Chrome Web Store

Publicado el

Chrome Web Store ofrece integración con Google Analytics, lo que te permite ver análisis de tu ficha de Chrome Web Store, además de la vista que se ofrece en el Panel del desarrollador. Para obtener más información, consulta el artículo Cómo usar tu cuenta de Google Analytics con Chrome Web Store.

Chrome 115: Herramientas para desarrolladores controla las secuencias de comandos de contenido de forma predeterminada

Publicado el

Las secuencias de comandos del contenido inyectado ahora están en la lista de elementos ignorados de Herramientas para desarrolladores de forma predeterminada. Esto no afecta los puntos de interrupción, pero significa que se pasarán por encima las secuencias de comandos de contenido durante la depuración y se ignorarán las excepciones de estas secuencias de comandos. Cuando una secuencia de comandos de contenido está abierta en la pestaña Fuentes, un banner te alerta si está activada y te ofrece la opción de quitarla de la lista de elementos ignorados. Para desactivar este comportamiento, abre Herramientas para desarrolladores, ve a Configuración y, luego, a Lista de elementos ignorados. Para obtener más información, consulta Novedades de Herramientas para desarrolladores.

Chrome 116 beta: más de lo que podemos incluir aquí

Publicado el

Chrome 116 es un gran lanzamiento de extensiones. Ahora puedes abrir los paneles laterales de manera programática. Un método nuevo te permite saber si hay un documento fuera de pantalla activo. Los service workers tienen muchas mejoras. Hay suficientes mejoras en la sección 116 que escribimos una entrada de blog para abordarlas. Chrome 116 está en versión beta el 19 de julio.

Entrada de blog: Novedades de las extensiones de Chrome

Publicado el

Publicamos una descripción general de los cambios y mejoras en las extensiones que se implementaron este año. La entrada analiza las grandes características nuevas de este año, incluida la API de Side Panel, las mejoras para los service worker y los documentos fuera de pantalla. También podrá ver en qué estamos trabajando durante este trimestre. El artículo enumera mucho más, con vínculos a todo.

Nueva orientación y muestra: Obtén información para usar Google Analytics 4 en tu extensión de Chrome

Publicado el

Publicamos nuevos lineamientos y muestras de ubicación geográfica y de Google Analytics:

Chrome 115: Especifica varios motivos en chrome.offscreen.createDocument()

Publicado el

Ahora puedes especificar varias enumeraciones reason cuando llames a chrome.offscreen.createDocument() Úsalo cuando se use un documento fuera de pantalla para varios fines diferentes. El navegador usa los motivos proporcionados para determinar la vida útil del documento fuera de pantalla.

Nueva herramienta: Herramienta de prueba de actualización de extensiones

Publicado el

Recientemente, lanzamos la herramienta de prueba de actualizaciones de extensiones, un servidor de actualización de extensiones local que se puede usar para probar actualizaciones de las extensiones de Chrome durante el desarrollo local, incluidos los otorgamientos de permisos. La herramienta muestra el flujo de actualización del usuario, que incluye mantener una extensión inhabilitada hasta que el usuario otorgue los permisos solicitados recientemente. Esta herramienta es particularmente útil para simular los cambios de permisos solicitados cuando se actualiza una extensión de Manifest V2 a Manifest V3.

Chrome 114: Nueva API del panel lateral

Publicado el

Presentamos la nueva API de Side Panel, una plataforma complementaria que permite a los usuarios acceder a herramientas junto al contenido que están explorando. Para obtener más información, visita la referencia de la API del panel lateral. Además, agregamos muchas muestras de panel lateral a nuestro repositorio de muestra de GitHub. También compartimos más información sobre los paneles laterales en la nueva entrada de blog Diseña una experiencia del usuario superior con la nueva API del panel lateral. También se revisaron nuestras políticas de lineamientos de calidad y prácticas recomendadas para proporcionar más orientación sobre cómo crear extensiones de panel lateral de alta calidad.

Tus comentarios son importantes para desarrollar esta API. Envíanos tu opinión y tus solicitudes de funciones en los chromium-groups. Mantente al tanto de las nuevas actualizaciones a medida que seguimos mejorando la API del panel lateral.

Muestras nuevas: WASM en extensiones

Publicado el

Hay dos muestras nuevas disponibles que demuestran cómo usar WASM en una extensión:

Queremos dar un agradecimiento especial al colaborador de GitHub, @daidr, por estas muestras.

Se actualizó la guía de migración de Manifest V3

Publicado el

Actualizamos la sección Problemas conocidos de nuestra guía de migración de Manifest V3 con una lista actualizada de las brechas de la plataforma de extensiones que planeamos cerrar antes de anunciar un nuevo cronograma de baja de Manifest V2.

Graba audio y video con Manifest V3

Publicado el

Acabamos de publicar un nuevo artículo llamado Grabación de audio y captura de pantalla, que abarca la grabación de audio o video desde una pestaña, ventana o pantalla en Manifest V3. En este artículo, se describen varios enfoques de grabación que involucran la API de chrome.tabCapture y la función getDisplayMedia().

Chrome 114: Aumento de la cuota de storage.local

Publicado el

Aumentamos la cuota de la propiedad storage.local a 10 MB aproximadamente. Esto se acordó en el grupo de la comunidad de extensiones web. Esto une a storage.local con storage.session, que se modificó en Chrome 112.

Instructivo y ayuda sobre un nuevo service worker de extensión

Publicado el

Los service workers son una parte integral de las extensiones de Chrome. Acabamos de publicar un tutorial en el que se explican los conceptos básicos del registro, la depuración y la interacción con Service Workers. También agregamos una nueva guía de service worker que explica conceptos importantes con más detalle. Ampliaremos esta sección en los próximos meses.

Más sugerencias para solucionar problemas relacionados con incumplimientos en Web Store

Publicado el

Para ayudar con la publicación de Chrome Web Store, agregamos nuevos lineamientos en dos áreas. Las indicaciones sobre la funcionalidad mínima se centran en brindarles a los usuarios beneficios y enriquecer su experiencia de navegación. La orientación sobre los anuncios de afiliado consiste en informar a los usuarios sobre las extensiones que usan vínculos o códigos de afiliado para la monetización y brindarles cierto nivel de control, ya que se requiere que los usuarios realicen acciones antes de su inclusión.

Nuevas instrucciones para el convertidor de manifiesto de extensiones

Publicado el

Reescribe el archivo README para el Extension Manifest Converter para que sea más fácil ver lo que debes hacer después de ejecutar la herramienta. El conversor ayuda a migrar las extensiones compiladas en Manifest V2 a Manifest V3. El nuevo archivo README describe lo que hace la herramienta con palabras que coinciden estrechamente con las de la lista de tareas de la guía de migración. El conversor no hace todo, pero elimina muchas tareas que no requieren una decisión de juicio humano.

Chrome 113: Nuevos motivos de los documentos fuera de pantalla

Publicado el

Agregamos dos tipos de motivos nuevos a la API de Offscreen Documents. Usa LOCAL_STORAGE para acceder a la API de localStorage de la plataforma web. Usa WORKER cuando crees trabajadores web.

Google Analytics 4 ahora en el Panel del desarrollador

Publicado el

El Panel del desarrollador de Chrome Web Store ahora es compatible con Google Analytics 4 (GA4). Simplificamos la configuración de Google Analytics y simplificamos la administración del acceso para los publicadores de grupos. Si anteriormente usaste Universal Analytics de Google para realizar un seguimiento de la actividad de tu ficha de Play Store, deberás tomar medidas antes del 1 de julio de 2023 para asegurarte de seguir recibiendo datos sobre tu ficha de Play Store. Para obtener más información, consulta la publicación sobre el Grupo de Google de Extensiones de Chromium.

La API de File Handling llega a ChromeOS

Publicado el

La API de File Handler está disponible para la experimentación en ChromeOS en Canary para las versiones 112 y 113. Permite que las extensiones de ChromeOS abran archivos con extensiones de archivo y tipos de MIME especificados. Para implementar el control de archivos, agrega un conjunto de reglas a manifest.json. Esta función funciona de la misma manera que las apps web progresivas. Para obtener más información, consulta el artículo en otra parte de este sitio.

Para habilitar el manejo de archivos, haz lo siguiente:

  • A partir de la versión 112, inicia Chrome con la marca --enable-features=ExtensionWebFileHandlers a partir de la versión 112.
  • A partir de la versión 113, pega os://flags/#extension-web-file-handlers en el cuadro multifunción de Chrome y selecciona "Habilitado" en el menú desplegable.

Esperamos lanzar esta función en Chrome 115 a fines de junio. Mira este espacio para enterarte de las novedades.

Nuevos Samples: Inyección programática y declaraciones dinámicas

Publicado el

Compilamos una muestra nueva para la API de chrome.scripting. Demuestra las declaraciones dinámicas, en las que se registra una secuencia de comandos de contenido durante el tiempo de ejecución, y la inserción programática, en la que se ejecuta una secuencia de comandos en una pestaña que ya está abierta.

Muestras nuevas: Casos de uso de solicitudes de red declarativas

Publicado el

Hay tres nuevas muestras disponibles que demuestran la API de Declarative Net Request. Cada una demuestra la implementación de un solo caso de uso. La primera muestra cómo bloquear las cookies. Los dos restantes muestran el bloqueo y el redireccionamiento de URLs.

Chrome 112: Se aumentó la cuota de storage.session

Publicado el

A partir de Chrome 112, la cuota de la propiedad storage.session aumentó a 10 MB, aproximadamente. Esto se aceptó en el grupo de la comunidad de extensiones web: https://github.com/w3c/webextensions/issues/350.

Chrome 109: Documentos fuera de pantalla

Publicado el

Los documentos fuera de pantalla ahora están disponibles en las extensiones de Manifest V3. Estos ayudan con la transición de páginas de fondo a service worker de extensiones, ya que son compatibles con APIs y funciones relacionadas con DOM. Para obtener más información, lee la entrada de blog.

Chrome 110: Es una extensión habilitada

Publicado el

El método chrome.action.isEnabled() verifica de manera programática si se habilitó una extensión para una pestaña específica. Esto evita que mantengas el estado habilitado de las pestañas. Este nuevo método toma un ID de tabulación y una referencia a una devolución de llamada y devuelve un valor booleano. Tiene una limitación: las pestañas creadas con chrome.declarativeContent siempre muestran el valor falso.

(Recientemente, el espacio de nombres chrome.action obtuvo métodos nuevos para controlar la apariencia de las insignias de extensión. Para obtener más información, consulta Cómo establecer colores de insignias.

Chrome 110: Cambio en el tiempo de espera de inactividad de los service worker

Publicado el

Antes, un service worker de extensión se cierra con frecuencia a la marca de cinco minutos. Cambiamos este comportamiento para que se parezca más al ciclo de vida de un service worker en la Web. Un service worker de extensión se cerrará después de treinta segundos de inactividad o si una sola actividad tarda más de 5 minutos en procesarse. Para obtener más información, consulta Duración más larga del service worker de extensión.

Publicación: Se pausa la eliminación gradual de Manifest V2

Publicado el

Los cronogramas de baja de Manifest V2 están en proceso de revisión y se pospondrán los experimentos programados para principios de 2023. Para obtener más información, lee la actualización en el Grupo de Google de chromium-extensions.

Chrome 110: Configuración de colores de insignias

Publicado el

El espacio de nombres chrome.action tiene dos métodos nuevos para darte más control sobre las insignias de extensión de apariencia. Los métodos setBadgeTextColor() y getBadgeTextColor() permiten que una extensión cambie y consulte el color de texto de la insignia del ícono de la barra de herramientas. Cuando se usan con setBadgeBackgroundColor y getBadgeBackgroundColor, estos métodos nuevos te permiten aplicar de manera forzosa la coherencia del diseño y la marca.

Entrada de blog: Más detalles sobre la transición a Manifest V3

Publicado el

Aclaramos el cronograma de baja de Manifest V2. También se actualizó el cronograma de compatibilidad con Manifest V2 para reflejar esta información.

Actualización de Documentos: Problemas conocidos en la migración a Manifest V3

Publicado el

Reunimos una lista de las funciones importantes que se encuentran en desarrollo actualmente y los errores abiertos. El objetivo de esta página es ayudar a los desarrolladores a comprender mejor el estado actual de la plataforma y las funciones a las que pueden dirigirse mientras se preparan para el futuro.

Chrome Web Store: Se quitó la carga de imagen de "mosaico promocional grande"

Publicado el

Chrome Web Store quitó la IU de carga para "tarjeta promocional grande" de la pestaña Ficha de Play Store del artículo en el panel del desarrollador. Este cambio no afecta la experiencia del usuario final, ya que estas imágenes no se usaron en la IU del consumidor. Consulte esta publicación sobre las extensiones de Chromium para obtener más detalles.

Chrome 106: Permitir que las páginas de las URLs de file:// accedan a los recursos accesibles de la Web

Publicado el

Los orígenes opacos, como los iframes de la zona de pruebas y la importación dinámica, también deberían poder acceder a los recursos accesibles desde la Web, según crbug.com/1219825#c11.

Chrome 106: Se corrigió un error que permite argumentos finales incorrectos en algunas funciones asíncronas de la API.

Publicado el

Anteriormente, la llamada a APIs asíncronas de Manifest V3 podía proporcionar un argumento final no válido y Chrome no generaba un error. Con esta corrección, Chrome mostrará un error correctamente e informará que no hay una firma que coincida. Se recomienda a los desarrolladores que revisen sus extensiones en Canary en busca de errores en caso de que usen accidentalmente una firma incorrecta para una llamada a la API que se verá dañada por esta corrección de errores.

Entrada de blog: Renovación de estadísticas de Chrome Web Store

Publicado el

Chrome Web Store cuenta con una experiencia renovada de análisis de elementos para el Panel del desarrollador de Chrome Web Store. El nuevo panel es más fácil de entender a simple vista y consolida por adelantado la información más útil. Lee la entrada de blog para obtener más información.

Chrome 105: promesas para la API de Identity

Publicado el

Las funciones en la API de Identity ahora admiten llamadas basadas en promesas. Esto incluye un ligero cambio en la superficie de identity.getAuthToken(), en el que el resultado asíncrono establecido en una llamada basada en promesas tendrá "token" y "grantedScopes" como parámetros en un solo objeto (a diferencia de la versión de devolución de llamada que los recibe como argumentos separados de la devolución de llamada).

Chrome 104: Nueva API de íconos de página para Manifest V3

Publicado el

Las extensiones de Manifest V3 ahora pueden acceder a los íconos de página con un nuevo patrón de URL: chrome-extension://<id>/_favicon/, donde es el ID de tu extensión. Esto reemplaza la API de chrome://favicons de la plataforma Manifest V2. Consulta los documentos de la API de Faavicon para obtener más información.

Actualización de Documentos: Divulgación del comerciante y el no comerciante de los desarrolladores

Publicado el

Se agregó la identificación de desarrolladores comerciantes y no comerciantes que les indican a los desarrolladores que declaren por iniciativa propia su estado de comerciante o no comerciante.

Chrome 103: Wasm en Manifest V3 requiere wasm-unsafe-eval

Publicado el

Chrome ya no otorga extensiones script-src: wasm-unsafe-eval de forma predeterminada. Las extensiones que usan WebAssembly ahora deben agregar explícitamente esta directiva y el valor a extension_pages en sus declaraciones content_security_policy.

Chrome 103: El cambio de combinaciones de teclas de MV3 se aplica inmediatamente

Publicado el

Cuando se cambia la combinación de teclas de una extensión de Manifest V3 en chrome://extensions/shortcuts, las actualizaciones ahora se aplican de inmediato. Anteriormente, la extensión debía volver a cargarse para que el cambio se aplicara.

Chrome 102: Secuencias de comandos de contenido dinámico en el mundo principal

Publicado el

Las secuencias de comandos de contenido registradas de forma dinámica ahora pueden especificar el mundo en el que se insertarán los elementos. Para obtener más información, consulta scripting.registerContentScripts().

Chrome 102: Nuevo campo de manifiesto "optional_host_permissions"

Publicado el

Las extensiones de Manifest V3 ahora pueden especificar la clave optional_host_permissions en manifest.json Esto permite que las extensiones de Manifest V3 declaren patrones de coincidencia opcionales para los hosts, al igual que las extensiones de Manifest V2 que usan la clave optional_permissions.

Chrome 102: Propiedad inject Automatically en scripting.executeScript().

Publicado el

chrome.scripting.executeScript() ahora acepta una propiedad injectImmediately opcional en su argumento injection. Si está presente y se establece como verdadera, la secuencia de comandos se insertará en el destino lo antes posible, en lugar de esperar a document_idle. Ten en cuenta que esto no es una garantía de que la secuencia de comandos se inserte antes de que se cargue la página, ya que esta seguirá cargándose mientras se realice la llamada a la API.

Chrome 102: Compatibilidad de la API del cuadro multifunción en Manifest V3

Publicado el

La API del cuadro multifunción ahora se puede usar en extensiones basadas en service worker. Anteriormente, algunos de los métodos de esta API generaban invocaciones debido a dependencias internas de las capacidades del DOM.

Chrome 102: Se permite la evaluación Wam-unsafe-eval en la CSP de Manifest V3

Publicado el

Las extensiones de Manifest V3 ahora pueden incluir wasm-unsafe-eval en sus declaraciones content_security_policy. Este cambio permite que las extensiones de Manifest V3 usen WebAssembly.

Chrome 102: Nueva API de storage.session

Publicado el

Las extensiones de Manifest V3 ahora se pueden usar en el almacenamiento de memoria storage.session .

Actualización de Documentos: Descubrimiento de elementos de Chrome Web Store

Publicado el

El descubrimiento en Chrome Web Store brinda una descripción general de cómo los usuarios encuentran elementos en Chrome Web Store y cómo nuestros editores seleccionan los elementos para mostrarlos.

Chrome 101: Mejoras en las condiciones declarativas de dominios de NetRequest

Publicado el

Se actualizaron las condiciones de la regla declarativeNetRequest para permitir que las extensiones se orienten mejor a las solicitudes en función de los dominios "iniciador" y “solicitud” de la solicitud. Las propiedades de condición relevantes son initiatorDomains, excludedInitiatorDomains, requestDomains y excludedRequestDomains. Consulta también este subproceso de extensiones de Chromium.

Chrome 100: Se resolvió un problema con scripting.executeScript() en las pestañas creadas recientemente.

Se solucionó un problema recurrente por el que podía fallar la llamada a scripting.executeScript() en una pestaña o ventana recién creada.

Chrome 100: El puerto de mensajería nativa mantiene activo al service worker

Publicado el

La conexión a un host de mensajería nativa mediante chrome.runtime.connectNative() en el service worker de una extensión debería mantener activo el service worker mientras el puerto esté abierto.

Chrome 100: Cuadro multifunción.setDefaultSuggestion() admite promesas y devoluciones de llamada

Publicado el

El método omnibox.setDefaultSuggestion() ahora muestra una promesa o acepta una devolución de llamada para permitir que los desarrolladores determinen cuándo se configuró correctamente la sugerencia.

Chrome 100: Compatibilidad de i18n.getMessage() en service workers de extensión

Publicado el

La API de chrome.i18n.getMessage() ahora es compatible con los contextos de service worker de extensiones.

Chrome 99: match_origin_as_fallback en Canary

Publicado el

Las secuencias de comandos de contenido ahora pueden especificar la clave match_origin_as_fallback para insertarla en marcos relacionados con un marco coincidente, incluidos los marcos con URLs about:, data:, blob: y filesystem:. Consulta la documentación de las secuencias de comandos de contenido para obtener más detalles.

Chrome 99: Compatibilidad con service worker de extensión para esquemas de archivos en Canary

Publicado el

Las extensiones Manifest V2 y Manifest V3 basadas en service worker ahora pueden usar la API de Fetch para solicitar URLs de esquema file:. Para acceder a las URLs de esquema file:, el usuario debe habilitar la opción "Permitir el acceso a las URLs del archivo" para la extensión en la página chrome://extensions.

Chrome 99: Promete la compatibilidad con las APIs de mensajería en Canary

Publicado el

Se agregó compatibilidad con Promise a tabs.sendMessage, runtime.sendMessage y runtime.sendNativeMessage para las extensiones compiladas para Manifest V3.

Actualización de Documentos: Documentación de revisión de Chrome Web Store

Publicado el

Se agregó una nueva página de referencia que proporciona una descripción general del proceso de revisión de Chrome Web Store y explica cómo se controla la aplicación de la política del programa para desarrolladores.

Chrome 98: Las secuencias scripting.executeScript() y scripting.insertCSS() aceptan varios archivos

Publicado el

Los métodos executeScript() y insertCSS() de la API de Scripting ahora aceptan varios archivos. Anteriormente, estos métodos requerían un array con una sola entrada de archivo.

Actualización de Documentos: Revise las actualizaciones para solucionar problemas relacionados con incumplimientos

Publicado el

Se actualizó la página Solución de problemas relacionados con incumplimientos en Chrome Web Store para brindar a los desarrolladores una guía más detallada sobre los motivos comunes de los rechazos.

Chrome 96: Se expandió la compatibilidad con 27 APIs más

Publicado el

Esta versión contiene muchas más actualizaciones prometedoras que cualquier versión anterior. Las actualizaciones incluyen las APIs de extensiones generales y específicas de ChromeOS. Expande las siguientes secciones para obtener más detalles.

APIs de extensiones

Varias APIs ahora admiten promesas en Manifest V3.

Además, las APIs que usan el prototipo ChromeSetting ahora también admiten promesas. Las siguientes APIs se ven afectadas por este cambio.

APIs de ChromeOS

Chrome 96: Secuencias de comandos de contenido dinámico

Publicado el

La API de chrome.scripting ahora permite registrar, actualizar, cancelar el registro y obtener una lista de secuencias de comandos de contenido durante el tiempo de ejecución. Anteriormente, las secuencias de comandos de contenido solo se podían declarar de forma estática en el manifest.json de una extensión o insertarse de manera programática en el tiempo de ejecución con chrome.scripting.executeScript().

Actualización de Documentos: Cronograma de compatibilidad con Manifest V2

Publicado el

El cronograma de transición de Manifest V2 a V3 se anunció en esta entrada de blog y se publicó una página de cronograma más detallada.

Chrome 96: permiso declarativeNetRequestWithHostAccess

Publicado el

El nuevo permiso declarativeNetRequestWithHostAccess permite que las extensiones usen la API de chrome.declarativeNetRequest en sitios para los que tiene permisos de host. Esto también permite que las extensiones existentes de Manifest V2 que usan webRequest, webRequestBlocking y permisos de host específicos del sitio migren a la API de chrome.declarativeNetRequest sin necesidad de que el usuario apruebe permisos nuevos.

Chrome 95: Incorpora secuencias de comandos directamente en las páginas

Publicado el

El método executeScript() de la API de chrome.scripting ahora puede insertar secuencias de comandos directamente en el mundo principal de una página. Anteriormente, las extensiones solo podían insertarse directamente en el mundo aislado de la extensión. Para obtener más información sobre mundos aislados, consulta la documentación sobre secuencias de comandos de contenido.

Chrome 95: Promete la compatibilidad con la API de Storage

Publicado el

Los métodos en la versión Manifest V3 de la API de chrome.storage ahora muestran promesas.

Actualización de política: Aplicación forzosa de la verificación en dos pasos

Publicado el

La entrada de blog sobre la actualización de políticas publicada el 29 de junio de 2021 se actualizó para corregir el cronograma de implementación de la verificación en dos pasos.

Chrome 94: Cambios en el conjunto de reglas estáticas de solicitudes netas declarativas

Publicado el

chrome.declarativeNetRequest ahora admite la especificación de hasta 50 conjuntos de reglas estáticas (MAX_NUMBER_OF_STATIC_RULESETS) y habilitar hasta 10 conjuntos de reglas (MAX_NUMBER_OF_ENABLED_STATIC_RULESETS) a la vez.

Chrome 93: Compatibilidad con el aislamiento de origen cruzado

Publicado el

Tanto las extensiones de Manifest V2 como las Manifest V3 ahora pueden habilitar el aislamiento de origen cruzado. Esta función limita los recursos de origen cruzado que pueden cargar las páginas de una extensión y permite el uso de funciones de la plataforma web de bajo nivel, como SharedArrayBuffer. Será obligatorio habilitar esta función a partir de Chrome 95.

Actualización de políticas: Se actualizaron las Políticas del Programa para Desarrolladores

Publicado el

Las Políticas del Programa para Desarrolladores de Chrome Web Store se actualizaron con aclaraciones sobre las tácticas de instalación engañosas, el spam y las políticas de contenido repetitivo. Esta actualización también incluye un nuevo requisito de verificación en dos pasos para publicar en Chrome Web Store. Lee la entrada de blog para obtener más información.

Entrada de blog: Acciones de extensión en Manifest V3

Publicado el

Las extensiones de Chrome tuvieron las APIs de chrome.browserAction y chrome.pageActions durante años, pero Manifest V3 reemplazó a ambas por una API genérica de chrome.actions. En esta publicación, se explora la historia de estas APIs y lo que cambió en Manifest V3. Lee la publicación.

Entrada de blog: Presentamos chrome.scripting

Publicado el

La API de chrome.scripting es una nueva API de Manifest V3 que se enfoca en las secuencias de comandos. En esta publicación, profundizamos en las motivaciones del cambio y analizamos sus nuevas capacidades. Lee la publicación.

Chrome 92: Compatibilidad con service workers de módulos

Publicado el

Chrome ahora admite módulos de JavaScript en service worker. Para especificar un módulo en tu manifiesto, haz lo siguiente:

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

Esto carga la secuencia de comandos del trabajador como un módulo de ES, que te permite usar la palabra clave import en la secuencia de comandos del trabajador para importar otros módulos.

Chrome 91: chrome.action.getUserSettings()

Publicado el

El nuevo método chrome.action.getUserSettings() permite que las extensiones determinen si el usuario las fijó en la barra de herramientas principal.

Chrome 90: chrome.scripting.removeCSS()

Publicado el

El nuevo método chrome.scripting.removeCSS() permite que las extensiones quiten el CSS que se insertó anteriormente a través de chrome.scripting.insertCSS(). Reemplaza a chrome.tabs.removeCSS().

Chrome 90: Cómo mostrar promesas de scripting.executeScript()

Publicado el

chrome.scripting.executeScript() ahora admite la devolución de promesas. Si el valor resultante de la ejecución de la secuencia de comandos es una promesa, Chrome esperará a que esta se establezca y muestre el valor resultante.

Chrome 90: Los resultados de chrome.scripting.executeScript() incluyen windowId

Publicado el

Los resultados que se muestran desde chrome.scripting.executeScript() ahora incluyen el frameId. La propiedad frameId indica el fotograma del que proviene el resultado, lo que permite que las extensiones asocien fácilmente los resultados con los fotogramas individuales cuando se insertan en varios fotogramas.

Chrome 89: Nueva API para administrar grupos de pestañas

Publicado el

La nueva API de chrome.tabGroups y las nuevas capacidades de chrome.tabs permiten que las extensiones lean y manipulen los grupos de pestañas. Requiere Manifest V3.

Chrome 89: Permisos personalizables para recursos accesibles de la Web

Publicado el

Se modificaron las definiciones de recursos accesibles en la Web en Manifest V3 para permitir que las extensiones restrinjan el acceso a los recursos según el origen o el ID de la extensión del solicitante.

Entrada de blog: Convertidor de manifiestos de extensiones

Publicado el

El equipo de Extensiones de Chrome tiene "Extension Manifest Converter", una herramienta de Python de código abierto que automatiza algunos de los aspectos mecánicos de la conversión de extensiones a Manifest V3. Consulta la entrada de blog del anuncio y descárgalo de GitHub.

Chrome 88: Disponibilidad general de Manifest V3

Publicado el

Manifest V3 es una actualización importante para la plataforma de extensiones. Consulta Descripción general de Manifest V3 para obtener un resumen de las funciones nuevas y modificadas. Es posible que las extensiones sigan usando Manifest V2 por ahora, pero se eliminará de forma gradual próximamente. Te recomendamos que uses Manifest V3 para las extensiones nuevas y que comiences a migrar las extensiones existentes a Manifest V3 lo antes posible.