Wydanie Chrome 94

Firma Google zaprezentowała wydanie przeglądarki internetowej Chrome 94. Jednocześnie dostępna jest stabilna wersja wolnego projektu Chromium, który stanowi podstawę Chrome. Przeglądarka Chrome charakteryzuje się używaniem logo Google, systemem wysyłania powiadomień w przypadku awarii, modułami do odtwarzania chronionych treści wideo (DRM), systemem automatycznej instalacji aktualizacji oraz przekazywaniem parametrów RLZ w trakcie wyszukiwania. Kolejne wydanie Chrome 95 zaplanowane jest na 19 października.

Od wydania Chrome 94 rozwój został przeniesiony na nowy cykl przygotowywania wydań. Nowe znaczące wersje będą odtąd publikowane co 4 tygodnie, a nie co 6 tygodni, co pozwoli przyspieszyć wprowadzenie nowych możliwości dla użytkowników. Zauważono, że optymalizacja procesu przygotowywania wydań oraz poprawa systemu testowania pozwala na częstsze tworzenie wydań bez uszczerbku dla jakości. Dla przedsiębiorstw oraz dla tych, którzy potrzebują więcej czasu na aktualizację, co 8 tygodni osobno będzie wydawana edycja Extended Stable, która umożliwi przechodzenie na nowe funkcjonalne wersje nie co 4 tygodnie, a co 8 tygodni.

Główne zmiany w Chrome 94:

  • Dodano tryb HTTPS-First, który przypomina wcześniejszy tryb HTTPS Only w Firefoxie. Jeśli tryb jest aktywowany w ustawieniach, przy próbie otwarcia zasobu bez szyfrowania przez HTTP, przeglądarka najpierw spróbuje połączyć się z witryną przez HTTPS, a jeśli to się nie powiedzie, użytkownik otrzyma ostrzeżenie o braku wsparcia dla HTTPS i zaproszenie do otwarcia witryny bez szyfrowania. W przyszłości Google rozważa wprowadzenie trybu HTTPS-First jako domyślnego dla wszystkich użytkowników, ograniczenie dostępu do niektórych funkcji platformy webowej dla stron otwartych przez HTTP oraz dodanie dodatkowych ostrzeżeń informujących użytkowników o zagrożeniach związanych z dostępem do stron bez szyfrowania. Tryb ten można włączyć w sekcji ustawień „Prywatność i bezpieczeństwo” > „Bezpieczeństwo” > „Dodatkowe”.
    Wydanie Chrome 94
  • Dla stron otwartych bez HTTPS, zabronione jest wysyłanie zapytań (ładowanie zasobów) do lokalnych adresów URL (np. „http://router.local” i localhost) oraz wewnętrznych zakresów adresów (127.0.0.0/8, 192.168.0.0/16, 10.0.0.0/8 itd.). Wyjątek zrobiono tylko dla stron, które zostały załadowane z serwerów, mających wewnętrzne IP. Na przykład strona załadowana z serwera 1.2.3.4 będzie mogło uzyskać dostęp do zasobu umieszczonego na IP 192.168.0.1 lub IP 127.0.0.1, a strona załadowana z serwera 192.168.1.1 — będzie mogła. Zmiana ta wprowadza dodatkowy poziom ochrony przed wykorzystaniem luk w zabezpieczeniach w obsłudze, która przyjmuje zapytania na lokalnych IP, a także pozwoli na ochronę przed atakami typu „DNS rebinding”.
  • Dodano funkcję „Sharing Hub”, która pozwala szybko podzielić się z innymi użytkownikami linkiem do bieżącej strony. Umożliwia generowanie kodu QR z URL, zapisanie strony, wysłanie linku do innego urządzenia powiązanego z kontem użytkownika oraz przesyłanie linku na inne strony, takie jak Facebook, WhatsApp, Twitter i VK. Możliwość ta obecnie nie jest dostępna dla wszystkich użytkowników. Aby wymusić włączenie przycisku „Share” w menu i pasku adresu, można użyć ustawień „chrome://flags/#sharing-hub-desktop-app-menu” i „chrome://flags/#sharing-hub-desktop-omnibox”.
    Wydanie Chrome 94
  • Wprowadzono restrukturyzację interfejsu ustawień przeglądarki. Każda sekcja ustawień jest teraz wyświetlana na osobnej stronie, a nie na jednej wspólnej.
    Wydanie Chrome 94
  • Zrealizowano wsparcie dla dynamicznego aktualizowania loga wydanych i unieważnionych certyfikatów (Certificate Transparency), które teraz będzie się aktualizować niezależnie od aktualizacji przeglądarki.
  • Dodano jest narzędzie systemowe „chrome://whats-new”, które zawiera przegląd widocznych dla użytkownika zmian w nowym wydaniu. Strona ta wyświetla się automatycznie po aktualizacji lub jest dostępna poprzez przycisk „Co nowego” w menu Pomoc. W chwili obecnej strona wspomina o wyszukiwaniu kart, możliwości podziału profili oraz funkcji zmiany koloru tła, które nie są specyficzne dla Chrome 94 i pojawiły się w poprzednich wersjach. Wyświetlenie strony wciąż nie jest włączone dla wszystkich użytkowników: aby zarządzać aktywacją, można skorzystać z ustawień „chrome://flags#chrome-whats-new-ui” oraz „chrome://flags#chrome-whats-new-in-main-menu-new-badge”.
    Wydanie Chrome 94
  • Zgłoszenie do API WebSQL z treści ładowanych z zewnętrznych witryn (np. przez iframe) zostało ogłoszone jako przestarzałe. W Chrome 94 przy próbie dostępu do WebSQL z zewnętrznych skryptów wyświetlane jest ostrzeżenie, ale od wersji Chrome 97 takie próby będą blokowane. W przyszłości planowane jest stopniowe całkowite zaprzestanie wsparcia dla WebSQL, niezależnie od kontekstu użycia. Obsługa WebSQL bazuje na kodzie SQLite i mogła być wykorzystywana przez cyberprzestępców do wykorzystania luk w SQLite.
  • Z powodów bezpieczeństwa i w celu zapobiegania działalności złośliwej rozpoczęto blokowanie użycia przestarzałego protokołu MK (URL:MK), który kiedyś był stosowany w Internet Explorerze i pozwalał aplikacjom webowym na pobieranie informacji z kompresowanych plików.
  • Wsparcie dla synchronizacji ze starymi wersjami Chrome (Chrome 48 i starszymi) zostało zakończone.
  • Do nagłówka HTTP Permissions-Policy, który ma na celu włączenie określonych możliwości i zarządzanie dostępem do API, dodano wsparcie dla flagi „display-capture”, która pozwala zarządzać użyciem na stronie API Screen Capture (domyślnie możliwość przechwytywania zawartości ekranu z zewnętrznych iframe jest zablokowana).
  • W trybie Origin Trials (eksperymentalne funkcje wymagające osobnej aktywacji) dodano kilka nowych API. Origin Trial oznacza możliwość pracy z określonym API z aplikacji ładowanych z localhost lub 127.0.0.1, lub po zarejestrowaniu się i uzyskaniu specjalnego tokena, który jest ważny przez ograniczony czas dla konkretnej witryny.
    • Dodano API WebGPU, które zastępuje API WebGL i zapewnia środki do wykonywania operacji na GPU, takich jak renderowanie i obliczenia. Koncepcyjnie WebGPU jest bliskie API Vulkan, Metal i Direct3D 12. Koncepcyjnie WebGPU różni się od WebGL podobnie jak graficzne API Vulkan różni się od OpenGL, ale nie opiera się na konkretnym API graficznym, lecz stanowi uniwersalną warstwę, korzystającą z tych samych niskopoziomowych prymitywów, co Vulkan, Metal i Direct3D 12.

      WebGPU daje aplikacjom JavaScript niskopoziomową kontrolę nad organizacją, przetwarzaniem i przesyłaniem poleceń do GPU, a także umożliwia zarządzanie związanymi zasobami, pamięcią, buforami, obiektami tekstur i skompilowanymi shaderami graficznymi. Takie podejście pozwala na osiągnięcie wyższej wydajności aplikacji graficznych dzięki zmniejszeniu narzutów i zwiększeniu efektywności pracy z GPU. API umożliwia także tworzenie złożonych projektów 3D dla Web, które działają tak samo dobrze jak odrębne programy, lecz nie są związane z konkretnymi platformami.

    • Dla odrębnych aplikacji PWA wprowadzono możliwość rejestracji jako obsługiwacze URL. Na przykład, aplikacja music.example.com może zarejestrować się jako obsługiwacz URL https://*.music.example.com, a wszystkie przejścia z aplikacji zewnętrznych przy tych linkach, na przykład z komunikatorów i klientów pocztowych, będą prowadziły do otwarcia tej aplikacji PWA, a nie nowej karty w przeglądarce.
    • Wprowadzono wsparcie dla nowego kodu odpowiedzi HTTP — 103, który może być wykorzystywany do proaktywnego przesyłania nagłówków. Kod 103 umożliwia informowanie klienta o zawartości niektórych nagłówków HTTP zaraz po wysłaniu żądania, nie czekając, aż serwer zakończy wszystkie operacje związane z żądaniem i zacznie dostarczanie treści. W ten sposób można przedstawiać wskazówki dotyczące elementów związanych z wyświetlaną stroną, które mogą być wstępnie załadowane (na przykład mogą być podane linki do używanych na stronie plików css i javascript). Otrzymując informacje o takich zasobach, przeglądarka rozpocznie ich pobieranie, nie czekając na zakończenie dostarczania głównej strony, co pozwala na skrócenie całkowitego czasu przetwarzania żądania.
  • Dodano API WebCodecs do manipulacji strumieniami multimedialnymi na niskim poziomie, uzupełniające wysokopoziomowe API HTMLMediaElement, Media Source Extensions, WebAudio, MediaRecorder i WebRTC. Nowe API może być przydatne w takich dziedzinach jak transmisja gier, zastosowanie efektów po stronie klienta, ponowne kodowanie strumieni oraz wsparcie dla niestandardowych pojemników multimedialnych. Zamiast implementować poszczególne kodeki w JavaScript lub WebAssembly, API WebCodecs zapewnia dostęp do gotowych, wydajnych komponentów wbudowanych w przeglądarkę. W szczególności, w API WebCodecs znajdują się dekodery i kodery dźwięku i wideo, dekodery obrazów oraz funkcje do pracy z pojedynczymi klatkami wideo na niskim poziomie.
  • Ustalono API Insertable Streams, które pozwala na manipulowanie surowymi strumieniami multimedialnymi, przesyłanymi przez API MediaStreamTrack, takimi jak dane z kamery i mikrofonu, wyniki przechwytywania ekranu lub dane pośrednie dekodera kodeka. Do reprezentacji surowych klatek używane są interfejsy WebCodec, po czym tworzy się strumień analogiczny do tego, który generuje API WebRTC Insertable Streams na podstawie RTCPeerConnections. Z praktycznego punktu widzenia nowe API umożliwia zaprojektowanie funkcjonalności, takiej jak stosowanie metod uczenia maszynowego do identyfikacji lub adnotacji obiektów w czasie rzeczywistym, lub do dodawania efektów, takich jak usuwanie tła, przed kodowaniem lub po dekodowaniu przez kodek.
  • Zawartość metody scheduler.postTask() została ustabilizowana, co pozwala na zarządzanie planowaniem wykonywania zadań (wywołań zwrotnych JavaScript) z różnymi poziomami priorytetu. Oferowane są trzy poziomy priorytetów: 1 — realizacja w pierwszej kolejności, nawet kosztem blokowania operacji użytkownika; 2 — dozwolone są widoczne dla użytkownika zmiany; 3 — wykonanie w tle). Aby zmienić priorytet i anulować zadania, można użyć obiektu TaskController.
  • Jest stabilizowany i teraz rozwijany poza Origin Trials API Idle Detection do wykrywania bezczynności użytkownika. API pozwala na określenie czasu, kiedy użytkownik nie wchodzi w interakcję z klawiaturą/myszą, gdy uruchomiony jest wygaszacz ekranu, ekran jest zablokowany lub praca jest wykonywana na innym monitorze. Informowanie aplikacji o bezczynności odbywa się przez wysyłanie powiadomienia po osiągnięciu określonego progu bezczynności.
  • Sformalizowano proces zarządzania kolorem w obiektach CanvasRenderingContext2D i ImageData oraz korzystania z przestrzeni kolorów sRGB. Umożliwiono tworzenie obiektów CanvasRenderingContext2D i ImageData w przestrzeniach kolorów innych niż sRGB, takich jak Display P3, w celu wykorzystania rozszerzonych możliwości nowoczesnych monitorów.
  • W API VirtualKeyboard dodano metody i właściwości do zarządzania wyświetlaniem i ukrywaniem wirtualnej klawiatury, a także do uzyskiwania informacji o rozmiarze wyświetlanej wirtualnej klawiatury.
  • W JavaScript dla klas dostępna jest możliwość stosowania statycznych bloków inicjalizacyjnych do grupowania kodu, który jest wykonywany raz podczas przetwarzania klasy: class C { // Blok zostanie uruchomiony przy przetwarzaniu samej klasy static { console.log("C's static block"); } }
  • W właściwościach CSS flex-basis i flex zaimplementowano słowa kluczowe content, min-content, max-content i fit-content dla bardziej elastycznego zarządzania rozmiarem głównego obszaru Flexbox.
  • Dodano właściwość CSS scrollbar-gutter do zarządzania rezerwowaniem przestrzeni na ekranie pod pasek przewijania. Na przykład, gdy przewijanie zawartości nie jest wymagane, można rozciągnąć wyjście i zająć obszar paska przewijania.
  • Dodano API Self Profiling z realizacją systemu profilowania, który umożliwia pomiar czasu wykonania JavaScript po stronie użytkownika w celu debugowania problemów z wydajnością w kodzie JavaScript, bez potrzeby ręcznych manipulacji w interfejsie dla programistów webowych.
  • Po usunięciu wtyczki Flash postanowiono zwracać puste wartości w właściwościach navigator.plugins i navigator.mimeTypes, ale okazało się, że niektóre aplikacje korzystały z nich do sprawdzania obecności wtyczek do wyświetlania plików PDF. Ponieważ Chrome ma wbudowany podgląd plików PDF, od teraz właściwości navigator.plugins i navigator.mimeTypes będą zwracać stałą listę standardowych wtyczek i typów MIME do przeglądania PDF — „PDF Viewer, Chrome PDF Viewer, Chromium PDF Viewer, Microsoft Edge PDF Viewer i WebKit built-in PDF”.
  • Wprowadzono ulepszenia w narzędziach dla programistów webowych. Do listy symulowania ekranów dodano urządzenia Nest Hub i Nest Hub Max. W interfejsie inspekcji aktywności sieciowej dodano przycisk do inwersji filtrów (na przykład przy ustawieniu filtru „status-code: 404” można szybko zobaczyć wszystkie pozostałe zapytania), a także udostępniono możliwość przeglądania oryginalnych wartości nagłówków Set-Cookie (co pozwala ocenić obecność nieprawidłowych wartości usuwanych podczas normalizacji). Ogłoszono, że boczny panel w web konsoli jest przestarzały i zostanie usunięty w jednej z następnych wersji. Dodano eksperymentalną możliwość ukrywania problemów na karcie Issues. W ustawieniach dodano możliwość wyboru języka interfejsu.
    Wydanie Chrome 94

Oprócz nowych funkcji i poprawek błędów w nowej wersji usunięto 19 podatności. Wiele z podatności zostało wykrytych w wyniku automatyzowanego testowania narzędziami AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer i AFL. Nie wykryto krytycznych problemów, które pozwalałyby na obejście wszystkich poziomów ochrony przeglądarki i wykonanie kodu w systemie poza środowiskiem sandbox. W ramach programu wypłaty nagród za wykrywanie podatności w tym wydaniu firma Google wypłaciła 17 nagród na łączną kwotę 56500 dolarów USA (jedna nagroda 15000 dolarów, dwie nagrody po 10000 dolarów, jedna nagroda 7500 dolarów, cztery nagrody po 3000 dolarów, dwie nagrody po 1000 dolarów). Wysokość 7 nagród nie została jeszcze określona.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster