Lanzamiento de Firefox 147

Se ha lanzado el navegador web Firefox 147 y se han generado actualizaciones para las versiones pasadas con soporte a largo plazo: 140.7.0 y 115.32.0. La rama Firefox 148 ha entrado en la fase de beta testing, con un lanzamiento previsto para el 24 de febrero.

Principales novedades en Firefox 147 (1, 2, 3):

  • Se ha añadido soporte para la especificación Freedesktop.org XDG Base Directory y la posibilidad de utilizar el directorio ‘~/.config/mozilla’ para almacenar perfiles, complementos, configuraciones y bases de datos internas. Se mantiene la opción de almacenar datos en el antiguo directorio ‘~/.mozilla’, que se puede activar al iniciar con la variable de entorno ‘MOZ_LEGACY_HOME=1’.
  • Se ha añadido soporte para el mecanismo ‘Compression Dictionary Transport’ (RFC 9842), que permite reducir el tamaño de los datos transferidos entre el cliente y el servidor, utilizando algoritmos de compresión Zstandard (Content-Encoding: dcz) y Brotli (Content-Encoding: dcb) junto con la compresión de estructuras estándar utilizando diccionarios. Existen dos escenarios de uso para el Compression Dictionary Transport: compresión de contenido usando diccionarios previamente enviados por el servidor y el uso de contenido previamente enviado como diccionario para comprimir su nueva versión (compresión delta, donde solo se envían los cambios respecto a la versión existente).

    Por ejemplo, al solicitar ‘GET /index.html’, el servidor puede enviar información sobre la existencia de un diccionario, devolviendo la ruta a este en el encabezado ‘Link: ; rel="compression-dictionary"’. Al cargar el diccionario ‘…/dict’, el servidor informará de su uso en archivos HTML proporcionando el encabezado ‘Use-As-Dictionary: match="/*html"’. En la siguiente solicitud del recurso HTML, por ejemplo, ‘GET /index2.html’, el cliente indicará que tiene el diccionario a través del encabezado ‘Available-Dictionary: hash_diccionario’. Si el servidor tiene el diccionario con ese hash, devolverá el contenido de index2.html comprimido utilizando ese diccionario.

    Para la compresión delta de diferentes versiones de archivos JavaScript, en respuesta a la solicitud ‘GET /app.v1.js’, el servidor puede enviar el encabezado ‘Use-As-Dictionary: match="/app*js"’, informando que el contenido devuelto se puede usar posteriormente como diccionario para las rutas ‘/app*js’. En la solicitud subsiguiente del archivo que coincide con esta máscara, por ejemplo ‘GET /app.v2.js’, el cliente enviará el hash del diccionario existente a través del encabezado ‘Available-Dictionary:’, y el servidor devolverá solo los cambios entre los archivos app.v1.js y app.v2.js.

  • Se ha añadido la página about:keyboard para configurar combinaciones de teclas y redefinir accesos directos existentes, por ejemplo, para elegir opciones más familiares o evitar conflictos con otros programas.
    Lanzamiento de Firefox 147
  • Se ha optimizado la reproducción de vídeo utilizando la aceleración de hardware para la decodificación en GPU AMD. En sistemas con GPU AMD, los vídeos decodificados por hardware ahora se reproducen sin copia adicional de datos (modo zero-copy), como ya se implementaba anteriormente en sistemas con GPU Intel y NVIDIA.
  • Para la versión 5 se ha actualizado la implementación del protocolo Safe Browsing, utilizado para verificar URLs por su inclusión en listas de recursos inseguros (sitios de phishing, páginas con malware, etc.), provistas por Google. La nueva versión del protocolo permite cargar listas de bloqueo para su uso en el sistema local (base de datos con prefijos hash SHA256 de URLs problemáticas), que ahora se aplican en Firefox.
  • Se ha añadido una opción para reanudar automáticamente la reproducción del vídeo en modo 'imagen en imagen' al cambiar de pestaña.
  • En el modo de protección contra el rastreo de movimientos (ETP, Enhanced Tracking Protection => Strict), se ha activado por defecto la aplicación de la especificación LNA (Local Network Access) para limitar los accesos al sistema local (loopback, 127.0.0.0/8) o a la red interna (192.168.0.0/16, 10.0.0.0/8, etc.) al interactuar con sitios públicos. Los accesos a recursos internos son utilizados por atacantes para llevar a cabo ataques CSRF en enrutadores, puntos de acceso, impresoras, interfaces web corporativas y otros dispositivos y servicios que solo aceptan solicitudes desde la red local. Además, el escaneo de recursos internos puede ser utilizado para la identificación indirecta o la recolección de información sobre la red local.
  • En sistemas Linux con GNOME y el servidor de composición Mutter, se ha resuelto un problema con la visualización borrosa de contenido al utilizar niveles de escalado fraccionarios.
  • En computadoras Apple con chips Apple Silicon y el sistema operativo macOS, se ha habilitado el soporte para la API WebGPU.
  • Las prioridades del encabezado HTTP Accept-Language (parámetros q) se han sincronizado con los valores establecidos por otros navegadores, lo que ha solucionado algunos problemas de portabilidad. Por ejemplo, ahora se establece una prioridad de q=0.9 para el segundo idioma en lugar de q=0.5, y para cada idioma siguiente, la prioridad disminuye en 0.1.
  • La biblioteca ICU se ha actualizado a la versión 78 con soporte para Unicode 17 y la actualización de datos locales.
  • El uso de módulos JavaScript ESM (ECMAScript Module), importados y exportados a través de las expresiones import y export, ha sido habilitado en los Service Workers.
  • Se ha añadido soporte para la especificación CSS Module Scripts, que permite el uso de un sistema de módulos JavaScript para importar recursos CSS. Por ejemplo: import styles from './styles.css' with { type: 'css' };
  • En el pseudo-elemento '::marker', que permite personalizar los parámetros de números y puntos para listas en bloques
      y
        , se ha habilitado el uso de propiedades CSS 'counter-*' y 'quotes'.
      1. Se ha añadido soporte para el formato de compresión Brotli en la API CompressionStream y DecompressionStream.
      2. En la API View Transitions, utilizada para crear efectos de animación al cambiar entre diferentes estados del DOM, se ha añadido la propiedad 'type', que contiene un array con los tipos de transiciones. También se ha añadido el selector CSS correspondiente ':active-view-transition-type' y la propiedad document.activeViewTransition, que devuelve una instancia del objeto ViewTransition activo para el documento.
      3. Se ha incluido un conjunto de propiedades CSS para controlar la visualización de elementos vinculados a la ubicación de otros elementos (CSS Anchor Positioning), sin necesidad de JavaScript, por ejemplo, para enganchar a elementos de ventanas emergentes (popover) que aparecen de manera similar a las tooltips.
      4. Se ha implementado la especificación 'Storage Access Headers', que define el encabezado de solicitud 'Sec-Fetch-Storage-Access' y el encabezado de respuesta 'Activate-Storage-Access' para acceder a cookies de terceros sin necesidad de invocar el método document.requestStorageAccess(). El servidor puede solicitar acceso a cookies a través del encabezado 'Activate-Storage-Access' y este será enviado por el cliente si el usuario había confirmado previamente el acceso al almacenamiento de cookies a través de la API de Storage Access.
      5. Se ha añadido soporte para unidades de medida relativas rcap, rch, rex y ric en la propiedad CSS 'root-font-relative'.
      6. Se ha implementado la API de Navegación, que permite a las aplicaciones web interceptar operaciones de navegación en la ventana, iniciar transiciones y analizar el historial de acciones de la aplicación. La API proporciona una alternativa a las propiedades window.history y window.location, optimizada para aplicaciones web de una sola página.
      7. En las herramientas para desarrolladores web, se ha habilitado la edición y adición de selectores de pseudo-elementos en el panel de reglas CSS. En la interfaz para visualizar datos en formato JSON, se ha añadido un botón para importar recursos al sistema de perfilado (Firefox Profiler) para determinar información sobre su tamaño. En los paneles de inspección de elementos HTML y animaciones, se garantiza la visualización de pseudo-elementos de Transiciones de Vista. En el panel de reglas CSS, se ha implementado la visualización de reglas @position-try, utilizadas para gestionar la visualización de elementos vinculados a la ubicación de otros elementos (CSS Anchor Positioning).
      8. En la versión de Firefox para Android se añadió protección contra ataques a través de canales secundarios, como Spectre, utilizados para eludir el aislamiento entre sitios. Anteriormente, esta protección estaba disponible únicamente en las versiones de escritorio.

    Además de las novedades y correcciones de errores, en Firefox 147 se han solucionado 23 vulnerabilidades. 10 vulnerabilidades son causadas por problemas de gestión de memoria, como desbordamientos de búfer y acceso a áreas de memoria ya liberadas. Estos problemas pueden potencialmente permitir la ejecución de código malicioso al abrir páginas especialmente diseñadas. 3 vulnerabilidades permiten eludir el aislamiento sandbox debido a una verificación incorrecta de límites y a un desbordamiento de enteros en el componente de gráficos.

    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