Google heeft de release van webbrowser Chrome 119 gepubliceerd. Tegelijkertijd is er een stabiele versie van het vrije project Chromium beschikbaar, dat de basis vormt voor Chrome. De browser Chrome verschilt van Chromium door het gebruik van Google-logo's, het hebben van een systeem voor het verzenden van meldingen in geval van een crash, modules voor het afspelen van beschermd videomateriaal (DRM), een automatisch updatesysteem, voortdurende inschakeling van sandbox-isolatie, het leveren van sleutels voor de Google API en het doorgeven van RLZ-parameters bij zoekopdrachten. Voor degenen die meer tijd nodig hebben voor updates, wordt de Extended Stable tak apart ondersteund, die 8 weken meegaat. De volgende release van Chrome 120 is gepland voor 5 december.
Belangrijkste veranderingen in Chrome 119:
- De releasecyclus is verkort, waarbij de tijd tussen het creëren van een nieuwe tak en het starten van bètatests is verminderd — de bètaversie wordt nu twee dagen na het creëren van de tak gevormd, in plaats van na 8 dagen. De stabilisatie van de bètaversie vindt, zoals voorheen, plaats gedurende 4 weken. Hierdoor is de cyclus voor de voorbereiding van nieuwe releases een week korter geworden.
- Het is nu mogelijk om tabbladgroepen op te slaan. Gebruikers kunnen nu een groep opslaan en de tabbladen daarin sluiten, zodat ze geen middelen meer in beslag nemen. Later, wanneer dat nodig is, kunnen de tabbladen uit de opgeslagen groep worden hersteld, en ook op andere apparaten die deelnemen aan de tabbladsynchronisatie worden geopend. Deze optie is ingeschakeld voor een deel van de gebruikers; voor verplichte inschakeling is er een instelling "chrome:///flags/#tab-groups-save".
- In de interface zijn de formuleringen van acties en instellingen met betrekking tot het verwijderen en verliezen van gegevens veranderd. In plaats van de term "clearing" (Clear) wordt nu het woord "deleting" (Delete) gebruikt in dergelijke acties, omdat het woord "clearing" door sommige gebruikers niet werd gezien als een teken van onomkeerbaar gegevensverlies.
- Bij het automatisch aanvullen van URL's wordt nu rekening gehouden met elk eerder gebruikt zoekwoord voor de website, en niet alleen met woorden die overeenkomen met het begin van het adres. Bijvoorbeeld, het automatisch aanvullen van het adres "https://www.google.com/travel/flights" werkt niet alleen bij het invoeren van het woord "google", maar ook bij het invoeren van "flights".

- Automatische correctie van typfouten bij het invoeren van een websiteadres is geïmplementeerd, en relevante suggesties worden weergegeven, waarbij rekening wordt gehouden met de websites die eerder door de huidige gebruiker zijn geopend. Bijvoorbeeld, bij het invoeren van "youutube" wordt aangeboden om YouTube.com te openen.

- De mogelijkheid om in de secties van bladwijzers te zoeken via de adresbalk is toegevoegd. Bijvoorbeeld, als je de naam van een bladwijzersectie invoert, zal Chrome links uit die sectie aanbieden die overeenkomen met het ingevoerde trefwoord. Bijvoorbeeld, bij het invoeren van "reizen 2023 New" worden links uit de bladwijzersectie "reizen 2023" aangeboden die gerelateerd zijn aan New York.

- Aanbevelingen voor populaire websites worden weergegeven, zelfs als de gebruiker deze eerder niet heeft bezocht of een fout heeft gemaakt bij het invoeren van de URL. Bijvoorbeeld, wanneer de gebruiker, terwijl hij de aanbeveling volgt om Google Earth te openen, begint te typen "googleear" zonder het exacte adres te weten, biedt de browser aan om naar de site earth.google.com te gaan.

- In Chrome voor desktopsystemen is de leesbaarheid van informatie in de adresbalk verbeterd en is de responsiviteit van de interface verhoogd — resultaten worden nu direct weergegeven na het begin van het typen in de adresbalk.
- In overeenstemming met de wijziging van de Fetch API-specificatie is het HTTP-header Authorization verwijderd bij omleiding naar een ander domein (cross origin).
- In de instellingen voor meldingen en locatiebepaling is een optie toegevoegd voor het inschakelen van de service voor het automatisch onderdrukken van verzoeken om machtigingen (Permission Suggestions Service). Er zijn de volgende modi beschikbaar:
- altijd verzoeken om machtigingen weergeven voor meldingen en toegang tot de locatie;
- automatisch spamverzoeken om machtigingen negeren met behulp van de Permission Suggestions Service;
- altijd alle verzoeken om meldingen negeren;
- altijd alle verzoeken om machtigingen voor meldingen en toegang tot de locatie blokkeren.
- In builds voor het Android-platform wordt bij het inschakelen van de standaard browserbeveiliging (Safe Browsing > Standaardbescherming) in realtime een veiligheidscontrole van geopende URL's uitgevoerd op basis van de verzending naar servers Google van gedeeltelijke hashes van de door de gebruiker geopende URL's. Om overeenstemming te voorkomen IP-adressen gebruikers en hash, gegevens worden verzonden via een tussenliggende proxy. Voorheen vond controle plaats door het uploaden van een lokale kopie van de lijst met onveilige URL's naar het systeem van de gebruiker. Het nieuwe schema maakt het mogelijk om schadelijke URL's sneller te blokkeren. Voor desktop-systemen was een dergelijke modus opgenomen in de vorige release.
- De escapes van niet-alfanumerieke karakters in de hostnaam bij het aanroepen van de URL-functie zijn in overeenstemming gebracht met de vernieuwde specificatie. Bijvoorbeeld, het aanroepen van de functie ‘URL(«http://exa(mple.com;»)’ gaf eerder ‘http://example.com/’, maar zal nu resulteren in de foutmelding » Ongeldige URL«.

- Voor alle eerder opgeslagen cookies is een levensduurbeperking toegepast, vergelijkbaar met die welke sinds de release van Chrome 104 wordt toegepast op nieuwe en bijgewerkte cookies. Voor bestaande cookies zal de levensduur worden ingekort tot 400 dagen na de publicatie van de release van Chrome 119.
- In CSS zijn nieuwe pseudo-klassen " :user-valid" en ":user-invalid" voorgesteld, die formulierelementen representeren waarvan de waarden wel of niet zijn gevalideerd. In tegenstelling tot ":valid" en ":invalid" worden de nieuwe pseudo-klassen pas geactiveerd na interactie van de gebruiker met het formulierelement.
- Bij het instellen van kleuren in CSS is het nu toegestaan om waarden te definiëren die zijn berekend ten opzichte van andere kleureigenschappen. Bijvoorbeeld, bij het opgeven van "oklab(from magenta calc(l * 0.8) a b)" zal een kleur worden verkregen die 80% lichter is dan paars.
- In de CSS-eigenschap clip-path, die het mogelijk maakt om de zichtbaarheid van een element tot een bepaalde regio te beperken, is ondersteuning voor de waarde toegevoegd om een willekeurige gebied voor het knippen op te geven. Tevens is de mogelijkheid verstrekt om functies xywh() en rect() te gebruiken voor een vereenvoudigde specificatie van rechthoekige of afgeronde gebieden.
- De ondersteuning voor de WebSQL API is uitgeschakeld, waarvoor het gebruik van de Web Storage API en Indexed Database wordt aanbevolen. De WebSQL-processor was gebaseerd op de code van de SQLite-bibliotheek. De WebSQL API werd niet ondersteund in andere browsers, was afhankelijk van de externe bibliotheek-API en verhoogde het risico op beveiligingsproblemen (WebSQL kon door aanvallers worden gebruikt om kwetsbaarheden in SQLite uit te buiten). Voor het behoud van ondersteuning voor WebSQL voor zakelijke gebruikers is het beleid WebSQLAccess behouden, dat in Chrome 123 zal worden verwijderd.
- De HTML Sanitizer API is tijdelijk verwijderd, waardoor elementen die de weergave en uitvoering via de setHTML()-methode beïnvloeden uit de inhoud kunnen worden geknipt. De API was ontwikkeld om HTML-tags te verwijderen die kunnen worden gebruikt voor XSS-aanvallen. De reden voor verwijdering is de onvoltooidheid van de specificatie, die sinds de toevoeging van de Sanitizer aan Chrome aanzienlijk is veranderd. De API zal worden teruggebracht zodra de specificatie gereed is.
- De niet-standaard attribuut shadowRoot is verwijderd, waarmee eigen elementen toegang kregen tot hun aparte wortel in de Shadow DOM, ongeacht de status. In plaats van shadowRoot werd in Chrome 111 het attribuut shadowRootMode voorgesteld, dat onderdeel is geworden van de webstandaard.
- De implementatie van het HTML-element «», dat lijkt op «iframe» en ook externe inhoud op de pagina kan insluiten, is verbeterd. De verschillen hebben betrekking op de beperking van de interactie tussen de ingesloten inhoud en de pagina-inhoud op het niveau van de DOM en attributen. Bijvoorbeeld, de pagina news.example, waarin via fencedframe een block met reclame is ingesloten dat van de website shoes.example wordt geladen, kan geen toegang krijgen tot gegevens van shoes.example, en omgekeerd kan de code van shoes.example geen gegevens ophalen die verband houden met news.example. In de nieuwe versie is ondersteuning toegevoegd voor de in de API Protected Audience verschenen macro's voor het formaat van het reclameblok, bijvoorbeeld «https://ad.com?width={/_WIDTH%}&height={/_HEIGHT%}».
- De parameter monitorTypeSurfaces is toegevoegd aan de methode getDisplayMedia(), die kan worden gebruikt om het delen van het volledige scherm te verbieden.
- De experimentele (origin trial) parameter fullscreen is toegevoegd aan de methode window.open(), waarmee een venster direct in de volledig schermmodus kan worden geopend.
- In de API AudioEncoderConfig is de vlag «bitrateMode» toegevoegd om te kiezen tussen constante (constant) en variabele (variable) bitrate.
- In TLS is implemented a Key Encapsulation Mechanism (KEM), using the hybrid algorithm X25519Kyber768, resilient to brute-force attacks on quantum computers. For generating session keys used for encrypting data within TLS connections, a combination of the key exchange mechanism X25519, based on elliptic curves and currently used in TLS, and the Kyber-768 algorithm, which employs techniques from lattice-based cryptography, can now be employed. The solution time remains consistent on both classical and quantum computers.
- Support for the WasmGC extension, simplifying the porting of programs written in garbage-collected programming languages (such as Kotlin, PHP, Java, etc.) to WebAssembly, is enabled by default. WasmGC adds new types of structures and arrays for which non-linear memory allocation can be applied.
- Improvements have been made to the tools for web developers. The ability to edit CSS rules with ‘@property’ has been added, along with warnings for incorrect definitions. The list of emulated devices has been updated (for example, iPhone 14 and Pixel 7 have been added). Autocomplete for private fields is now implemented in the web console. JSON data within blocks is now formatted.

In addition to new features and bug fixes, the new version addresses 15 vulnerabilities. Many of these vulnerabilities were identified through automated testing using tools like AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer, and AFL. No critical issues allowing bypassing all browser security layers and executing code in the system outside of the sandbox environment have been found. Under the vulnerability reward program, Google has paid out 13 rewards totaling $40.5 thousand (including one reward of $16,000, $11,000, $2,000, and $500, three rewards of $3,000, and two rewards of $1,000). The amount for four rewards has yet to be determined.
Bron: opennet.ru






