Google har udgivet en ny version af webbrowseren Chrome 129. Samtidig er en stabil version af det åbne projekt Chromium tilgængelig, som danner grundlag for Chrome. Browseren Chrome adskiller sig fra Chromium ved at bruge Googles logotyper, have et system til at sende meddelelser i tilfælde af nedbrud, moduler til afspilning af beskyttet videoinhold (DRM), et automatisk opdateringssystem, konstant aktiveret Sandbox-isolering, levering af nøgler til Google API og overførsel af RLZ-parametre ved søgning. For dem, der har brug for mere tid til opdatering, understøttes en særskilt Extended Stable-gren, som varetagers i 8 uger. Den næste Chrome-version 130 er planlagt til den 15. oktober.
De vigtigste ændringer i Chrome 129:
- Der er tilføjet mulighed for at tilpasse indholdet i værktøjslinjen, hvilket giver brugeren mulighed for at fastgøre, løsne og bytte om på ikoner ved hjælp af en konfiguration, der vises i sidepanelet. For eksempel kan man placere knapper på linjen til at åbne udviklergrænsefladen, rydde browserens aktivitetsdata, åbne læsemodus, skifte til opgavehåndtereren, skifte til password manageren osv. For at styre aktiveringen af fastgørelse af ikoner er der tilføjet parameteren "chrome://flags/#toolbar-pinning".

- Funktionen til sammenligning af faner er foreslået, hvilket gør det muligt at bruge elementer fra maskinlæring til at generere en sammenlignende oversigt over produkter, hvis sider er åbne i forskellige faner. Muligheden er kun tilgængelig for brugere i USA lige nu.

- I Android-versionen er der implementeret flytning af inaktive faner til en separat sektion (Inactive Tabs) i faneskiftgrænsefladen. Der er mulighed for at se alle gamle faner og lukke dem samtidig. Som standard er den nye funktion aktiveret for 1% af brugerne. Faner slettes automatisk efter at have været i sektionen Inactive Tabs i mere end 60 dage.
- Der er tilføjet en eksperimentel tilstand for procesdelning, hvor der for forskellige faner, der har den samme hjemmeside åben, anvendes en fælles renderingsproces i stedet for separate processer. Ændringen gør det muligt at fremskynde indlæsningen af sider og reducere hukommelsesforbruget. For at aktivere tilstanden er der tilføjet en indstilling "chrome://flags/#enable-process-per-site-up-to-main-frame-threshold".
- Der er tilføjet mulighed for at give websteder midlertidige tilladelser, som kun gælder for rammerne i den nuværende session (f.eks. kan der gives adgang til kamera og mikrofon, hvilket vil være gældende indtil fanen lukkes eller skifter til et andet websted).
- Støtten til macOS 10.15 er blevet ophævet, da Apple stoppede supporten for denne version i 2022.
- Der er implementeret et nyt grænseflade til styring af certifikater i konfigureringsværktøjet for Windows- og macOS-platforme (tidligere blev systemgrænseflader til certifikatstyring kaldt på disse platforme).
- Adgangen til IP 0.0.0.0 er blevet blokeret for at forhindre angreb på lokale tjenester.
- Der er annonceret en kommende ændring i TLS nøgleudvekslingsalgoritmen fra Kyber768+X25519 til ML-KEM768+X25519 (den nyligt vedtagne standard ML-KEM er baseret på den post-kvante algorithm Kyber, men er ikke helt kompatibel med dens tidligere implementering).
- Der er tilføjet en metode "scheduler.yield()" i API Scheduler, som gør det muligt at returnere kontrol til hovedtråden i browseren i et stykke tid under udførelsen af langvarige opgaver. Dette gør det muligt at sætte den nuværende langvarige opgave på pause for at udføre vigtige opgaver, såsom behandling af input og rendering af billeder. Ideen er at opdele langvarige opgaver i mindre dele, og periodisk returnere kontrol til hovedtråden ved at kalde "await scheduler.yield();" i koden, hvilket hjælper med at reducere den negative indflydelse af langvarige opgaver på hjemmesidens responsivitet.

- CSS-egenskaben "interpolate-size" er blevet tilføjet, hvilket gør det muligt at vælge animationsstørrelse ikke i absolutte værdier, men forholdsmæssigt i forhold til værdier beregnet ved hjælp af egenskaberne auto, min-content eller fit-content. For mere præcis kontrol over størrelsen er der tilbudt en CSS-funktion calc-size(), som ligner calc(), men understøtter operationer med den faktiske størrelse af elementer, der ændres baseret på indhold.
- Der er foretaget ændringer i CSS-egenskaber til styring af visningen af elementer, der er afhængige af placeringen af andre elementer (CSS Anchor Positioning), uden brug af JavaScript, for eksempel til fastgørelse til elementer med popups, der vises ligesom tooltips. I overensstemmelse med anbefalingen fra arbejdsgruppen, der beskæftiger sig med standardisering af CSS, er CSS-egenskaben "inset-area" omdøbt til "position-area", egenskaben "position-try-options" er omdøbt til "position-try-fallbacks", og i egenskaben "position-try" er kravet om at angive inset-area() blevet fjernet, dvs. i stedet for "position-try-fallbacks: inset-area(top)" skal man skrive "position-try-fallbacks: top".
- Der er tilføjet en metode til API'en Intl kaldet Intl.DurationFormat til formatering af data om varighed i tid, under hensyntagen til den valgte lokalitet. For eksempel: const l = "da-DK"; const d = {hours: 1, minutes: 46, seconds: 40}; const opts = {style: "long"}; new Intl.DurationFormat(l, opts).format(d); // "1 time, 46 minutter, 40 sekunder"
- I Web GPU API'en er det blevet muligt at bruge hele lysstyrkeområdet, som understøttes af skærmen, ved udgangen af HDR-billeder.
- I WebRTC API'en er der tilføjet support til at sende blobs via metoden RTCDataChannel.send(Blob) og modtage data af typen Blob ved behandling af onMessage-begivenheden, hvis attributten "binaryType" har værdien "blob" (tidligere blev kun strenge og ArrayBuffer understøttet). Blob-størrelsen er begrænset til maxMessageSize.
- I WebAuthn API'en er der tilføjet metoderne PublicKeyCredential.toJSON(), parseCreationOptionsFromJSON() og parseRequestOptionsFromJSON() til serialisering/deserialisering af WebAuthn-svar ved hjælp af JSON-format.
- I 'Origin trials'-tilstand er der implementeret API'en FileSystemObserver, der gør det muligt for websteder at overvåge ændringer i filer og kataloger.
- I 'Origin trials'-tilstand er der tilføjet API'en Mesh2D Canvas til visualisering af et stort antal teksturerede trekanter. Blandt anvendelsesområderne for API'en nævnes implementering af avancerede metoder til tekstur mapping og skabelse af deformeringseffekter i et to-dimensionelt kontekst.
- Mulighederne for værktøjer til webudviklere er blevet udvidet.
Udover nye funktioner og fejlrettelser er 9 sårbarheder blevet rettet i den nye version. Mange af disse sårbarheder blev identificeret gennem automatiseret testning med værktøjerne AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer og AFL. Én af problemerne er vurderet til at have høj fare (forkert typebehandling i V8-motoren). Der er ikke fundet kritiske problemer, der kan omgå alle niveauer af browserbeskyttelse og udføre kode i systemet uden for sandbox-miljøet. Som led i programmet for udbetaling af belønninger for opdagelse af sårbarheder har Google udbetalt 5 præmier på i alt 13.000 USD for denne version (én præmie på 8.000 USD og én på 2.000 USD samt tre præmier på 1.000 USD hver). Beløbet for hver belønning er endnu ikke fastsat.
Kilde: opennet.ru



