Udgivelsen af Chrome 94

Google har introduceret udgivelsen af webbrowseren Chrome 94. Samtidig er en stabil version af det frie projekt Chromium tilgængelig, som danner grundlag for Chrome. Chrome-browseren adskiller sig ved brugen af Google-logoer, indsendelse af meddelelser i tilfælde af nedbrud, moduler til afspilning af beskyttede videoinhold (DRM), automatisk opdatering samt overførsel af RLZ-parametre under søgning. Den næste udgivelse af Chrome, version 95, er planlagt til den 19. oktober.

Fra udgivelsen af Chrome 94 er udviklingen overgået til en ny cyklus for udgivelseforberedelse. Store nye versioner vil nu blive offentliggjort hver fjerde uge i stedet for hver sjette uge, hvilket vil fremskynde udrulningen af nye funktioner til brugerne. Der er bemærket, at optimeringen af udgivelsesprocessen og forbedringen af testsystemet gør det muligt at udgive versioner oftere uden at gå på kompromis med kvaliteten. For virksomheder og dem, der har brug for mere tid til opdateringer, vil der hver ottende uge blive udgivet en Extended Stable-version, som muliggør opgradering til nye funktionsudgivelser hver ottende uge i stedet for hver fjerde uge.

Vigtige ændringer i Chrome 94:

  • Der er tilføjet en HTTPS-First-tilstand, som ligner den, der tidligere dukkede op i Firefox under navnet HTTPS Only. Hvis tilstanden aktiveres i indstillingerne, vil browseren i første omgang forsøge at tilgå et ressourcested via HTTPS, når brugeren forsøger at åbne en ikke-krypteret HTTP-side. Hvis dette mislykkes, vil brugeren få vist en advarsel om manglende understøttelse af HTTPS og få mulighed for at åbne siden uden kryptering. I fremtiden overvejer Google at aktivere HTTPS-First som standard for alle brugere, begrænse adgangen til visse webplatformsfunktioner for sider, der åbnes via HTTP, samt tilføje yderligere advarsler, der informerer brugerne om de trusler, der opstår ved at tilgå ukrypterede sider. Tilstanden aktiveres i indstillingsafsnittet "Privatliv og sikkerhed" > "Sikkerhed" > "Avanceret".
    Udgivelsen af Chrome 94
  • For sider, der åbnes uden HTTPS, er det forbudt at sende anmodninger (indlæse ressourcer) til lokale URL'er (f.eks. "http://router.local" og localhost) og interne adresser (127.0.0.0/8, 192.168.0.0/16, 10.0.0.0/8 osv.). Der er kun lavet undtagelser for sider, der er indlæst med servere, som har interne IP. For eksempel kan en side, der er indlæst fra server 1.2.3.4 få adgang til ressourcen placeret på IP 192.168.0.1 eller IP 127.0.0.1, mens en side indlæst fra server 192.168.1.1 vil kunne. Ændringen introducerer et ekstra beskyttelsesniveau mod udnyttelse af sårbarheder i håndterere, der modtager anmodninger om lokale IP'er, og vil også beskytte mod "DNS rebinding"-angreb.
  • Der er tilføjet en funktion kaldet "Sharing Hub", som gør det nemt at dele et link til den nuværende side med andre brugere. Der er mulighed for at generere en QR-kode med URL'en, gemme siden, sende linket til en anden enhed knyttet til brugerens konto, samt dele linket med tredjepartswebsteder som Facebook, WhatsApp, Twitter og VK. Muligheden er dog ikke tilgængelig for alle brugere endnu. For at tvinge aktiveringen af knappen "Share" i menuen og adresselinjen kan man bruge indstillingerne "chrome://flags/#sharing-hub-desktop-app-menu" og "chrome://flags/#sharing-hub-desktop-omnibox".
    Udgivelsen af Chrome 94
  • Der er gennemført en omstrukturering i browserens indstillingsinterface. Hver sektion af indstillinger vises nu på en separat side i stedet for på en samlet side.
    Udgivelsen af Chrome 94
  • Der er implementeret støtte til dynamisk opdatering af loggen for udstedte og tilbagekaldte certifikater (Certificate Transparency), som nu vil blive opdateret uden at være knyttet til browseropdateringen.
  • Der er tilføjet en informationsside "chrome://whats-new" med en oversigt over de synlige ændringer for brugerne i den nye version. Siden vises automatisk umiddelbart efter opdateringen eller kan tilgås via knappen "Hvad er nyt" i menuen Hjælp. I øjeblikket er der nævnt tab-søgning, muligheden for at opdele profiler og funktionen til at ændre baggrundsfarve på siden, som ikke er specifik for Chrome 94 og dukkede op i tidligere versioner. Visningen af siden er dog ikke aktiveret for alle brugere: kontrol af aktiveringen kan foretages via indstillingerne "chrome://flags#chrome-whats-new-ui" og "chrome://flags#chrome-whats-new-in-main-menu-new-badge".
    Udgivelsen af Chrome 94
  • Adgang til WebSQL API fra indhold, der indlæses fra tredjepartswebsteder (f.eks. via iframe), er blevet erklæret forældet. I Chrome 94 vises en advarsel, hvis man forsøger at tilgå WebSQL fra tredjepartsscripts, men fra og med Chrome 97 vil sådanne opkald blive blokeret. I fremtiden planlægges det gradvist at stoppe al støtte til WebSQL, uanset brugskonteksten. WebSQL-handshandleren er baseret på SQLite-kode og kunne være blevet udnyttet af ondsindede aktører til at udnytte sårbarheder i SQLite.
  • Af hensyn til sikkerheden og for at forhindre ondsindet aktivitet er brugen af den forældede MK-protokol (URL:MK), som engang blev anvendt i Internet Explorer og gjorde det muligt for webapplikationer at udtrække oplysninger fra komprimerede filer, begyndt at blive blokeret.
  • Støtten til synkronisering med ældre versioner af Chrome (Chrome 48 og ældre) er blevet afbrudt.
  • HTTP-headeren Permissions-Policy, der er designet til at aktivere bestemte funktioner og styre adgangen til API'er, har fået tilføjet støtte til flaget 'display-capture', som gør det muligt at styre brugen af Screen Capture API på siden (som standard blokeres muligheden for at fange skærminhold fra eksterne iframes).
  • I Origin Trials (eksperimentelle funktioner, der kræver separat aktivering) er der tilføjet flere nye API'er. Origin Trial indebærer muligheden for at arbejde med den angivne API fra applikationer, der er indlæst fra localhost eller 127.0.0.1, eller efter tilmelding og modtagelse af et særligt token, der er gyldigt i en begrænset periode for et specifikt websted.
    • WebGPU API er blevet tilføjet som en afløser for WebGL API og giver midler til at udføre operationer på GPU, såsom rendering og beregninger. Konceptuelt er WebGPU tæt på API'erne Vulkan, Metal og Direct3D 12. WebGPU adskiller sig fra WebGL på omtrent samme måde, som grafisk API Vulkan adskiller sig fra OpenGL, men er ikke baseret på et specifikt grafisk API, men fungerer som et generelt lag, der bruger de samme lavniveauprimitiver, der findes i Vulkan, Metal og Direct3D 12.

      WebGPU giver JavaScript-applikationer midler til lavniveau kontrol over organisation, behandling og overførsel af kommandoer til GPU'en, samt muliggør styring af relaterede ressourcer, hukommelse, buffere, teksturobjekter og kompilerede grafiske shadere. Denne tilgang muliggør højere ydeevne for grafiske applikationer ved at reducere overhead og forbedre effektiviteten af GPU-arbejdet. API'et muliggør også oprettelsen af komplekse 3D-projekter til web, der fungerer lige så godt som selvstændige programmer, men som ikke er bundet til specifikke platforme.

    • For isolerede PWA-applikationer er der implementeret muligheden for at registrere dem som URL-håndterere. For eksempel kan applikationen music.example.com registrere sig som håndterer af URL'en https://*.music.example.com, og alle overgange fra eksterne applikationer via disse links, for eksempel fra besked- og e-mail-kunder, vil åbne denne PWA-applikation i stedet for en ny fane i browseren.
    • Der er implementeret support for den nye HTTP-statuskode 103, som kan bruges til præventiv udledning af overskrifter. Koden 103 gør det muligt at informere klienten om indholdet af nogle HTTP-overskrifter umiddelbart efter anmodningen, uden at vente på at serveren udfører alle operationer relateret til anmodningen og begynder at returnere indholdet. På denne måde kan man give hints om relaterede elementer til den side, der returneres, som kan blive forhåndsindlæst (for eksempel links til de CSS- og JavaScript-filer, der bruges på siden). Når browseren modtager oplysninger om sådanne ressourcer, kan den begynde at indlæse dem, uden at vente på, at den hovedsagelige side er færdigbehandlet, hvilket reducerer den samlede tid til behandling af anmodningen.
  • API'en WebCodecs er blevet tilføjet til manipulation af multimediestrømme på lavere niveau, som supplerer de højere niveau API'er HTMLMediaElement, Media Source Extensions, WebAudio, MediaRecorder og WebRTC. Den nye API kan vise sig at være efterspurgt i områder som spilstreaming, anvendelse af effekter på klientsiden, genkodning af streams og support for ikke-standard multimediekontainere. I stedet for at implementere individuelle codec'er i JavaScript eller WebAssembly, giver API'en WebCodecs adgang til færdige, højtydende komponenter integreret i browseren. Især indeholder API'en WebCodecs decoders og encoders til lyd og video, billeddecoders og funktioner til lavniveauhåndtering af individuelle videobilleder.
  • API'en Insertable Streams er blevet stabiliseret, som giver mulighed for at manipulere rå multimediestrømme, der overføres via API MediaStreamTrack, såsom data fra kamera og mikrofon, skærmoptagelsesresultater eller mellemliggende data fra codec dekodning. Rå billeder repræsenteres ved hjælp af WebCodec-grænseflader, hvorefter der dannes en strøm, som svarer til den, som API WebRTC Insertable Streams genererer på grundlag af RTCPeerConnections. Praktisk set giver den nye API mulighed for funktionalitet som anvendelse af maskinlæringsmetoder til identifikation eller annotering af objekter i realtid, eller til at tilføje effekter såsom baggrundsudskæring før kodning eller efter dekodning af codec.
  • Metoden scheduler.postTask er blevet stabiliseret, hvilket giver mulighed for at styre planlægningen af udførelsen af opgaver (callback-opkald i JavaScript) med forskellige prioriteringsniveauer. Der tilbydes tre prioriteringsniveauer: 1 - udførelse først, selvom det kan blokere brugeroperationer; 2 - synlige ændringer er tilladt for brugeren; 3 - udførelse i baggrunden. For at ændre prioritet og annullere opgaver kan TaskController-objektet bruges.
  • API Idle Detection, som nu er stabiliseret og udvidet uden for Origin Trials, bestemmer brugerens inaktivitet. API'et gør det muligt at bestemme, hvornår brugeren ikke interagerer med tastaturet/musen, når skærmskærmen er aktiveret, skærmen er låst, eller arbejde udføres på en anden skærm. Applikationen informeres om inaktivitet ved at sende en meddelelse, når den angivne inaktivitetsgrænse er nået.
  • Processen for farvestyring i objekterne CanvasRenderingContext2D og ImageData er blevet formaliseret, og brugen af farverummet sRGB er nu implementeret. Der er mulighed for at oprette objekter CanvasRenderingContext2D og ImageData i farverum, der adskiller sig fra sRGB, såsom Display P3, for at udnytte de udvidede funktioner i moderne skærme.
  • I API VirtualKeyboard er der tilføjet metoder og egenskaber til at styre visningen og skjulingen af det virtuelle tastatur samt til at få information om størrelsen af det viste virtuelle tastatur.
  • I JavaScript for klasser er muligheden for at anvende statiske initialiseringsblokke blevet givet for at gruppere kode, der udføres én gang ved behandling af klassen: class C { // Blokken vil blive udført ved behandlingen af selve klassen static { console.log("C’s static block"); } }
  • I CSS-egenskaberne flex-basis og flex er nøgleordene content, min-content, max-content og fit-content blevet implementeret for en mere fleksibel kontrol over størrelsen af hovedområdet i Flexbox.
  • CSS-egenskaben scrollbar-gutter er blevet tilføjet for at styre reservationen af skærmplads til rullefeltet. For eksempel, når der ikke er behov for at rulle indholdet, kan outputtet udvides og optage rullefeltets område.
  • Self Profiling API er blevet tilføjet med implementeringen af et profileringssystem, der muliggør måling af den tid, det tager at udføre JavaScript på klientsiden for at debugge præstationsproblemer i JavaScript-koden, uden at det kræver manuelle manipulationer i webudviklergrænsefladen.
  • Efter fjernelsen af Flash-pluginet blev det besluttet at returnere tomme værdier i egenskaberne navigator.plugins og navigator.mimeTypes, men det viste sig, at nogle applikationer brugte dem til at tjekke for plugins til visning af PDF-filer. Da Chrome har en indbygget PDF-viser, vil egenskaberne navigator.plugins og navigator.mimeTypes fremover returnere en fast liste over standardplugins og MIME-typer til visning af PDF: "PDF Viewer, Chrome PDF Viewer, Chromium PDF Viewer, Microsoft Edge PDF Viewer og WebKit built-in PDF."
  • Der er lavet forbedringer i værktøjerne til webudviklere. Til listen over simulation af skærme er enhederne Nest Hub og Nest Hub Max blevet tilføjet. I netværksaktivitet inspektionsvinduet er der tilføjet en knap til at invertere filtre (for eksempel, når man indstiller filteret "status-code: 404", kan man hurtigt se alle andre anmodninger), og der er også givet mulighed for at se de oprindelige værdier af Set-Cookie-headerne (giver mulighed for at vurdere om der er unormale værdier, som fjernes under normalisering). Sidepanelet i webkonsollen er blevet erklæret forældet og vil blive fjernet i en af de kommende versioner. En eksperimentel funktion til at skjule problemer i fanen Issues er blevet tilføjet. I indstillingerne er muligheden for at vælge interface-sproget blevet tilføjet.
    Udgivelsen af Chrome 94

Udover de nye funktioner og fejlrettelser er der i den nye version blevet rettet 19 sårbarheder. Mange af sårbarhederne blev identificeret ved hjælp af automatiserede testværktøjer såsom AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer og AFL. Der blev ikke identificeret kritiske problemer, der kunne omgå alle lag af browserbeskyttelse og udføre kode i systemet uden for sandbox-miljøet. Som en del af programmet for økonomisk belønning for opdagelse af sårbarheder har Google udbetalt 17 præmier på i alt 56500 USD (én præmie på $15000, to præmier på $10000, én præmie på $7500, fire præmier på $3000 og to præmier på $1000). Størrelsen på 7 præmier er endnu ikke fastsat.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster