Google har udgivet webbrowseren Chrome 106. Samtidig er en stabil udgave af det gratis Chromium-projekt, som er grundlaget for Chrome, tilgængelig. Chrome-browseren adskiller sig fra Chromium ved, at den bruger Google-logoer, har et system til at sende notifikationer i tilfælde af et nedbrud, har moduler til afspilning af kopibeskyttet videoindhold (DRM), har et automatisk opdateringsinstallationssystem, altid aktiverer Sandbox-isolering, leverer nøgler til Google API'en og overfører RLZ-parametre under søgning. For dem, der har brug for mere tid til at opdatere, er der en separat Extended Stable-gren, som understøttes i 8 uger. Den næste udgivelse, Chrome 107, er planlagt til den 25. oktober.
Vigtigste ændringer i Chrome 106:
- For desktopbrugere er Prerender2 som standard aktiveret til at forudvise indholdet af anbefalinger i Omnibox-adresselinjen. Præemptiv gengivelse supplerer den tidligere tilgængelige mulighed for at indlæse de mest sandsynlige anbefalinger, der skal følges, uden at vente på et brugerklik. Ud over indlæsning kan indholdet af sider, der er knyttet til anbefalinger, nu gengives i en buffer (inklusive udførelse af scripts og opbygning af DOM-træet), hvilket gør det muligt at vise anbefalinger umiddelbart efter et klik.
- Muligheden for at søge i historik, bogmærker og faner direkte fra adresselinjen i Omnibox er nu tilgængelig. For at lokalisere søgningen foreslås kontroltaggene @history, @bookmarks og @tabs. For eksempel, for at søge efter bogmærker, skal du indtaste "@bogmærker søgefrase". For at deaktivere søgning fra adresselinjen er der en særlig mulighed i søgeindstillingerne.


- Understøttelse af Server Push-teknologi, som er defineret i HTTP/2- og HTTP/3-standarderne og tillader server Send ressourcer til klienten uden at vente på en eksplicit anmodning. Den anførte årsag til at ophøre med support er den unødvendige kompleksitet af teknologiens implementering, givet tilgængeligheden af enklere og lige så effektive alternativer, såsom tagget. , HTTP-svar 103 og WebTransport-protokollen. Ifølge Google-statistikker brugte cirka 1.25 % af de websteder, der kørte på HTTP/2, Server Push i 2021, og i 2022 faldt dette tal til 0.7 %. Server Push-teknologi findes også i HTTP/3-specifikationen, men i praksis implementerede mange server- og klientsoftwareprodukter, herunder Chrome-browseren, den ikke i første omgang.
- Deaktiverede muligheden for at bruge ikke-ASCII-tegn i domæner angivet i cookieheaderen (for IDN-domæner skal du angive domæner (i punycode-format). Denne ændring bringer browseren i overensstemmelse med RFC 6265bis og den funktionsmåde, der er implementeret i Firefox.
- Tydeligere etiketter foreslås for at identificere skærme i konfigurationer med flere skærme. Lignende etiketter kan vises i tilladelsesdialogbokse til at åbne et vindue på en ekstern skærm. For eksempel vil skærmens modelnavn ('HP Z1n') nu blive vist i stedet for nummeret på den eksterne skærm ('Ekstern skærm 27').
- Forbedringer i versionen til Android:
- Siden med browserhistorik understøtter nu "Rejse"-mekanismen, som opsummerer tidligere aktivitet ved at gruppere oplysninger om tidligere udførte søgeforespørgsler og viste sider. Når du indtaster nøgleord i adresselinjen, og hvis de tidligere er blevet brugt i forespørgsler, bliver du tilbudt at fortsætte søgningen fra den afbrudte position.
- På enheder med platformen Android 11 giver dig nu mulighed for at blokere en side, der er åbnet i inkognitotilstand, efter du har skiftet til en anden app. Genoptagelse af browsing efter blokering kræver godkendelse. Blokering er som standard deaktiveret og skal være aktiveret i privatlivsindstillingerne.
- Når du forsøger at downloade filer fra inkognitotilstand, vises en yderligere bekræftelsesanmodning om at gemme filen og en advarsel om, at den downloadede fil vil være synlig for andre brugere af enheden, da den gemmes i downloadhåndteringsområdet.

- chrome.runtime API'en er blevet udfaset for alle websteder. Denne API er nu kun tilgængelig via browsertilføjelser, der er integreret i den. Tidligere var chrome.runtime tilgængelig for alle websteder, fordi den blev brugt af det indbyggede CryptoToken-tilføjelsesprogram med U2F API-implementeringen, som ikke længere understøttes.
- Adskillige nye API'er er blevet tilføjet til tilstanden Origin Trials (eksperimentelle funktioner, der kræver separat aktivering). Origin Trial indebærer evnen til at arbejde med den specificerede API fra applikationer downloadet fra localhost eller 127.0.0.1, eller efter registrering og modtagelse af et særligt token, der er gyldigt i en begrænset periode for et specifikt websted.
- Konceptet med anonyme iframes, som tillader, at et dokument indlæses i en separat kontekst, uafhængigt af andre iframes og hoveddokumentet.
- Pop-up API'en bruges til at organisere visningen af grænsefladeelementer oven på andre elementer, for eksempel til at organisere arbejdet med interaktive menuer, værktøjstip, værktøjer til indholdsvalg og uddannelsessystemer. For at vise et element på det øverste lag bruges en ny attribut "popup". I modsætning til dialoger oprettet ved hjælp af elementet Den nye API giver dig mulighed for at oprette modelløse dialoger, håndtere begivenheder, bruge animation og oprette fleksible popup-kontroller.
- Egenskaberne 'grid-template-columns' og 'grid-template-rows', der bruges i CSS Grid, understøtter nu interpolation for at muliggøre jævne overgange mellem forskellige gittertilstande.
- CSS-egenskaben 'forced-color-adjust' er blevet opdateret til at understøtte værdien 'preserve-parent-color', som får egenskaben 'color' til at hente sin værdi fra det overordnede element.
- Egenskaben "-webkit-hyphenate-character" har fået fjernet præfikset "-webkit-" og er nu tilgængelig under navnet "hyphenate-character". Den angivne egenskab kan bruges til at indstille den streng, der bruges i stedet for ordskiftetegnet ("-").
- Den tredje udgave af Intl.NumberFormat API'en er blevet implementeret, og den inkluderer nye funktioner formatRange(), formatRangeToParts() og selectRange(), gruppering af sæt, nye afrundings- og præcisionsindstillinger samt muligheden for at fortolke strenge som decimaltal.
- ReadableStream API'en er blevet opdateret for at understøtte effektiv direkte overførsel af binære data fra serielporten, hvilket omgår interne køer og buffere. Direkte listefunktion aktiveres ved at indstille BYOB-tilstanden — “port.readable.getReader({ mode: 'byob' })”.
- Lyd- og video-API'erne (AudioDecoder, AudioEncoder, VideoDecoder og VideoEncoder) understøtter nu "dequeue"-hændelsen og tilhørende callbacks, der udløses, når codec'en begynder at udføre kodnings- eller afkodningsopgaver for indhold i kø.
- WebXR Device API implementerer muligheden for at give rå adgang til kamerabilledteksturer synkroniseret med den aktuelle position i det virtuelle miljø.
- Der er foretaget forbedringer af værktøjer til webudviklere. Kildepanelet har nu mulighed for at gruppere filer efter kilde. Forbedret staksporing til asynkrone operationer. Det er nu muligt automatisk at ignorere kendte tredjepartsscripts ved fejlfinding. Tilføjet muligheden for at skjule ignorerede filer i menuer og paneler. Forbedret arbejde med kaldstakken i debuggeren.

Et nyt interaktionsspor er blevet tilføjet til panelet Ydelse for at visualisere sideinteraktioner og identificere potentielle problemer med responsiviteten.

Udover innovationer og fejlrettelser eliminerer den nye version 20 sårbarheder. Mange af sårbarhederne blev identificeret gennem automatiseret testning ved hjælp af værktøjerne AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer og AFL. Der er ikke identificeret kritiske problemer, der ville tillade omgåelse af alle niveauer af browserbeskyttelse og udførelse af kode i systemet uden for sandkassemiljøet. Som en del af bug bounty-programmet for den nuværende udgivelse har Google uddelt 16 dusører på i alt $38500 (én dusør på $9000, $7500, $7000, $5000, $4000, $3000, $2000 og $1000). Størrelsen på de otte belønninger er endnu ikke fastsat.
Kilde: opennet.ru
