Se lanzó la versión 90 del navegador web Firefox. Además, se ha formado una actualización de la rama de soporte extendido 78.12.0. La rama Firefox 91 entrará en fase de beta en breve, con un lanzamiento programado para el 10 de agosto.
Novedades principales:
- En la sección de configuración 'Privacidad y seguridad' se han agregado opciones adicionales para el modo 'HTTPS Only', que, al activarse, redirige automáticamente todas las solicitudes no cifradas a las versiones seguras de las páginas (se reemplaza 'http://' por 'https://'). Se propone una interfaz para mantener una lista de excepciones, permitiendo que los sitios de esa lista conserven la posibilidad de utilizar 'http://' sin ser forzados a cambiar a 'https://'.

- Se ha mejorado la implementación del mecanismo SmartBlock, diseñado para resolver problemas en sitios web que surgen de la bloqueo de scripts externos en modo de navegación privada o al activar el bloqueo estricto de contenido no deseado. SmartBlock reemplaza automáticamente los scripts de seguimiento utilizados por falsificaciones que aseguran la correcta carga del sitio. Las falsificaciones se han preparado para algunos de los scripts de seguimiento de usuarios más populares incluidos en la lista Disconnect. La nueva versión incluye un bloqueo adaptativo de los widgets de Facebook ubicados en sitios de terceros: por defecto, los scripts están bloqueados, pero el bloqueo se desactiva si el usuario ha iniciado sesión en su cuenta de Facebook.
- Se eliminó la implementación integrada del protocolo FTP. Al intentar abrir enlaces con el identificador de protocolo 'ftp://', el navegador ahora intentará llamar a una aplicación externa, similar a cómo se llaman los manejadores 'irc://' y 'tg://'. La razón presentada para la eliminación del soporte FTP es la inseguridad de este protocolo frente a la modificación y captura del tráfico en tránsito durante ataques MITM. Según los desarrolladores de Firefox, en las condiciones actuales no hay motivos para utilizar FTP en lugar de HTTPS para cargar recursos. Además, el código de soporte de FTP en Firefox es muy antiguo, crea problemas de mantenimiento y tiene una historia de encontrar numerosas vulnerabilidades en el pasado.
- Al guardar una página en formato PDF (opción 'Imprimir a PDF'), el documento garantiza la conservación de los hipervínculos funcionales.
- El botón «Abrir imagen en una nueva pestaña» del menú contextual ha sido rediseñado para abrir la imagen en una pestaña de fondo (anteriormente, al hacer clic, se realizaba un cambio inmediato a una nueva pestaña con la imagen, y ahora permanece activa la pestaña anterior).
- Se ha trabajado en la mejora del rendimiento de la representación de software en el sistema de composición WebRender, que utiliza sombreadores para realizar operaciones de renderizado combinado de elementos de la página. Para la mayoría de los sistemas con tarjetas gráficas antiguas o controladores gráficos problemáticos, el modo de renderizado de software en el sistema de composición WebRender está habilitado (gfx.webrender.software=true en about:config).
- En las versiones para la plataforma Windows, se ha asegurado la aplicación de actualizaciones en segundo plano, incluso cuando Firefox no está en ejecución.
- Se ha implementado la capacidad de utilizar certificados de cliente almacenados en tokens de hardware o en almacenes de certificados del sistema operativo para la autenticación.
- Se ha implementado soporte para un grupo de encabezados HTTP de Fetch Metadata (Sec-Fetch-Dest, Sec-Fetch-Mode, Sec-Fetch-Site y Sec-Fetch-User), que permite enviar metadatos adicionales sobre la naturaleza de la solicitud (solicitud entre sitios, solicitud a través de una etiqueta img, solicitud iniciada sin acciones del usuario, etc.) con el objetivo de tomar medidas servidor para protegerse contra ciertos tipos de ataques. Por ejemplo, es poco probable que un enlace a un manejador para transferir dinero se establezca a través de una etiqueta img, por lo que tales solicitudes se pueden bloquear sin transmitirlas a la aplicación.
- En JavaScript se ha implementado el soporte para marcar métodos y campos de clase como privados, después de lo cual el acceso a ellos solo estará permitido dentro de la clase. Para marcar, se debe indicar un signo «#» antes del nombre: class ClassWithPrivateField { #privateField; static #PRIVATE_STATIC_FIELD; #privateMethod() { return 'hello world'; } }
- En el constructor Intl.DateTimeFormat se ha añadido la propiedad dayPeriod, que permite mostrar una aproximación de la hora del día (por la mañana, por la tarde, durante el día, por la noche).
- En JavaScript, se implementó el método at() en los objetos Array, String y TypedArray, que permite utilizar indexación relativa (se especifica la posición relativa como índice de la matriz), incluso con la posibilidad de utilizar valores negativos desde el final (por ejemplo, 'arr.at(-1)' devolverá el último elemento de la matriz).
- Se ha añadido soporte para propiedades obsoletas de WheelEvent — WheelEvent.wheelDelta, WheelEvent.wheelDeltaX y WheelEvent.wheelDeltaY, lo que permitirá restaurar la compatibilidad con algunas páginas antiguas, perdida después de la reciente revisión de WheelEvent.
- En la API Canvas, se ha implementado en la interfaz CanvasRenderingContext2D el método createConicGradient(), que permite crear gradientes formados alrededor de un punto con coordenadas dadas (además de los gradientes lineales y radiales previamente disponibles).
- Se ha añadido soporte para el esquema de URI del protocolo «matrix», que puede ser utilizado en los manejadores Navigator.registerProtocolHandler() y protocol_handlers.
- En las herramientas para desarrolladores web, en el panel para rastrear respuestas de red. servidores (Respuesta) se ha implementado una vista previa de las fuentes que se están cargando.

Fuente: opennet.ru


