Lanzamiento de Chrome 105

La compañía Google lanzó la versión 105 del navegador web Chrome. Simultáneamente se encuentra disponible la versión estable del proyecto de código abierto Chromium, que es la base de Chrome. El navegador Chrome se diferencia de Chromium por el uso de los logotipos de Google, la presencia de un sistema de notificaciones en caso de fallo, módulos para la reproducción de contenido de video protegido contra copias (DRM), un sistema de instalación automática de actualizaciones, habilitación constante de la aislación Sandbox, suministro de claves para la API de Google y la transmisión de parámetros RLZ en las búsquedas. Para aquellos que necesiten más tiempo para actualizar, se mantiene por separado la rama Extended Stable, acompañada de 8 semanas. El próximo lanzamiento de Chrome 106 está programado para el 27 de septiembre.

Principales cambios en Chrome 105:

  • Se ha descontinuado el soporte para aplicaciones web especializadas Chrome Apps, que han sido reemplazadas por aplicaciones web separadas basadas en la tecnología Progressive Web Apps (PWA) y estándares de Web API. Inicialmente, Google anunció su intención de abandonar las Chrome Apps en 2016 y planeaba detener su soporte para 2018, pero luego retrasó este plan. En Chrome 105, al intentar instalar aplicaciones Chrome Apps se mostrará una advertencia sobre la descontinuación de su soporte, pero las aplicaciones seguirán ejecutándose. En Chrome 109, la posibilidad de ejecutar Chrome Apps será desactivada.
  • Se ha proporcionado una mayor aislación del proceso 'renderer', que es responsable del renderizado. Este proceso ahora se ejecuta en un contenedor adicional (App Container), implementado sobre el sistema existente de aislamiento sandbox. En caso de explotación de vulnerabilidades en el código de renderizado, las nuevas restricciones evitarán que el atacante acceda a la red, gracias a la prohibición de las llamadas del sistema relacionadas con capacidades de red.
  • Se ha implementado un almacén unificado de certificados raíz de autoridades certificadoras (Chrome Root Store). Este nuevo almacén aún no está habilitado por defecto y hasta que finalice su implementación, los certificados continuarán siendo verificados utilizando el almacén específico de cada sistema operativo. La solución en prueba recuerda el enfoque de la empresa Mozilla, que mantiene un almacén separado e independiente de certificados raíz para Firefox, utilizado como primer eslabón para verificar la cadena de confianza de los certificados al abrir sitios web mediante HTTPS.
  • Se ha comenzado la preparación para la descontinuación del API Web SQL, que no está estandarizado, se utiliza poco y requiere una reestructuración para cumplir con los modernos requisitos de seguridad. En Chrome 105, se prohibió el acceso a Web SQL desde el código cargado sin HTTPS, además se añadió en DevTools una advertencia sobre la obsolescencia de la tecnología. En 2023, se planea eliminar el API Web SQL. Para los desarrolladores que necesiten una funcionalidad similar, se preparará una alternativa basada en WebAssembly.
  • En Chrome, se ha descontinuado el soporte de sincronización con Chrome 73 y versiones anteriores.
  • Para las plataformas macOS y Windows, se ha activado un visor de certificados integrado, que reemplaza la llamada a la interfaz proporcionada por el sistema operativo. Anteriormente, el visor integrado sólo se utilizaba en compilaciones para Linux y ChromeOS.
  • La versión para la plataforma Android ha añadido configuraciones para gestionar el API 'Topics & Interest Group', promovido en el marco de la iniciativa Privacy Sandbox, permitiendo definir categorías de intereses del usuario y utilizarlas en lugar de cookies de seguimiento para distinguir grupos de usuarios con intereses similares sin identificar a usuarios individuales. En la versión anterior, se añadieron configuraciones similares en las versiones para Linux, ChromeOS, macOS y Windows.
  • Al activar la protección avanzada del navegador (Safe Browsing > Enhanced protection), se implementó la recolección de telemetría sobre las extensiones instaladas, el acceso a APIs y las conexiones a sitios externos. Estos datos se utilizan en los servidores de Google para identificar actividades maliciosas y violaciones de las normas por parte de las extensiones del navegador.
  • Se ha trasladado a la categoría de obsoleto y se bloqueará en la versión Chrome 106 la posibilidad de utilizar caracteres no ASCII en los dominios indicados en la cabecera de las cookies (para dominios IDN se deben indicar en formato punycode). Este cambio alineará el navegador con los requisitos de RFC 6265bis y el comportamiento que se ha implementado en Firefox.
  • Se ha propuesto una API Custom Highlight, diseñada para modificar libremente el estilo de las áreas de texto seleccionadas, permitiendo no limitarse al estilo fijo proporcionado por el navegador para las selecciones (::selection, ::inactive-selection) y la resaltación de errores de sintaxis (::spelling-error, ::grammar-error). En la primera versión de la API se ha proporcionado soporte para cambiar el color del texto y el fondo mediante los pseudoelementos color y background-color, pero en el futuro se agregarán más opciones de personalización del estilo.

    Como ejemplo de las tareas que se pueden resolver con la nueva API, se menciona la incorporación en frameworks web que proporcionan herramientas para la edición de texto de mecanismos propios para la selección de texto, diferentes resaltados durante la edición colaborativa por múltiples usuarios, búsqueda en documentos virtualizados y marcaje de errores durante la verificación de ortografía. Anteriormente, para crear selecciones personalizadas se requerían manipulaciones complejas con el árbol DOM, mientras que la API Custom Highlight ofrece operaciones listas para agregar y eliminar resaltado, que no afectan la estructura del DOM y aplican estilos en función de los objetos Range.

  • En CSS se ha añadido la consulta «@container», que permite establecer el estilo de los elementos en función del tamaño del elemento padre. «@container» se asemeja a las consultas «@media», pero se aplica en relación con el tamaño de un bloque (contenedor), en el que se encuentra el elemento, lo que permite definir para los elementos secundarios una lógica de elección de estilo propia, independiente de la ubicación del elemento en la página.
    Lanzamiento de Chrome 105
  • Se ha añadido la pseudo-clase CSS «:has()» para verificar la existencia de un elemento hijo en el elemento padre. Por ejemplo, «p:has(span)» abarca elementos. <p>, dentro de los cuales hay un elemento <span>.
  • Se ha añadido la API HTML Sanitizer, que permite eliminar de los contenidos elementos que afectan la visualización y ejecución al mostrarse a través del método setHTML(). La API puede ser útil para limpiar los datos entrantes de posibles etiquetas HTML que podrían usarse para llevar a cabo ataques XSS.
  • Se ha habilitado la posibilidad de usar la API Streams (ReadableStream) para enviar solicitudes fetch antes de que se cargue el cuerpo de la respuesta, es decir, se pueden comenzar a enviar datos sin esperar a que finalice la generación de la página.
  • Para las aplicaciones web progresivas (PWA) instaladas, se ofrece la posibilidad de cambiar la apariencia del área de título de la ventana mediante componentes Window Controls Overlay, que amplían el área de visualización de la aplicación web a toda la ventana y permiten que la aplicación web tenga el aspecto de una aplicación de escritorio convencional. La aplicación web puede gestionar el renderizado y el procesamiento de entradas en toda la ventana, excepto en el área sobrepuesta con los botones de control predeterminados de la ventana (cerrar, minimizar, maximizar).
    Lanzamiento de Chrome 105
  • Se ha estabilizado la posibilidad de acceder a Media Source Extensions desde trabajadores dedicados (en el contexto de DedicatedWorker), lo que se puede utilizar, por ejemplo, para mejorar el rendimiento de la reproducción multimedia almacenada en búfer a través de la creación de un objeto MediaSource en un trabajador separado y la transmisión de los resultados de su trabajo a un HTMLMediaElement en el hilo principal.
  • En la API Client Hints, que se desarrolla para reemplazar el encabezado User-Agent y permite enviar datos específicos sobre parámetros del navegador y del sistema (versión, plataforma, etc.) solo después de una solicitud, el servidor, se ha añadido soporte para la propiedad Sec-CH-Viewport-Heigh, que permite obtener información sobre la altura del área visible. Se ha cambiado el formato de marcado para especificar en la etiqueta "meta" los parámetros Client Hints para recursos externos: Fue: Se convirtió en:
  • Se ha añadido la posibilidad de crear controladores de eventos globales onbeforeinput (document.documentElement.onbeforeinput), mediante los cuales las aplicaciones web pueden redefinir el comportamiento al editar texto en bloques ,