De release van webbrowser Firefox 89 heeft plaatsgevonden. Tevens is er een update van de long-term support tak 78.11.0 samengesteld. Binnenkort wordt de Firefox 90 tak naar de bèta-testfase overgebracht, met een verwachte release op 13 juli.
Belangrijkste vernieuwingen:
- Er is een aanzienlijke modernisering van de interface doorgevoerd. De pictogrammen zijn bijgewerkt, de stijl van verschillende elementen is uniform gemaakt en het kleurenpalet is herzien.
- De opmaak van de tabbladbalk is gewijzigd - de hoeken van de tabknoppen zijn afgerond en vloeien nu niet meer samen met de balk aan de onderkant (floating button effect). Het visuele onderscheid van inactieve tabbladen is verwijderd, maar het gebied dat door de knop wordt ingenomen, wordt verlicht wanneer de muisaanwijzer op het tabblad wordt geplaatst.

- Het menu is herstructureerd. Zelden gebruikte en verouderde elementen zijn uit het hoofdmenu en contextmenu verwijderd om de focus te leggen op de belangrijkste functies. De overgebleven elementen zijn hergegroepeerd op basis van belangrijkheid en gebruikersvraag. In een poging om afleidende visuele rommel te verminderen, zijn pictogrammen naast menu-items verwijderd en blijven alleen tekstlabels over. De interface voor het aanpassen van de balk en tools voor webontwikkelaars zijn verplaatst naar een apart submenu ‘Meer Tools’.


- Het ingebouwde menu '...' (Page Actions) in de adresbalk is verwijderd, waarmee je een bladwijzer kon toevoegen, een link naar Pocket kon sturen, een tabblad kon vastzetten, met het klembord kon werken en materiaal via e-mail kon verzenden. De opties die beschikbaar waren via het menu '...' zijn naar andere delen van de interface verplaatst, blijven beschikbaar in het paneelinstellingen gedeelte en kunnen afzonderlijk op de balk als knoppen worden geplaatst. Bijvoorbeeld, de knop om een interface voor het maken van screenshots op te roepen is toegankelijk via het contextmenu dat verschijnt bij een rechter muisklik op de pagina.

- De pop-up zijbalk voor het instellen van de pagina is opnieuw ontworpen met een interface die wordt getoond bij het openen van een nieuw tabblad.

- De opmaak van informatieve panelen en modale dialogen met waarschuwingen, bevestigingen en aanvragen is gewijzigd en uniform gemaakt met de andere dialogen. De dialogen worden weergegeven met afgeronde hoeken en zijn verticaal gecentreerd.

- Na de update is er een schaduwbeeld toegevoegd dat aanbiedt om Firefox als standaardbrowser in het systeem te gebruiken en de mogelijkheid biedt om een thema te kiezen. De beschikbare thema's zijn: systeemthema (past zich aan de systeeminstellingen aan voor de opmaak van vensters, menu's en knoppen), licht, donker en Alpenglow (kleur).





- Standaard is de knop voor het activeren van de compacte weergave van de panelen verborgen in de interface voor het instellen van het uiterlijk. Om deze instelling te herstellen, is er een parameter «browser.compactmode.show» in about:config. Voor gebruikers die de compacte modus hebben ingeschakeld, wordt deze parameter automatisch geactiveerd.
- Het aantal elementen dat de aandacht van de gebruiker afleidt, is verminderd. Overbodige waarschuwingen en meldingen zijn verwijderd.
- In de adresbalk is een rekenmachine geïntegreerd die het mogelijk maakt om wiskundige expressies in willekeurige volgorde te berekenen. De rekenmachine is standaard uitgeschakeld en vereist een wijziging van de instelling suggest.calculator in about:config. In een van de volgende versies wordt ook verwacht (al toegevoegd in nachtbouwen van en-US) dat een converter voor eenheden in de adresbalk verschijnt, waarmee bijvoorbeeld voet naar meters kan worden omgezet.

- In de builds voor Linux is het gebruik van de compositing-engine WebRender geactiveerd voor alle gebruikers van Linux, inclusief alle desktopomgevingen, alle versies van Mesa en systemen met NVIDIA-drivers (voorheen was webRender alleen ingeschakeld voor GNOME, KDE en Xfce met Intel- en AMD-drivers). WebRender is geschreven in de programmeertaal Rust en zorgt voor aanzienlijke versnelling van de rendering en vermindering van de CPU-belasting door tekenopdrachten van de pagina-inhoud naar de GPU te verplaatsen, uitgevoerd via GPU-shaders. Om WebRender in about:config uit te schakelen, kan de instelling «gfx.webrender.enabled» worden gebruikt of Firefox worden gestart met de omgevingsvariabele MOZ_WEBRENDER=0.
- De methode voor volledige cookiebescherming (Total Cookie Protection) is standaard ingeschakeld, die voorheen alleen werd geactiveerd bij het kiezen van de strikte modus voor het blokkeren van ongewenste inhoud. Voor elke website wordt nu een aparte, geïsoleerde opslag voor cookies gebruikt, waardoor het gebruik van cookies om de beweging tussen websites te volgen, wordt verhindert. Alle cookies die door ingeladen externe blokken op de site worden ingesteld, zijn nu gekoppeld aan de hoofdwebsite en worden niet overgedragen wanneer vanuit andere websites naar deze blokken wordt verwezen. Uitzonderingen voor de intersite overdracht van cookies zijn toegestaan voor diensten die niet gerelateerd zijn aan gebruikerstracking, zoals die voor single sign-on. Informatie over geblokkeerde en toegestane intersite cookies wordt weergegeven in het menu dat verschijnt wanneer je op het schildicoon in de adresbalk klikt.

- De tweede versie van het SmartBlock-mechanisme is ingeschakeld, dat is ontworpen om problemen op websites op te lossen die ontstaan door de blokkering van externe scripts in de privémodus of bij het inschakelen van de versterkte blokkering van ongewenste inhoud. SmartBlock stelt ook in staat om de prestaties van sommige websites aanzienlijk te verhogen die vertraging ervaren door de onmogelijkheid om trackingcode-scripts te laden. SmartBlock vervangt automatisch de gebruikte tracking-scripts door placeholders die zorgen voor de correcte werking van de website. Placeholders zijn voorbereid voor enkele populaire tracking-scripts die op de Disconnect-lijst staan, inclusief scripts met widgets van Facebook, Twitter, Yandex, Vkontakte en Google.
- De ondersteuning voor TLS-uitbreiding DC (Delegated Credentials) is ingeschakeld voor het delegeren van kortlevende certificaten, die het probleem met certificaten bij de toegang tot de website via content delivery netwerken oplossen. Delegated Credentials introduceert een extra tussen privé-sleutel, waarvan de geldigheid beperkt is tot enkele uren of dagen (niet langer dan 7 dagen). Deze sleutel wordt gegenereerd op basis van een door een certificeringsinstantie uitgegeven certificaat en maakt het mogelijk om de privé-sleutel van het originele certificaat geheim te houden voor content delivery diensten. Om problemen met toegang na de vervaldatum van de tussen-sleutel te voorkomen, is er een technologie voor automatische vernieuwing beschikbaar, die aan de zijde van de oorspronkelijke TLS-server wordt uitgevoerd.
- Er is een externe (geen native voor het systeem) implementatie van invoerelementen toegevoegd, zoals schakelaars, knoppen, dropdowns en tekstinvoervelden (input, textarea, button, select), die zich onderscheidt door een modernere uitstraling. Het gebruik van een afzonderlijke implementatie van invoerelementen heeft ook een positieve invloed gehad op de prestaties van paginaweergave.
- Er is de mogelijkheid toegevoegd om de inhoud van de elementen <input> en <textarea> te manipuleren met behulp van de Document.execCommand()-opdrachten, waarbij de bewerkingshistorie behouden blijft en zonder expliciete vermelding van de eigenschap contentEditable.
- De API Event Timing is geïmplementeerd voor het meten van de vertragingen van evenementen vóór en na het laden van de pagina.
- CSS-eigenschap forced-colors is toegevoegd om te bepalen of de browser op de pagina een door de gebruiker opgegeven beperkte kleurenpalet toepast.
- In de CSS-eigenschappen ascent-override, descent-override en line-gap-override is de descriptor @font-face toegevoegd voor het overschrijven van lettertype-metrieken, zodat dit kan worden gebruikt voor het uniformeren van de weergave van het lettertype in verschillende browsers en besturingssystemen, evenals voor het uitsluiten van verschuiving van de lay-out van de pagina door weblettertypen.
- In de CSS-functie image-set(), die het mogelijk maakt om het meest geschikte beeld uit een set opties met verschillende resoluties te kiezen op basis van de huidige schermparameters en netwerkcapaciteit, is ondersteuning voor de functie type() geïmplementeerd.
- In JavaScript is het standaard toegestaan om het sleutelwoord await in modules op het hoogste niveau te gebruiken, wat een soepelere integratie van asynchrone aanroepen in het module-laadproces mogelijk maakt, zonder dat het verpakt hoeft te worden in een 'async function'. Bijvoorbeeld, in plaats van (async function() { await Promise.resolve(console.log('test')); }()); kan nu worden geschreven await Promise.resolve(console.log('test'));
- Op 64-bits systemen is het toegestaan om ArrayBuffers te creëren met een grootte van meer dan 2GB (maar niet meer dan 8GB).
- De ondersteuning voor de gebeurtenissen DeviceProximityEvent, UserProximityEvent en DeviceLightEvent is beëindigd, omdat deze niet door andere browsers worden ondersteund.
- In het pagina-inspectiepaneel is de navigatie met het toetsenbord verbeterd voor bewerkbare eigenschappen van BoxModel.
- In de builds voor Windows is de uitstraling van contextmenu's verbeterd en is de opstarttijd van de browser versneld.
- In de builds voor macOS is gebruik gemaakt van native platformcontextmenu's en scrollbalken. Ondersteuning is toegevoegd voor het overscroll-effect, dat aangeeft dat het einde van de pagina is bereikt. Slim schalen kan worden geactiveerd door dubbel te klikken. Ondersteuning voor het donkere thema is toegevoegd. Problemen met kleurafwijkingen in CSS en afbeeldingen zijn opgelost. In de volledig schermmodus is het mogelijk om panelen te verbergen.
Naast de nieuwe functies en foutoplossingen zijn er in Firefox 89 16 kwetsbaarheden verholpen, waarvan 6 als ernstig zijn gemarkeerd. 5 kwetsbaarheden (samengevoegd onder CVE-2021-29967) zijn veroorzaakt door geheugenproblemen, zoals bufferoverlopen en toegang tot al vrijgegeven geheugengebieden. Potentieel kunnen deze problemen leiden tot uitvoer van kwaadaardige code bij het openen van speciaal ontworpen pagina's.
Bron: opennet.ru













