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. En el programa de Chrome, se detallan fechas de lanzamientos estables y beta.

Chrome 127: Nueva API de action.openPopup

Publicado el

A partir de Chrome 127, la API de action.openPopup está disponible para todas las extensiones. Anteriormente, solo estaba disponible en Canary o para extensiones instaladas por una política.

Video: Entrevista al equipo de Confianza y Seguridad

Publicado el

El equipo de DevRel de Extensiones de Chrome se reunió con el equipo de Confianza y Seguridad que lidera la revisión en Chrome Web Store para hacer tus preguntas. Mira el video completo

Entrada de blog: Comienza la eliminación gradual de Manifest V2

Publicado el

A partir del 3 de junio en los canales de Chrome Beta, Dev y Canary, si los usuarios aún tienen instaladas extensiones de Manifest V2, algunos comenzarán a ver un banner de advertencia cuando visiten su página de administración de extensiones (chrome://extensions), que les informará que algunas extensiones (Manifest V2) que tienen instaladas pronto dejarán de ser compatibles. Obtén más información en el anuncio oficial

Actualizaciones de la IU del panel lateral

Publicado el

Recientemente, hicimos algunos cambios en la IU del panel lateral, como agregar un ícono de fijar y quitar el ícono del panel lateral global. Obtén más información en el PSA y consulta nuestra documentación y muestras actualizadas.

Entrada de blog: Extensiones de Chrome en Google I/O 2024

Publicado el

Ya volvimos a Google I/O, y ya abarcamos todas las actualizaciones emocionantes de las extensiones. Ve a YouTube para mirar el video completo y lee nuestra entrada de blog para conocer algunos de los aspectos destacados.

Omite la revisión para conocer los cambios aptos en la solicitud neta declarativa apta

Publicado el

Chrome Web Store ahora te permite omitir la revisión para cambios aptos cuando usas la API de Declarative Net Request. Obtén más información sobre la elegibilidad y cómo habilitar esta función en la documentación de Chrome Web Store.

deployPercentage disponible en la API de Chrome Web Store

Publicado el

Recientemente, actualizamos nuestra documentación de la API de Chrome Web Store para incluir información sobre deployPercentage, que te permite asignar un porcentaje de una implementación de lanzamiento parcial. Obtén más información sobre deployPercentage.

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 de baja en todas las plataformas de extensiones. Para obtener más información, lee la guía.

Entrada de blog: Novedades de las extensiones de Chrome (abril de 2024)

Publicado el

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

Reversión 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. Para obtener más información, consulta la entrada de blog y la documentación.

Chrome 124: API avanzada de documentScan

Publicado el

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

Chrome 124: Compatibilidad con WebGPU en Service Workers

Publicado el

A partir de Chrome 124, los service workers son compatibles con WebGPU. Para comenzar con rapidez, consulta la muestra de extensión de WebGPU.

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

Publicado el

La API de Eventos ahora admite el filtrado con bloques de enrutamiento entre dominios sin clases (CIDR). Un bloque CIDR es una colección de direcciones IP que comparten un prefijo de red y la misma cantidad de bits. Antes, un desarrollador debía filtrar varias direcciones IP necesarias para configurar una regla de filtro para cada una de las direcciones en el rango de bloques. Ahora, 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 de los requisitos de longitud de los nombres de 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. Antes, el límite para el inglés era de 45 caracteres y no había restricciones para el campo "name" en otras configuraciones regionales.

El objetivo original era permitir las diferencias culturales y de idioma que quizás no se puedan capturar en la misma cantidad de caracteres. Lamentablemente, una pequeña cantidad de desarrolladores abusó de esta función para enviar spam a la tienda. Como resultado, presentamos un nuevo límite universal: un aumento a 75 caracteres. Actualmente, este límite cubre casi todas las extensiones disponibles en la tienda, por lo que es probable que no necesites realizar ninguna acción como resultado de 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 service worker

Publicado el

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

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

Publicado el

Las alarmas establecidas con la API de chrome.alarms ya no se retrasan cuando un dispositivo se suspende. Cuando se active el dispositivo, la alarma se activará una vez, independientemente de cuántas alarmas se hayan pasado por alto. Por ejemplo, supongamos que se configura una alarma para que suene una vez por hora y que el dispositivo en el que está encendido está suspendido de las 12:55 a.m. a las 2:05 a.m., entonces solo la alarma de las 2:00 a.m. activa el evento onAlarm. Se activará lo más cerca de las 2:00 a.m. y, si está suspendido, de inmediato cuando un dispositivo se active.

Este cambio une a Chrome con el comportamiento acordado en el grupo de la comunidad sobre extensiones web.

Entrada de blog: Cambios en el comportamiento de 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, se cierra el canal de mensajes, lo que significa que no se enviará ningún mensaje 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 nueva conexión cuando la página se restablece desde BFCache.

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

Chrome 122: Promesa compatibilidad con las APIs de extensión asíncrona

Publicado el

Terminamos de implementar la compatibilidad con Promise para todos los métodos de API de extensión asíncrona. Esto se realizó para modernizar los métodos de API mediante la mejora de la ergonomía de las operaciones asíncronas. Algunos métodos (por ejemplo, desktopCapture.chooseDesktopMedia()) continúan admitiendo solo devoluciones de llamada porque sus superficies actuales no son compatibles con las promesas. Para ofrecer retrocompatibilidad, todavía 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 de las extensiones. Las actualizaciones en tiempo real proporcionan una ruta de comunicación instantánea desde tus servidores hasta las instalaciones de extensiones. Además, tenemos una nueva guía para usar chrome.gcm y Web Push.

Nueva guía y muestra: Cómo probar la finalización de los service workers

Publicado el

Acabamos de publicar una guía sobre cómo probar la finalización del service worker con Puppeteer. El ejemplo complementario lo demuestra en Puppeteer y Selenium.

Muestra actualizada de mensajería nativa

Publicado el

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

Chrome 121: Nueva propiedad lastAccessed en fichas.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 claves de "segundo plano" no compatibles ahora emiten una advertencia

Publicado el

En el cambio de Manifest V2 a Manifest V3, se cambiaron los elementos secundarios de la clave de manifiesto "background" para admitir el reemplazo de secuencias de comandos en segundo plano por service workers de extensiones. Anteriormente, si se agregaban las claves "scripts", "page" o "persistent" de Manifest V2 a la clave "background" de una extensión de Manifest V3, se generaba un error. La presencia de estas claves ahora activa una advertencia.

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

Chrome 120: El nivel de detalle mínimo de la alarma se redujo 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 más información sobre cómo mejoramos la API de declareNetRequest en nuestra nueva entrada de blog.

Entrada de blog: Novedades de Chrome 120 para extensiones

Publicado el

Se lanzó recientemente la versión beta de Chrome 120. Para obtener un resumen de las actualizaciones importantes que son relevantes para los desarrolladores de extensiones, lee nuestra nueva entrada de blog: Novedades de Chrome 120 para Extensiones. Este lanzamiento también marca un hito importante, ya que quita los dos últimos elementos (userScripts, controlador de archivos en ChromeOS) de la lista de brechas fundamentales 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

Ahora, las políticas de privacidad en el Panel del desarrollador se agregan en el nivel del elemento. Esto te permitirá proporcionar una política de privacidad diferente por cada artículo. Obtén más información sobre este cambio en nuestro PSA.

Video: Chat con Matt Frisbie

Publicado el

Publicamos un video nuevo en el canal de YouTube de Chrome for Developers en el que se chatea con el autor y experto de Google Developers, Matt Frisbie. Puedes verlo aquí.

Nueva guía para probar las extensiones

Publicado el

Publicamos una guía nueva sobre cómo escribir pruebas automatizadas de extensiones, incluido cómo escribir pruebas de unidades, y 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 del artículo Novedades sobre las extensiones de Chrome. En la publicación, se analiza en qué ha estado trabajando el equipo de extensión durante los últimos meses, incluido el tratamiento de los problemas de estabilidad de los service workers y el buen progreso en el cierre de todas las brechas de la plataforma MV3. También compartimos los próximos lanzamientos de la API, como la API de Reading List y la API de User Scripts.

Aumento de los límites de conjuntos de reglas estáticas en la API de Declarative Net Request

Publicado el

A partir de los comentarios del grupo de la comunidad de extensiones web, aumentaremos significativamente el límite de los conjuntos de reglas estáticos habilitados de 10 a 50. Además, aumentaremos de 50 a 100 la cantidad total de conjuntos de reglas estáticos permitidos. Por el momento, esta función está disponible en Canary.

Orientación mejorada con respecto al código alojado de forma remota

Publicado el

Un requisito para Manifest V3 es que las extensiones ya no pueden usar código alojado de forma remota. Aunque esto ha sido parte de nuestra guía de migración desde el principio, pensamos que valía la pena mejorar la orientación sobre este problema. En esa página, ahora se proporciona más información, en la que se describen las posibilidades de Manifest V3 y más información sobre estrategias de actualización.

Hay un complemento relacionado con la sección 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: Ahora isUrlFilterCaseSensitive, el valor predeterminado es falso

Publicado el

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

Esto sucede después de las discusiones del Grupo de la Comunidad sobre extensiones web. Firefox y Safari ya implementaron un cambio similar.

Documentación sobre las cookies y las APIs de almacenamiento web

Publicado el

Publicamos una nueva guía sobre cómo funcionan las cookies y las APIs de almacenamiento web en las extensiones de Chrome. Se incluyen detalles sobre los cambios en la partición de almacenamiento y cookies en Privacy Sandbox, un proyecto en curso para dar de baja las cookies de terceros a través de la creación de una serie de nuevas APIs de plataformas web. Además, se incluyen 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 muestras de extensiones de Chrome. La página de búsqueda tiene varias opciones. Un cuadro de búsqueda te permite buscar texto en títulos de muestra. Puedes restringir la búsqueda con un permiso o una API de extensión. Un filtro adicional te permite restringir la búsqueda a muestras de API o de casos de uso funcionales.

Esta nueva página de muestra fue creada por un participante de Google Summer of Code, Xuezhou Dai, que también contribuyó con varias muestras nuevas. Puedes leer sobre sus experiencias el verano pasado en su publicación 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 el archivo de apertura: URLs de esquema

Publicado el

A partir de Chrome 118, las extensiones necesitarán el parámetro de configuración "Permitir el acceso a las URLs de archivos" habilitado en la página chrome://extensions para abrir las URLs de esquema file:// con las APIs de Tabs 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 del Grupo de Google sobre las extensiones.

Chrome 117: Protecciones de URL expandidas en la navegación de las APIs 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, se prohíbe 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.

Orientación mejorada para la API de declareNetRequest

Publicado el

La API de chrome.declarativeNetRequest bloquea o modifica las solicitudes de red con la especificación de reglas declarativas. Esto permite que las extensiones modifiquen las solicitudes de red sin interceptarlas ni ver su contenido, lo que proporciona más privacidad a los usuarios. También es difícil de usar. Con esto en mente, reescribimos 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 las estadísticas 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, lee Cómo usar tu cuenta de Google Analytics con Chrome Web Store.

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

Publicado el

Las secuencias de comandos de contenido inyectadas 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 sí significa que las secuencias de comandos de contenido se pasarán por alto 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 avisará si está activada y te ofrecerá la opción de quitar la secuencia de comandos de contenido de la lista de elementos ignorados. Para desactivar este comportamiento, abra Herramientas para desarrolladores, vaya a Configuración y, luego, Lista de elementos ignorados. Para obtener más información, consulta Novedades de las Herramientas para desarrolladores.

Chrome 116 beta: Más de lo que caben aquí

Publicado el

Chrome 116 es un gran lanzamiento para las extensiones. Ahora puedes abrir paneles laterales de manera programática. Un nuevo método te permite saber si hay un documento activo fuera de pantalla. Los service workers recibieron varias mejoras. Se realizaron suficientes mejoras en 116, así que escribimos una entrada de blog sobre ellas. Chrome 116 está en versión beta desde el 19 de julio.

Entrada de blog: Novedades de las extensiones de Chrome

Publicado el

Acabamos de publicar una descripción general de los cambios y mejoras que se realizaron este año en las extensiones. La publicación habla sobre las grandes funciones nuevas de este año, incluida la API de Side Panel, las mejoras en los service workers y los documentos fuera de pantalla. También obtendrá un vistazo de lo que estamos haciendo para este trimestre. En el artículo, hay mucho más, con vínculos a todo.

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

Publicado el

Publicamos guías y muestras nuevas de Google Analytics y la ubicación geográfica:

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

Publicado el

Ahora puedes especificar varias enumeraciones reason cuando llamas a chrome.offscreen.createDocument(). Úsala cuando un documento fuera de pantalla se use para múltiples propósitos diferentes. El navegador utiliza los motivos indicados para determinar la vida útil del documento fuera de pantalla.

Nueva herramienta: Herramienta de prueba de actualizaciones de extensiones

Publicado el

Acabamos de lanzar la Herramienta de prueba de actualizaciones de extensiones, un servidor de actualización de extensiones locales que se puede usar para probar las 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 al actualizar una extensión de Manifest V2 a Manifest V3.

Chrome 114: Nueva API de Side Panel

Publicado el

Presentamos la nueva API de Side Panel, una plataforma complementaria que permite a los usuarios acceder a herramientas junto al contenido que exploran. Para obtener más información, consulta la referencia de la API de Side Panel. Además, agregamos muchas muestras de paneles laterales a nuestro repositorio de muestras de GitHub. También compartimos más información sobre los paneles laterales en la nueva entrada de blog Designing a Superior User Experience with the New Side Panel API. También se revisaron nuestra política de lineamientos de calidad y las prácticas recomendadas para proporcionar más orientación sobre la creación de extensiones de panel lateral de alta calidad.

Tus comentarios son importantes para crear esta API. Comparte tu opinión y solicita funciones en los chromium-groups. Mantente al tanto de las nuevas actualizaciones a medida que seguimos mejorando la API de Side Panel.

Nuevos ejemplos: WASM en extensiones

Publicado el

Hay dos ejemplos nuevos 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 brechas en la plataforma de extensiones que queremos cerrar antes de anunciar un nuevo cronograma de baja de Manifest V2.

Cómo grabar 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 storage.local

Publicado el

Aumentamos la cuota de la propiedad storage.local a aproximadamente 10 MB. Esto se aceptó en el grupo de la comunidad de extensiones web. De esta manera, storage.local se alinea con storage.session, que se cambió 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 instructivo 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 en la que se explican conceptos importantes con más detalle. Expandiremos 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 en Chrome Web Store, agregamos una guía nueva en dos áreas. Las indicaciones sobre funcionalidades mínimas se centran en brindar a los usuarios beneficios y enriquecer su experiencia de navegación. La orientación para los anuncios de afiliados consiste en informar a los usuarios sobre las extensiones mediante códigos o vínculos de afiliados para la monetización, así como brindarles cierto grado de control, ya que requieren la acción del usuario antes de la inclusión.

Nuevas instrucciones para el Convertidor de manifiestos de extensiones

Publicado el

Volvimos a escribir el archivo README para el convertidor de manifiestos de extensiones para que pueda ver más fácilmente lo que debe hacer después de ejecutar la herramienta. El conversor ayuda a migrar las extensiones compiladas en Manifest V2 a Manifest V3. En el nuevo archivo README, se 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 un criterio humano.

Chrome 113: Nuevos motivos para 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 de accesos para los publicadores de grupos. Si anteriormente usabas Universal Analytics de Google para hacer un seguimiento de la actividad de la ficha de Play Store, deberás tomar medidas a más tardar el 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 del Grupo de Google sobre las extensiones de Chromium.

La API de File Handling está disponible en ChromeOS

Publicado el

La API de File Handler está disponible para experimentar en ChromeOS en Canary para las versiones 112 y 113. Permite que las extensiones de ChromeOS abran archivos con extensiones 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 para 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 y comienza en 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 ejemplos: inyección programática y declaraciones dinámicas

Publicado el

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

Nuevos ejemplos: Casos de uso de solicitudes netas declarativas

Publicado el

Hay tres nuevos ejemplos disponibles que muestran la API de Declarative Net Request. En cada uno se demuestra la implementación de un único caso de uso. En el primero, se muestra cómo bloquear las cookies. Las dos restantes demuestran el bloqueo y el redireccionamiento de URLs.

Chrome 112: Aumento de la cuota de storage.session

Publicado el

A partir de Chrome 112, la cuota de la propiedad storage.session aumentó a aproximadamente 10 MB. Esto se acordó en el Grupo de la Comunidad sobre 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 extensiones de Manifest V3. Estos elementos ayudan con la transición de páginas en segundo plano a service workers de extensiones, ya que brindan compatibilidad con las funciones y APIs relacionadas con el DOM. Para obtener más información, lea 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 una extensión se habilitó para una pestaña específica. Esto evita que mantengas el estado habilitado de tus pestañas. Este nuevo método toma un ID de pestaña y una referencia a una devolución de llamada, y muestra un valor booleano. Tiene una limitación: las pestañas creadas con chrome.declarativeContent siempre muestran el valor falso.

(El espacio de nombres chrome.action tiene recientemente métodos nuevos para controlar la apariencia de las insignias de extensión. Para obtener más información, consulta Cómo configurar los colores de las insignias).

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

Publicado el

Anteriormente, un service worker de extensión frecuentemente se apagaba a la marca de cinco minutos. Cambiamos este comportamiento para que se asemeje más al ciclo de vida de un service worker en la Web. Un service worker de extensión se cerrará luego de treinta segundos de inactividad o si una actividad tarda más de 5 minutos en procesarse. Para obtener más información, consulta Mayores vidas de los service workers de extensiones.

Publicación: Cómo pausar 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 están posponiendo los experimentos programados para principios de 2023. Para obtener más información, lea la actualización en el Grupo de Google sobre las extensiones de Chromium.

Chrome 110: Configuración de los colores de las insignias

Publicado el

El espacio de nombres chrome.action tiene dos métodos nuevos para brindarte 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 nuevos métodos te permiten aplicar de manera forzosa el diseño y la coherencia de 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 durante la migración a Manifest V3

Publicado el

Creamos una lista de funciones importantes en desarrollo y de 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 orientar mientras se preparan para el futuro.

Chrome Web Store: Se quitó la carga de imágenes de "mosaico promocional grande"

Publicado el

Chrome Web Store quitó la IU de carga del "mosaico promocional grande" de la pestaña de la ficha de Play Store 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 para consumidores. Consulte esta publicación sobre las extensiones de Chromium para conocer más detalles.

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

Publicado el

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

Chrome 106: Se corrigió un error que permitía 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 errores. Con esta solución, Chrome ahora generará un error e informará que no había ninguna firma que coincidiera. Se recomienda a los desarrolladores que verifiquen sus extensiones en Canary para detectar errores en caso de que usen una firma incorrecta por error en una llamada a la API que se dañe debido a esta corrección de errores.

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

Publicado el

Chrome Web Store tiene una experiencia de análisis de elementos renovada para el Panel del desarrollador de Chrome Web Store. El nuevo panel es más fácil de entender de un vistazo y consolida la información más útil desde un principio. Lee la entrada de blog para obtener más información.

Chrome 105: Promesas para la API de Identity

Publicado el

Las funciones de 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 para 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 mediante un nuevo patrón de URL: chrome-extension://<id>/_favicon/, donde es el ID de tu extensión. Esto reemplaza la API chrome://favicons de la plataforma Manifest V2. Consulta los documentos de la API de Favicon para obtener más información.

Actualización de Documentos: Divulgación de comerciante/no comerciante del desarrollador

Publicado el

Se agregó la identificación del desarrollador comerciante/no comerciante que informa a los desarrolladores a declarar con precisión su estado de comerciante/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 de forma explícita esta directiva y el valor a extension_pages en sus declaraciones content_security_policy.

Chrome 103: Los cambios en los accesos directos de MV3 se aplican de inmediato

Publicado el

Ahora, cuando se cambia la combinación de teclas de una extensión de Manifest V3 en chrome://extensions/shortcuts, las actualizaciones se aplican de inmediato. Antes, la extensión tenía que 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 con la clave optional_permissions.

Chrome 102: Inyecta la propiedad de inmediato 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 insertará antes de que se cargue la página, ya que la página continúa cargándose mientras se realiza 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 arrojaban la invocación debido a dependencias internas de las capacidades del DOM.

Chrome 102: Se permite wasm-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

Descubrimiento en Chrome Web Store ofrece una descripción general de cómo los usuarios encuentran elementos en Chrome Web Store y cómo nuestros editores seleccionan elementos para destacar.

Chrome 101: Condiciones de dominio de declareNetRequest mejoradas

Publicado el

Se actualizaron las condiciones de la regla declarativeNetRequest para permitir que las extensiones se orienten mejor a las solicitudes según los dominios "request" y "initiator" de la solicitud. Las propiedades de condición relevantes son initiatorDomains, excludedInitiatorDomains, requestDomains y excludedRequestDomains. Consulta también este subproceso de extensiones de cromo.

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

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

Chrome 100: El puerto de mensajería nativa mantiene activo el 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.setDefaultSuggestedion() admite promesas y devoluciones de llamada

Publicado el

Ahora, el método omnibox.setDefaultSuggestion() 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 con i18n.getMessage() en service workers de extensiones

Publicado el

La API de chrome.i18n.getMessage() ahora es compatible con contextos de service worker de extensión.

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 los marcos relacionados con un fotograma coincidente, incluidos los marcos con las URL about:, data:, blob: y filesystem:. Consulta la documentación de las secuencias de comandos de contenido para obtener más información.

Chrome 99: Compatibilidad con service workers de extensiones para archivos: esquemas en Canary

Publicado el

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

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

Publicado el

Se agregó compatibilidad con promesas 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: 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: Revisar 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 orientación más detallada sobre los motivos comunes de los rechazos.

Chrome 96: Se amplió la compatibilidad de promesas a 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. Este cambio afecta a las siguientes APIs.

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 en el tiempo de ejecución. Antes, las secuencias de comandos de contenido solo se podían declarar de forma estática en el archivo manifest.json de una extensión o insertarse de manera programática en el entorno 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 del cronograma más detallada.

Chrome 96: permiso declarativoNetRequestWithHostAccess

Publicado el

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

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

Publicado el

Ahora, el método executeScript() de la API de chrome.scripting 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: Prometer 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 de la verificación en dos pasos

Publicado el

La entrada de blog de actualización de la política 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 la habilitación de 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

Ahora las extensiones de Manifest V2 y Manifest V3 pueden habilitar el aislamiento de origen cruzado. Esta función limita qué recursos de origen cruzado pueden cargar las páginas de una extensión y permite el uso de funciones de bajo nivel de la plataforma web, como SharedArrayBuffer. La habilitación será obligatoria a partir de Chrome 95.

Actualización de la política: Actualización de las Políticas del programa para desarrolladores

Publicado el

Se actualizaron las Políticas del programa para desarrolladores de Chrome Web Store 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ó 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 entrada.

Entrada de blog: Presentamos chrome.scripting

Publicado el

La API de chrome.scripting es una nueva API de Manifest V3 que se centra en las secuencias de comandos. En esta publicación, profundizaremos en las motivaciones para este cambio y analizaremos con más detalle sus nuevas capacidades. Lee la entrada.

Chrome 92: Compatibilidad con service workers de módulos

Publicado el

Chrome ahora es compatible con los módulos de JavaScript en los service workers. Para especificar un módulo de 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, lo 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ó a 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 mostrará su valor resultante.

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

Publicado el

Los resultados que muestra 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 desde la Web

Publicado el

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

Entrada de blog: Convertidor de manifiestos de extensiones

Publicado el

El equipo de Extensiones de Chrome tiene como código abierto el "Convertidor de manifiestos de extensiones", una herramienta de Python 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árgala de GitHub.

Chrome 88: Disponibilidad general de Manifest V3

Publicado el

Manifest V3 es una actualización importante de 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 esto se eliminará gradualmente en un futuro cercano. Te recomendamos que uses Manifest V3 para las extensiones nuevas y que comiences a migrar las extensiones existentes a Manifest V3 lo antes posible.