Lanzamiento de Chrome 95

La compañía Google ha presentado el lanzamiento del navegador web Chrome 95. Al mismo tiempo, está disponible la versión estable del proyecto de código abierto Chromium, que sirve como base para Chrome. El navegador Chrome se diferencia por el uso de logotipos de Google, un sistema para enviar notificaciones en caso de fallos, módulos para reproducir contenido de video protegido (DRM), un sistema de actualización automática y el envío de parámetros RLZ al buscar. De acuerdo con el nuevo ciclo de desarrollo de 4 semanas, el próximo lanzamiento de Chrome 96 está programado para el 16 de noviembre. Para aquellos que necesitan más tiempo para actualizar, se mantiene por separado la rama Extended Stable, que se acompaña de 8 semanas y en la que se ha formado una actualización para la versión anterior de Chrome 94.

Principales cambios en Chrome 95:

  • Se ha propuesto una nueva barra lateral para usuarios de Linux, Windows, macOS y ChromeOS, que se muestra a la derecha del contenido y se activa al hacer clic en un ícono especial en la barra de direcciones. La barra muestra un resumen de favoritos y una lista de lectura. Este cambio no está habilitado para todos los usuarios; para activarlo se puede utilizar la configuración 'chrome://flags/#side-panel'.
    Lanzamiento de Chrome 95
  • Se ha implementado una solicitud explícita de permiso para guardar direcciones ingresadas en formularios web, para su uso posterior en el sistema de autocompletar formularios. Al detectar la presencia de direcciones en los formularios, ahora se muestra un cuadro de diálogo al usuario que permite guardar la dirección, editarla, actualizar una dirección guardada anteriormente o rechazar el guardado.
  • Se ha eliminado el código de soporte para el protocolo FTP. En Chrome 88, el soporte para FTP se desactivó por defecto, pero se dejó una bandera para restaurarlo.
  • Se ha dejado de dar soporte a URLs con nombres de host que terminan en dígitos, pero que no corresponden a direcciones IPv4. Por ejemplo, las URL 'http://127.1/', 'http://foo.127.1/' y 'http://127.0.0.0.1' ahora se considerarán incorrectas.
  • Para WebAssembly se ha implementado la posibilidad de crear manejadores de excepciones que pueden interceptar la ejecución si ocurre una excepción durante la ejecución de un código determinado. Se admite tanto la interceptación de excepciones conocidas del módulo WebAssembly como excepciones en el proceso de llamado a funciones importadas. Para interceptar excepciones, el módulo WebAssembly debe estar compilado con un compilador que soporte excepciones, como Emscripten.

    Se observa que el manejo de excepciones a nivel WebAssembly permite reducir significativamente el tamaño del código generado, en comparación con el manejo de excepciones mediante JavaScript. Por ejemplo, la construcción del optimizador Binaryen con manejo de excepciones mediante JavaScript resulta en un aumento del código del 43%, mientras que con WebAssembly es del 9%. Además, al utilizar el modo de optimización "-O3", el código con manejo de excepciones mediante WebAssembly prácticamente no difiere en rendimiento del código sin manejadores de excepciones, mientras que el manejo de excepciones a través de JavaScript resulta en una desaceleración de la ejecución del 30%.

  • Se prohíbe el uso compartido de módulos de WebAssembly entre diferentes dominios (cross-origin) al procesar un mismo sitio.
  • 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 incluido la reducción de información en el encabezado HTTP User-Agent y en los parámetros de JavaScript navigator.userAgent, navigator.appVersion y navigator.platform. El encabezado solo contiene información sobre el nombre del navegador, la versión significativa del navegador, la plataforma y el tipo de dispositivo (teléfono móvil, PC, tableta). Para obtener datos adicionales, como la versión exacta y datos avanzados sobre la plataforma, se debe utilizar la API User Agent Client Hints. Se prevé comenzar la reducción de User-Agent en los sistemas de usuarios comunes con el lanzamiento de Chrome 102, que será publicado en seis meses.
    • Se ha propuesto la posibilidad de crear descriptores de acceso (Access Handles) para la API File System Access, permitiendo que las aplicaciones web lean y escriban datos directamente en archivos y directorios en el dispositivo del usuario. Para reducir las formas en que las aplicaciones web acceden al sistema de archivos, Google planea combinar la API File System Access y Storage Foundation. Como paso preparatorio para dicha combinación, se ha propuesto el soporte de descriptores de acceso, que complementa los métodos de trabajo basados en descriptores de archivos con capacidades avanzadas, como la posibilidad de establecer bloqueos de escritura por otros procesos y crear hilos separados para la lectura y escritura, incluyendo el soporte para lectura y escritura desde trabajadores en modo sincrónico.
  • Se ha estabilizado y propuesto por defecto la API Secure Payment Confirmation con la implementación de una nueva extensión 'payment', que proporciona una confirmación adicional de la operación de pago. La parte verificadora, por ejemplo, el banco, tiene la posibilidad de generar una clave pública PublicKeyCredential, que puede ser solicitada por el vendedor para una confirmación segura adicional del pago a través de la API Payment Request, utilizando el método de pago 'secure-payment-confirmation'.
  • Se ha implementado la transmisión de la propiedad droppedEntriesCount en las llamadas de callback establecidas a través del constructor PerformanceObserver, lo que permite entender cuántas métricas de rendimiento del sitio han sido descartadas debido a que no cabían en el buffer proporcionado.
  • Se ha añadido la API EyeDropper, que permite invocar la interfaz proporcionada por el navegador para determinar el color de píxeles arbitrarios en la pantalla, lo que puede ser utilizado, por ejemplo, en editores gráficos implementados como aplicaciones web. const eyeDropper = new EyeDropper(); const result = await eyeDropper.open(); // result = {sRGBHex: '#160731'}
  • Se ha añadido la función self.reportError(), que permite a los scripts enviar errores a la consola, emulando la aparición de una excepción no atrapada.
  • Se ha añadido la API URLPattern, para verificar si una URL coincide con un patrón específico, lo que, por ejemplo, puede ser utilizado para analizar enlaces y redirigir solicitudes a controladores en un service worker. const p = new URLPattern({ protocol: 'https', hostname: 'example.com', pathname: '/:folder/*/:fileName.jpg', });
  • Se ha ampliado la API Intl.DisplayNames, que permite obtener nombres localizados de idiomas, países, monedas, elementos de fecha, etc. En la nueva versión se han añadido nuevos tipos de nombres "calendar" y "dateTimeField", a través de los cuales se pueden conocer los nombres localizados de calendarios y campos de fechas y horas (por ejemplo, nombres de meses). Para el tipo "language" se ha añadido soporte para el uso de dialectos.
  • En la API Intl.DateTimeFormat se ha añadido soporte para nuevos valores del parámetro timeZoneName: "shortGeneric" para mostrar el identificador corto de la zona horaria (por ejemplo, "PT", "ET"), "longGeneric" para el largo ("Pacific Time", "Mountain Time"), "shortOffset" con el desplazamiento corto respecto a GMT ("GMT+5") y "longOffset" con el desplazamiento largo respecto a GMT ("GMT+0500").
  • Se ha declarado obsoleta la API U2F (Cryptotoken), cuya sustitución es la API de Web Authentication. La API U2F se desactivará por defecto en la versión 98 de Chrome y se eliminará por completo en Chrome 104.
  • Se han realizado mejoras en las herramientas para desarrolladores web. En el panel de Estilos se ha simplificado la modificación de propiedades CSS relacionadas con el tamaño (altura, relleno, etc.). En la pestaña de Problemas se ha proporcionado la opción de ocultar problemas individuales. En la consola web y en los paneles de Fuentes y Propiedades, se ha mejorado la visualización de las propiedades (las propiedades propias ahora se muestran en negrita y en la parte superior de la lista).
    Lanzamiento de Chrome 95

Además de las novedades y correcciones de errores, la nueva versión corregió 19 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 sortear todos los niveles de protección del navegador y ejecutar código en el sistema más allá de un entorno sandbox. En el marco del programa de recompensas por descubrimiento de vulnerabilidades para esta versión, Google ha pagado 16 premios por un total de 74 mil dólares estadounidenses (un premio de $20000, dos premios de $10000, un premio de $7500, un premio de $6000, tres premios de $5000 y premios de $3000, $2000 y $1000). El tamaño de 5 recompensas aún no ha sido determinado.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster