La compañía Google ha publicado el lanzamiento del navegador web Chrome 139. Al mismo tiempo, está disponible una versión estable del proyecto de código abierto Chromium, que sirve como base para Chrome. El navegador Chrome se diferencia de Chromium por el uso de logotipos de Google, la inclusión de un sistema de notificación en caso de fallos, módulos para reproducir contenido de video protegido contra copia (DRM), un sistema de instalación automática de actualizaciones, la activación constante de la aislamiento Sandbox, el suministro de claves para la API de Google y la transmisión de parámetros RLZ durante la búsqueda. Para aquellos que necesitan más tiempo para actualizar, se mantiene por separado una versión de Extended Stable, con un soporte de 8 semanas. La próxima versión de Chrome 140 está programada para el 2 de septiembre.
Principales cambios en Chrome 139:
- Se ha añadido la posibilidad de usar un modelo de IA para generar recomendaciones de búsqueda en la barra de direcciones y en la página de nueva pestaña. Para mostrar estas recomendaciones de IA en la barra de direcciones, se ha añadido un botón «AI Mode», y en la lista de recomendaciones, la salida de IA se muestra o se resalta en una sección separada. Esta funcionalidad actualmente está activada por defecto solo para un grupo de usuarios.

- En sistemas gestionados de forma centralizada, se ha ampliado la capacidad de crear accesos directos de búsqueda rápidos personalizados a través de la barra de direcciones (se puede crear un acceso directo «@nombre» para buscar en un sitio web específico). En esta nueva versión, se ha añadido un ajuste adicional que permite al usuario anular, eliminar o desactivar los accesos directos establecidos por el administrador.
- En la versión para Android, en los modos de protección estándar y ampliada, Google Safe Browsing ha implementado la verificación de seguridad de los paquetes APK descargados. La verificación se realiza a través de solicitudes a los servidores de Google. Si se considera que el archivo es peligroso, se muestra una advertencia correspondiente al usuario y se bloquea el acceso al archivo (la interfaz ofrece una opción separada para acceder a él a pesar del bloqueo).

- Se ha eliminado la configuración ExtensionManifestV2Availability, que permitía restaurar el soporte para la segunda versión del manifiesto de Chrome, que define las capacidades y recursos disponibles para las extensiones escritas utilizando la API WebExtensions. En el navegador, ahora solo es posible utilizar extensiones basadas en la tercera versión del manifiesto.
- En las compilaciones estables oficiales de Chrome se ha dejado de soportar las opciones de línea de comandos «—extensions-on-chrome-urls» y «—disable-extensions-except», que permitían desactivar la restricción de instalación de complementos riesgosos, por ejemplo, aquellos que se introducen en el navegador sin el consentimiento del usuario. En Chromium y en las versiones de prueba de Chrome, el soporte de estas opciones se mantiene.
- En la página de apertura de una nueva pestaña se ha implementado un panel inferior que muestra información sobre los complementos que afectan el contenido de la nueva pestaña, así como detalles sobre las políticas de gestión centralizada aplicadas.

- Se ha añadido protección contra la eliminación accidental de contraseñas guardadas al seleccionar la operación de eliminación completa de datos. Cuando hay contraseñas guardadas, el navegador ahora dirige al usuario a la página del gestor de contraseñas, donde puede eliminar contraseñas y claves de manera individual y significativa.

- Se ha desactivado la posibilidad de volver automáticamente al uso de SwiftShader, un sistema de renderizado por software para WebGL que implementa el API Vulkan. En caso de que no haya un backend adecuado basado en GPU, la creación del contexto WebGL ahora devolverá un error, en lugar de cambiar a SwiftShader. La eliminación de SwiftShader aumentará la seguridad al evitar la ejecución de código generado por un compilador JIT en el proceso responsable de la interacción con la GPU. En plataformas Linux y macOS, las máquinas sin GPU ya no podrán usar WebGL. En Windows, el soporte de SwiftShader se ha mantenido solo para dispositivos sin GPU o con GPU problemáticos, que han sido añadidos a una lista negra.
- En el almacenamiento integrado de certificados raíz (Chrome Root Store) se ha dejado de confiar en las autoridades certificadoras Chunghwa Telecom y Netlock debido a violaciones de los requisitos para autoridades certificadoras. Debido a la falta de acciones para remediar las deficiencias identificadas, los certificados TLS emitidos por Chunghwa Telecom y Netlock después del 31 de julio de 2025 serán considerados por Chrome como no confiables. Los certificados emitidos antes del 31 de julio seguirán siendo considerados como normales.
- La API Web Speech ahora incluye soporte para el reconocimiento de voz utilizando motores disponibles localmente en el dispositivo. El sitio puede consultar la disponibilidad de motores de reconocimiento para el idioma necesario, elegir entre servicios locales y en la nube, solicitar la instalación de los recursos necesarios para el reconocimiento local y asegurarse de que el reconocimiento se realice en el dispositivo del usuario sin enviar datos a servicios externos.
- En CSS, además de establecer el radio de borde utilizando la propiedad border-radius, se ha implementado la propiedad «corner-shape» para gestionar la forma y la curvatura de los bordes de los elementos rectangulares. Por ejemplo, con «corner-shape» se pueden hacer transiciones suaves de cuadrado a círculo (squircle), bordes cóncavos (scoop), biselados (bevel) y realizar cortes (notch), así como animar el cambio de forma de los bordes.
- Se ha añadido soporte para la especificación Custom Functions, que permite crear funciones personalizadas para CSS que funcionan de manera similar a las propiedades CSS parametrizadas. La diferencia es que las propiedades CSS pueden devolver solo un valor fijo, mientras que las funciones CSS pueden devolver valores basados en otras propiedades CSS, parámetros y condiciones. Se ha añadido la regla «@function» para definir funciones CSS. @function —negative(—value) { result: calc(-1 * var(—value)); } @function —shadow(—shadow-color <color> : inherit) { result: 2px 2px var(—shadow-color, black); }
- Se ha añadido la propiedad CSS «caret-animation», que permite gestionar la animación de la modificación del cursor en campos de entrada (por ejemplo, el parpadeo del cursor se puede reemplazar por una animación personalizada).
- Con el fin de cumplir con la especificación y mejorar la compatibilidad con otros navegadores, se ha añadido la propiedad CSS «font-width», que es análoga a la propiedad «font-stretch» anteriormente disponible.
- Cuando se bloquea el Service Worker debido a las reglas CSP (Content Security Policy), ahora se envía un evento «error» de manera asíncrona, en lugar de generar una excepción SecurityError inmediatamente después de llamar al constructor «new Worker(url)» o «new SharedWorker(url)».
- Se ha proporcionado la posibilidad de crear una única aplicación web que funcione con varios dominios de nivel superior o diferentes subdominios. Para configurar la vinculación a dominios en el manifiesto se incluye el campo «scope_extensions». { «name»: «Example», «display»: «standalone», «start_url»: «/index.html», «scope_extensions»: [ { «origin»: «https://*.example.com» }, { «origin»: «https://example.co.uk» }, { «origin»: «https://*.example.co.uk» } ] }
- Se ha implementado la detección de todos los tipos MIME correctos para los datos JSON, según lo especificado en la especificación WHATWG MIME Sniffing. Además de los tipos MIME tradicionales «application/json» y «text/json», se ha añadido soporte para tipos MIME compuestos como «text/html+json» y «image/svg+json».
- En la API de Invoker Commands se ha añadido el comando «request-close» para cerrar de forma forzada un diálogo basado en el elemento HTML
- En WebGPU se ha añadido soporte para texturas 3D comprimidas usando los formatos BC y ASTC. También se ha añadido un modo experimental (Origin Trial) de compatibilidad, que ofrece una API reducida de WebGPU adecuada para trabajar con API gráficas obsoletas, como OpenGL y Direct3D11.
- Para los elementos SVG (SVGScriptElement) se ha añadido soporte para el atributo «async» para la ejecución de scripts de manera asíncrona.
- Para complicar la identificación pasiva de la instancia del navegador, ahora en el encabezado HTTP Accept-Language se enumeran no todos los idiomas seleccionados por el usuario, sino solo los idiomas más priorizados.
- Se ha añadido una API experimental (pruebas de origen) llamada Prompt, que proporciona llamadas para interactuar con grandes modelos de lenguaje, permitiendo utilizar texto, imágenes y entrada de sonido en las solicitudes. El resultado se devuelve en un formato estructurado fácil de analizar. Entre los ejemplos de uso se mencionan la generación de descripciones de imágenes, búsqueda visual, transcripción de voz, clasificación de sonidos, generación de texto según instrucciones dadas y extracción de información del texto.
- En las herramientas para desarrolladores web se han realizado trabajos para resolver problemas conocidos con la funcionalidad y faltantes en la interfaz de usuario. Gracias a este trabajo, el número de notificaciones abiertas sobre problemas se ha reducido en un 27%. El asistente AI integrado ha añadido soporte para cargar imágenes arbitrarias. En el panel de inspección de red, se ha implementado la posibilidad de agregar columnas para mostrar el estado de encabezados HTTP arbitrarios.

- El soporte para el sistema operativo macOS 11 ha sido descontinuado, ahora se requiere al menos la versión macOS 12 para su funcionamiento.
- En la versión para Android, se ha descontinuado el soporte para las plataformas Android 8 (Oreo) y Android 9 (Pie).
Además de las nuevas características y correcciones de errores, la nueva versión ha solucionado 12 vulnerabilidades. Muchas de las vulnerabilidades se identificaron mediante pruebas automatizadas utilizando las herramientas AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer y AFL. No se han encontrado problemas críticos que permitan eludir todos los niveles de protección del navegador y ejecutar código en el sistema fuera del entorno sandbox. En el marco del programa de recompensas por descubrimiento de vulnerabilidades para esta versión, Google ha otorgado 8 recompensas por un total de 18500 dólares (una recompensa de $10000, tres de $2000, dos de $1000 y una de $500). El monto de una recompensa aún no ha sido determinado.
También se puede destacar la inclusión en la base de código de la que se forma la versión Chrome 140, del modo OverrideDefaultOzonePlatformHintToAuto, que activa la selección automática del backend en la capa Ozone, que abstrae la interacción con el subsistema gráfico. Este cambio permitirá activar de manera adaptativa el backend de Wayland en sistemas que lo soportan, sin estar atado por defecto al backend de X11. El modo de selección automática del backend también se puede habilitar manualmente en la versión Chrome 139 utilizando la configuración ‘chrome://flags/#ozone-platform-hint’ o la opción de línea de comandos ‘—ozone-platform-hint=auto’.
Fuente: opennet.ru





