La version 128 du navigateur web Firefox a été publiée. Firefox 128 fait partie des branches avec support à long terme (ESR), dont les mises à jour sont publiées pendant un an. De plus, une mise à jour de l'ancienne branche avec support à long terme — 115.13.0 — a été réalisée (deux autres mises à jour, 115.14 et 115.15, sont à prévoir). La branche Firefox 129 est actuellement en phase de bêta-test, avec une sortie prévue pour le 6 août.
Principales nouveautés de Firefox 128 :
- Ajout de la prise en charge de la traduction automatique des fragments de texte sélectionnés sur la page (auparavant, seule la traduction de la page entière était prise en charge). La fonction de traduction s'active via le menu contextuel qui s'affiche en cliquant avec le bouton droit de la souris sur le bloc sélectionné. Pour la traduction, un système intégré à Firefox est utilisé, qui effectue la traduction sur le système local de l'utilisateur sans faire appel à des services cloud externes. Le système est basé sur le moteur open source Bergamot, qui constitue une interface du cadre de traduction automatique Marian, utilisant un réseau de neurones récurrents (RNN) et des modèles linguistiques basés sur des transformateurs.

- Un nouveau dialogue simplifié et unifié pour la suppression des données utilisateur a été proposé, améliorant la classification des données en catégories et ajoutant des informations sur la taille des données conservées pour la période choisie.

- Dans le menu déroulant affiché lors de la saisie dans la barre d'adresse, en plus des liens recommandés, les recherches récemment effectuées et celles devenant populaires sont également affichées. Pour l'instant, cette fonctionnalité n'est disponible que pour les utilisateurs des États-Unis et du Canada.

- Un widget pour afficher la météo sur la page d'accueil qui apparaît lors de l'ouverture d'un nouvel onglet a été ajouté. Pour activer le widget dans about:config, les paramètres browser.newtabpage.activity-stream.showWeather et browser.newtabpage.activity-stream.system.showWeather sont prévus.

- En mode navigation privée, il est désormais possible de lire du contenu protégé provenant de services de streaming tels que Netflix.
- Lors de l'utilisation d'un proxy avec le protocole SOCKS5, l'envoi des requêtes DNS par défaut est également effectué via le proxy. Pour SOCKS4, les requêtes DNS continuent d'être envoyées via le résolveur local.
- Le rendu à la volée de divers types de contenu avec des types MIME text/* est assuré, sans nécessiter de préchargement de ces fichiers avant affichage.
- Le certificat racine utilisé pour la vérification des extensions de navigateur et du contenu signé numériquement par Mozilla a été mis à jour.
- Ajout du support de l'API expérimentale IPA (Interoperable Private Attribution), qui permet aux réseaux publicitaires de collecter et traiter des statistiques sur l'efficacité des campagnes publicitaires, tout en préservant la confidentialité des utilisateurs. Pour éviter la divulgation de données sur des utilisateurs spécifiques lors du traitement des statistiques, des mécanismes cryptographiques de confidentialité différentielle et de calculs confidentiels multipartites (MPC, Multi-Party Computation) sont utilisés, permettant à plusieurs participants indépendants d'effectuer des calculs sans obtenir d'informations sur les données des autres (les sites Web, navigateurs et annonceurs n'ont pas accès à l'intégralité des informations) et d'effectuer des opérations sur des données chiffrées. L'API est disponible en mode « essai d'origine » et peut être désactivée dans les paramètres de confidentialité à la section « Publicité sur les sites Web ».
- Ajout de la prise en charge de l'augmentation ou de la diminution de la taille de l'objet ArrayBuffer, ainsi que de l'augmentation de la taille de l'objet SharedArrayBuffer, ce qui permet de modifier la taille d'ArrayBuffer sans créer un nouveau tampon et transférer des données. De nouvelles méthodes ArrayBuffer.prototype.resize() et SharedArrayBuffer.prototype.grow() ont été proposées.
- L'API WebRTC a ajouté la méthode setCodecPreferences, permettant de désactiver certains codecs lors de l'établissement d'une connexion, ainsi que de modifier l'ordre de préférence des codecs.
- Les valeurs dans l'en-tête HTTP Accept, transmises serveur lors de la demande de documents et d'images, ont été mises en conformité avec la spécification de l'API Fetch et rapprochées du comportement d'autres navigateurs. L'en-tête transmet désormais « text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/png,image/svg+xml,*/*;q=0.8 » (par rapport à la version précédente, les mentions « image/png » et « image/svg+xml » ont été ajoutées).
- Ajout du support de l'en-tête HTTP « Priority », à travers lequel des informations sur la priorité de traitement de la demande peuvent être transmises (RFC 9218) lors de la première requête au resource.
- Ajout du support de l'interface CSSPropertyRule, des règles CSS @property et de la méthode registerProperty(), permettant d'enregistrer des propriétés CSS personnalisées avec héritage, vérification des types et valeurs par défaut.
- CSS permet désormais de spécifier des valeurs relatives lors de la définition des couleurs. Par exemple, pour obtenir une couleur bleue, on peut indiquer «rgb(from red 0 0 255)».
- La propriété CSS «content» permet désormais de définir un texte alternatif pour le contenu incluant une image.
- Ajout des méthodes Request.bytes(), Response.bytes(), PushMessageData.bytes() et Blob.bytes(), permettant de créer un tableau typé Uint8Array à partir des objets Request, Response, PushMessageData et Blob.
- Ajout de la méthode MediaKeys.getStatusForPolicy() pour obtenir des informations sur le module CDM utilisé pour déchiffrer le contenu DRM protégé.
- Lors de l'activation dans about:config de l'option «image.jxl.enabled», le type MIME image/jxl est transmis dans l'en-tête Accept, informant du support du traitement des images au format JPEG XL.
- Ajout du support expérimental de la technologie CHIPS (Cookies Having Independent Partitioned State), permettant d'isoler les Cookies dans le cadre de un domaine niveau supérieur, en utilisant le nouvel attribut «Partitioned». Si, dans des conditions normales, un code tiers provenant du site «C», intégré sur les sites «A» et «B», peut traiter des Cookies communs pour ces sites, en spécifiant l'attribut «Partitioned», les Cookies définis par le site «C» seront complètement séparés lors du chargement du code depuis les sites «A» et «B». L'option network.cookie.CHIPS.enabled a été ajoutée dans about:config pour l'activer.


- Dans les outils de développement web, lorsque le curseur survole un sélecteur de règle CSS, une info-bulle apparaît avec des informations sur la spécificité de la règle CSS, permettant de comprendre pourquoi une règle CSS donnée a été appliquée avant une autre règle.

- Dans le panneau d'inspection, les applications incorrectes des propriétés CSS personnalisées sont désormais mises en évidence si leur définition ne correspond pas à la valeur utilisée. Par exemple, la situation suivante est signalée lorsque, dans la propriété «—b», une couleur a été indiquée à la place d'une taille :

- Sur la plateforme macOS, pour enregistrer le son depuis un microphone en utilisant l'API getUserMedia, le moteur de traitement audio fourni par le système est utilisé, permettant d'atteindre une meilleure qualité.
- Dans la version pour Android sur les appareils avec Android 14 et les versions ultérieures de la plateforme, il est permis de créer et d'utiliser des clés Passkey dans des applications d'authentification tierces sans mot de passe, en utilisant des identifiants biométriques tels que les empreintes digitales ou la reconnaissance faciale.
En plus des nouvelles fonctionnalités et de la correction de bogues, Firefox 128 corrige 20 vulnérabilités. 8 de ces vulnérabilités sont qualifiées de critiques, dont 6 sont causées par des problèmes de gestion de la mémoire, tels que des débordements de mémoire tampon et l'accès à des zones de mémoire déjà libérées. Ces problèmes pourraient potentiellement permettre l'exécution de code malveillant lors de l'ouverture de pages spécialement conçues.
Source : opennet.ru








