La empresa Google ha lanzado la versión 96 de su navegador web Chrome. Al mismo tiempo, está disponible la versión estable del proyecto libre Chromium, que sirve como base para Chrome. El navegador Chrome se distingue por el uso de logotipos de Google, un sistema de envío de notificaciones en caso de fallos, módulos para la reproducción de contenidos de vídeo protegidos (DRM), un sistema de actualizaciones automáticas y la transmisión de parámetros RLZ durante la búsqueda. La rama Chrome 96 será apoyada durante 8 semanas en el marco del ciclo Extended Stable. La siguiente versión de Chrome 97 está programada para el 4 de enero.
Principales cambios en Chrome 96:
- En la barra de marcadores, que aparece debajo de la barra de direcciones, la opción 'Apps' (Servicios) que permitía abrir la página 'chrome://apps' con la lista de servicios y aplicaciones web instaladas está oculta por defecto.

- Se ha dejado de dar soporte a la plataforma Android 5.0 y versiones anteriores.
- Se ha añadido soporte para redireccionamiento de HTTP a HTTPS utilizando DNS (al determinar direcciones IP además de los registros DNS 'A' y 'AAAA', también se consulta el registro DNS 'HTTPS', y si está presente, el navegador se conectará al sitio directamente por HTTPS).
- En la edición para sistemas de escritorio, el caché de retroceso (Back-forward cache), que proporciona una transición instantánea al usar los botones 'Atrás' y 'Adelante', se ha ampliado para incluir la navegación por páginas previamente visitadas después de haber abierto otro sitio.
- Se ha añadido la configuración 'chrome://flags#force-major-version-to-100' para probar posibles interrupciones en el funcionamiento de los sitios después de que el navegador alcance una versión de tres dígitos en lugar de dos (en su momento, tras el lanzamiento de Chrome 10, surgieron muchos problemas en las bibliotecas de análisis del User-Agent). Al activar la opción, se empieza a mostrar en el encabezado del User-Agent la versión 100 (Chrome/100.0.4664.45).
- En las compilaciones para la plataforma Windows, los datos relacionados con el funcionamiento de los servicios de red (cookies, etc.) se han movido a un subdirectorio 'Network' en preparación para implementar el mecanismo de aislamiento de red (Network Sandbox).
- En el modo Origin Trials (funcionalidades experimentales que requieren activación por separado) se han añadido varias API nuevas. El Origin Trial implica la posibilidad de trabajar con la API especificada desde aplicaciones cargadas desde localhost o 127.0.0.1, o tras registrarse y obtener un token especial que tiene una duración limitada para un sitio específico.
- Se ha propuesto el objeto FocusableMediaStreamTrack (que será renombrado como BrowserCaptureMediaStreamTrack), que admite el método focus(), mediante el cual las aplicaciones que capturan el contenido de ventanas o pestañas (por ejemplo, programas para transmitir el contenido de ventanas durante videoconferencias) pueden obtener información sobre el enfoque de entrada y rastrear su cambio.
- Se ha implementado el mecanismo de Priority Hints, que permite establecer la importancia de los recursos cargados mediante un atributo adicional «importance» en etiquetas como iframe, img y link. El atributo puede aceptar los valores «auto», «low» y «high», que afectan el orden de carga de los recursos externos por el navegador.
- En el encabezado Cross-Origin-Embedder-Policy, que gestiona el modo de aislamiento Cross-Origin y permite definir reglas de uso seguro de operaciones privilegiadas en la página, se ha añadido soporte para el parámetro «credentialless» para desactivar la transmisión de información relacionada con credenciales, como Cookies y certificados de cliente.
- Se ha propuesto un nuevo pseudo-clase «:autofill» en CSS, que permite rastrear el autocompletado de campos en la etiqueta input por el navegador (el selector no se activa al llenarse manualmente).
- Para evitar ciclos de solicitudes, las propiedades CSS writing-mode, direction y backgrounds ahora no se aplican al viewport al aplicar la propiedad CSS contain a las etiquetas HTML o BODY.
- Se ha añadido la propiedad CSS font-synthesis, que permite controlar la capacidad de sintetizar grosores (oblique, bold y small-cap) que no están presentes en la familia de fuentes seleccionada.
- En la API PerformanceEventTiming, que permite obtener información adicional para medir y optimizar la capacidad de respuesta de la interfaz, se ha añadido el atributo InteractionID con el identificador de la interacción del usuario. Este identificador permite vincular diferentes métricas a una sola acción del usuario; por ejemplo, al tocar una pantalla táctil se generan varios eventos, como pointerdown, mousedown, pointerup, mouseup y click, y InteractionID permite vincular todos estos eventos a un solo toque.
- Se ha añadido un nuevo tipo de consulta de medios (Media Query) — «prefers-contrast» para adaptar el contenido de la página a la configuración de contraste establecida en el sistema operativo (por ejemplo, activar el modo de alto contraste).
- Para aplicaciones PWA aisladas, se ha añadido soporte para el campo opcional «id» en el manifiesto con un identificador global de la aplicación (si no se especifica, se utiliza la URL de inicio para la identificación).
- Para aplicaciones PWA aisladas, se ha implementado la posibilidad de registrarse como manejadores de URL. Por ejemplo, la aplicación music.example.com puede registrarse como manejador de la URL https://*.music.example.com y todas las transiciones desde aplicaciones externas a estos enlaces, como mensajeros y clientes de correo, abrirán esta aplicación PWA en lugar de una nueva pestaña en el navegador.
- Se ha añadido la directiva CSP (Content Security Policy) wasm-unsafe-eval para gestionar la posibilidad de ejecutar código en WebAssembly. La aplicación de la directiva CSP script-src ahora abarca también WebAssembly.
- WebAssembly ha agregado soporte para tipos de referencia (tipo externref). Los módulos de WebAssembly ahora pueden almacenar en variables y pasar como argumentos referencias a objetos de JavaScript y DOM.
- En PaymentMethodData se ha declarado obsoleta la compatibilidad con el método de pago 'basic-card', que permitía gestionar cualquier tipo de tarjeta a través de un identificador único, sin necesidad de vincularlo a tipos de datos específicos. Se sugiere utilizar métodos alternativos, como Google Pay, Apple Pay y Samsung Pay.
- Al utilizar la API U2F (Cryptotoken) en el sitio, se mostrará una advertencia al usuario con información sobre la obsolescencia de esta interfaz. La API U2F se desactivará por defecto en la versión 98 de Chrome y se eliminará por completo en Chrome 104. En su lugar, se debe utilizar la API de Autenticación Web.
- Se han realizado mejoras en las herramientas para desarrolladores web. Se ha añadido un nuevo panel 'Resumen CSS' (CSS Overview), que ofrece un resumen de información sobre colores, fuentes, declaraciones no utilizadas y expresiones de medios, así como la identificación de posibles problemas. Se mejoraron las operaciones de edición y copia de CSS. En el panel 'Estilos' se añadió una opción en el menú contextual para copiar definiciones de CSS en forma de expresiones JavaScript. En el panel de inspección de solicitudes de red se añadió la pestaña 'Payload' con el análisis de los parámetros de la solicitud. En la consola web se añadió una opción para ocultar todos los errores de CORS (Cross-Origin Resource Sharing) y se proporcionó la salida de seguimiento de pila para funciones async.

Además de las nuevas características y correcciones de errores, la nueva versión ha solucionado 25 vulnerabilidades. Muchas de estas vulnerabilidades fueron descubiertas a través de pruebas automatizadas utilizando herramientas como AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer y AFL. No se han encontrado problemas críticos que permitan eludir todos los niveles de seguridad del navegador y ejecutar código en el sistema más allá del entorno sandbox. En el marco del programa de recompensas por la detección de vulnerabilidades para esta versión, Google ha pagado 13 premios por un total de 60 mil dólares (un premio de $15,000, un premio de $10,000, dos premios de $7,500, un premio de $5,000, dos premios de $3,000, un premio de $2,500, dos premios de $2,000, dos premios de $1,000 y un premio de $500). El monto de 5 premios aún no se ha determinado.
Fuente: opennet.ru


