Chrome wersja 94

Google zaprezentowało wersję przeglądarki internetowej Chrome 94. Jednocześnie dostępna jest stabilna wersja darmowego projektu Chromium, na którym opiera się przeglądarka Chrome. Przeglądarkę Chrome wyróżnia użycie logo Google, obecność systemu wysyłania powiadomień w przypadku awarii, modułów do odtwarzania chronionych treści wideo (DRM), systemu automatycznego instalowania aktualizacji i przesyłania parametrów RLZ podczas wyszukiwania. Następna wersja Chrome 95 zaplanowana jest na 19 października.

Począwszy od wydania Chrome 94, rozwój przeniósł się do nowego cyklu wydań. Nowe, istotne wydania będą teraz publikowane co 4 tygodnie, a nie co 6 tygodni, co umożliwi szybsze dostarczanie użytkownikom nowych funkcji. Należy zauważyć, że optymalizacja procesu przygotowania wydań i udoskonalenie systemu testowania pozwalają na częstsze generowanie wydań bez utraty jakości. Dla przedsiębiorstw i tych, którzy potrzebują więcej czasu na aktualizację, co 8 tygodni będzie wydawana oddzielnie wersja Extended Stable, która umożliwi przełączanie się na nowe wydania funkcji nie raz na 4 tygodnie, ale raz na 8 tygodni.

Główne zmiany w Chrome 94:

  • Dodano tryb HTTPS-First, który przypomina tryb Tylko HTTPS, który wcześniej pojawiał się w przeglądarce Firefox. Jeżeli w ustawieniach zostanie włączony tryb, przy próbie otwarcia zasobu bez szyfrowania przez HTTP przeglądarka najpierw spróbuje uzyskać dostęp do witryny poprzez HTTPS, a w przypadku niepowodzenia użytkownik wyświetli ostrzeżenie o braku Obsługa protokołu HTTPS i prośba o otwarcie witryny bez szyfrowania. W przyszłości Google rozważa domyślne włączenie protokołu HTTPS-First dla wszystkich użytkowników, ograniczenie dostępu do niektórych funkcji platformy internetowej w przypadku stron otwieranych za pośrednictwem protokołu HTTP i dodanie dodatkowych ostrzeżeń informujących użytkowników o zagrożeniach wynikających z uzyskiwania dostępu do witryn bez szyfrowania. Tryb włącza się w sekcji ustawień „Prywatność i bezpieczeństwo” > „Bezpieczeństwo” > „Zaawansowane”.
    Chrome wersja 94
  • W przypadku stron otwieranych bez HTTPS wysyłanie żądań (pobierania zasobów) do lokalnych adresów URL (na przykład „http://router.local” i localhost) i wewnętrznych zakresów adresów (127.0.0.0/8, 192.168.0.0/16, 10.0.0.0) jest zabronione .8/1.2.3.4 itd.). Wyjątek stanowią tylko strony pobrane z serwerów z wewnętrznymi adresami IP. Na przykład strona załadowana z serwera 192.168.0.1 nie będzie mogła uzyskać dostępu do zasobu znajdującego się pod adresem IP 127.0.0.1 lub IP 192.168.1.1, ale załadowana z serwera XNUMX będzie mogła. Zmiana wprowadza dodatkową warstwę ochrony przed wykorzystaniem luk w modułach obsługi akceptujących żądania na lokalnych adresach IP, a także zabezpieczy przed atakami polegającymi na ponownym wiązaniu DNS.
  • Dodano funkcję „Sharing Hub”, która umożliwia szybkie udostępnienie linku do bieżącej strony innym użytkownikom. Możliwe jest wygenerowanie kodu QR z adresu URL, zapisanie strony, wysłanie linku do innego urządzenia powiązanego z kontem użytkownika i przesłanie linku do witryn stron trzecich, takich jak Facebook, WhatsUp, Twitter i VK. Ta funkcja nie została jeszcze udostępniona wszystkim użytkownikom. Aby wymusić przycisk „Udostępnij” w menu i pasku adresu, możesz użyć ustawień „chrome://flags/#sharing-hub-desktop-app-menu” i „chrome://flags/#sharing-hub- omnibox na komputer stacjonarny” .
    Chrome wersja 94
  • Interfejs ustawień przeglądarki został przebudowany. Każda sekcja ustawień jest teraz wyświetlana na osobnej stronie, a nie na jednej wspólnej stronie.
    Chrome wersja 94
  • Zaimplementowano obsługę dynamicznej aktualizacji logu wydanych i unieważnionych certyfikatów (Certificate Transparency), który będzie teraz aktualizowany bez odniesienia do aktualizacji przeglądarki.
  • Dodano stronę usługi „chrome://whats-new” z przeglądem widocznych dla użytkownika zmian w nowej wersji. Strona pojawia się automatycznie natychmiast po aktualizacji lub jest dostępna poprzez przycisk Co nowego w menu Pomoc. Strona obecnie wspomina o wyszukiwaniu kart, możliwości dzielenia profili i funkcji zmiany koloru tła, które nie są specyficzne dla przeglądarki Chrome 94 i zostały wprowadzone w poprzednich wersjach. Wyświetlanie strony nie jest jeszcze włączone dla wszystkich użytkowników: aby kontrolować aktywację, możesz użyć ustawień „chrome://flags#chrome-whats-new-ui” i „chrome://flags#chrome-whats-new-in -menu-główne-nowa-odznaka".
    Chrome wersja 94
  • Wywoływanie interfejsu API WebSQL z treści ładowanych z witryn innych firm (takich jak element iframe) zostało uznane za przestarzałe. W przeglądarce Chrome 94 podczas próby uzyskania dostępu do WebSQL za pomocą skryptów innych firm wyświetlane jest ostrzeżenie, ale począwszy od przeglądarki Chrome 97 takie wywołania będą blokowane. W przyszłości planujemy całkowite wycofanie obsługi WebSQL, niezależnie od kontekstu użycia. Silnik WebSQL oparty jest na kodzie SQLite i może zostać wykorzystany przez osoby atakujące do wykorzystania luk w zabezpieczeniach SQLite.
  • Ze względów bezpieczeństwa i aby zapobiec złośliwej działalności, zaczęto blokować użycie starszego protokołu MK (URL:MK), niegdyś używanego w przeglądarce Internet Explorer i umożliwiającego aplikacjom internetowym wyodrębnianie informacji ze skompresowanych plików.
  • Zakończono obsługę synchronizacji ze starszymi wersjami przeglądarki Chrome (Chrome 48 i starsze).
  • Nagłówek HTTP Permissions-Policy, zaprojektowany w celu umożliwienia określonych możliwości i kontroli dostępu do API, dodał obsługę flagi „display-capture”, która pozwala kontrolować wykorzystanie API Screen Capture na stronie (domyślnie zablokowana jest możliwość przechwytywania zawartości ekranu z zewnętrznych ramek iframe).
  • Do trybu Origin Trials dodano kilka nowych interfejsów API (funkcje eksperymentalne wymagające oddzielnej aktywacji). Origin Trial oznacza możliwość pracy z określonym API z aplikacji pobranych z localhost lub 127.0.0.1 lub po zarejestrowaniu i otrzymaniu specjalnego tokena, który jest ważny przez ograniczony czas dla określonej witryny.
    • Dodano interfejs API WebGPU, który zastępuje interfejs API WebGL i zapewnia narzędzia do wykonywania operacji na GPU, takich jak renderowanie i obliczenia. Koncepcyjnie WebGPU jest zbliżone do interfejsów API Vulkan, Metal i Direct3D 12. Koncepcyjnie WebGPU różni się od WebGL w podobny sposób, w jaki interfejs graficzny Vulkan różni się od OpenGL, ale nie jest oparty na konkretnym interfejsie graficznym, ale jest uniwersalnym warstwa korzystająca z tych samych prymitywów niskiego poziomu, które są dostępne w Vulkan, Metal i Direct3D 12.

      WebGPU zapewnia aplikacjom JavaScript niskopoziomową kontrolę nad organizacją, przetwarzaniem i przesyłaniem poleceń do procesora graficznego, a także możliwość zarządzania powiązanymi zasobami, pamięcią, buforami, obiektami tekstur i skompilowanymi modułami cieniującymi grafikę. Takie podejście pozwala osiągnąć wyższą wydajność aplikacji graficznych poprzez zmniejszenie kosztów ogólnych i zwiększenie wydajności pracy z procesorem graficznym. API umożliwia również tworzenie złożonych projektów 3D dla Internetu, które działają równie dobrze jak samodzielne programy, ale nie są powiązane z konkretnymi platformami.

    • Samodzielne aplikacje PWA mają teraz możliwość rejestrowania się jako procedury obsługi adresów URL. Na przykład aplikacja music.example.com może zarejestrować się jako moduł obsługi adresów URL https://*.music.example.com i wszystkie przejścia z aplikacji zewnętrznych korzystających z tych linków, na przykład z komunikatorów internetowych i klientów poczty e-mail, będą prowadzić do otwarcia aplikacji PWA, a nie nowej karty przeglądarki.
    • Zaimplementowano obsługę nowego kodu odpowiedzi HTTP - 103, który można wykorzystać do wcześniejszego wyświetlenia nagłówków. Kod 103 pozwala poinformować klienta o zawartości określonych nagłówków HTTP natychmiast po wysłaniu żądania, bez czekania, aż serwer zakończy wszystkie operacje związane z żądaniem i rozpocznie obsługę treści. W podobny sposób możesz podać wskazówki dotyczące elementów związanych z serwowaną stroną, które można wstępnie wczytać (można na przykład podać linki do CSS i JavaScript używanych na stronie). Po otrzymaniu informacji o takich zasobach przeglądarka rozpocznie ich pobieranie, nie czekając na zakończenie renderowania strony głównej, co pozwala skrócić całkowity czas przetwarzania żądania.
  • Dodano interfejs API WebCodecs do niskopoziomowej manipulacji strumieniami multimediów, uzupełniający interfejsy API wysokiego poziomu HTMLMediaElement, Media Source Extensions, WebAudio, MediaRecorder i WebRTC. Nowe API może być potrzebne w takich obszarach, jak strumieniowanie gier, efekty po stronie klienta, transkodowanie strumieni i obsługa niestandardowych kontenerów multimedialnych. Zamiast implementować indywidualne kodeki w JavaScript lub WebAssembly, interfejs API WebCodecs zapewnia dostęp do gotowych, wydajnych komponentów wbudowanych w przeglądarkę. W szczególności interfejs API WebCodecs udostępnia dekodery i kodery audio i wideo, dekodery obrazu oraz funkcje do pracy z pojedynczymi klatkami wideo na niskim poziomie.
  • Interfejs API Insertable Streams został ustabilizowany, umożliwiając manipulowanie nieprzetworzonymi strumieniami multimediów przesyłanymi przez interfejs API MediaStreamTrack, takimi jak dane z kamery i mikrofonu, wyniki przechwytywania ekranu lub pośrednie dane dekodowania kodeka. Interfejsy WebCodec służą do prezentowania surowych klatek, a strumień jest generowany podobnie do tego, co generuje interfejs API WebRTC Insertable Streams na podstawie RTCPeerConnections. Z praktycznego punktu widzenia nowy interfejs API umożliwia korzystanie z takich funkcji, jak stosowanie technik uczenia maszynowego do identyfikowania obiektów i dodawania o nich adnotacji w czasie rzeczywistym lub dodawanie efektów, takich jak przycinanie tła przed kodowaniem lub po dekodowaniu przez kodek.
  • Ustabilizowano metodę harmonogramu.postTask(), dzięki czemu można kontrolować harmonogramowanie zadań (wywołania zwrotne JavaScript) o różnych poziomach priorytetów. Dostępne są trzy poziomy priorytetów: 1 – najpierw wykonanie, nawet jeśli działania użytkownika mogą być zablokowane; 2 – dozwolone są zmiany widoczne dla użytkownika; 3 - wykonanie w tle). Możesz użyć obiektu TaskController, aby zmienić priorytet i anulować zadania.
  • Ustabilizowano i teraz rozpowszechniano poza funkcją wykrywania bezczynności API Origin Trials w celu wykrywania braku aktywności użytkownika. Interfejs API pozwala wykryć momenty, w których użytkownik nie korzysta z klawiatury/myszy, włączony jest wygaszacz ekranu, ekran jest zablokowany lub praca jest wykonywana na innym monitorze. Informowanie aplikacji o braku aktywności odbywa się poprzez wysłanie powiadomienia po osiągnięciu określonego progu braku aktywności.
  • Sformalizowany został proces zarządzania barwą w obiektach CanvasRenderingContext2D i ImageData oraz wykorzystania w nich przestrzeni barwnej sRGB. Zapewnia możliwość tworzenia obiektów CanvasRenderingContext2D i ImageData w przestrzeniach kolorów innych niż sRGB, takich jak Display P3, w celu wykorzystania zaawansowanych możliwości nowoczesnych monitorów.
  • Dodano metody i właściwości do interfejsu API VirtualKeyboard umożliwiające kontrolowanie wyświetlania lub ukrywania klawiatury wirtualnej oraz uzyskiwanie informacji o rozmiarze wyświetlanej klawiatury wirtualnej.
  • JavaScript pozwala klasom używać statycznych bloków inicjujących do grupowania kodu, który jest wykonywany jednorazowo podczas przetwarzania klasy: class C { // Blok zostanie uruchomiony podczas przetwarzania samej klasy static { console.log("Blok statyczny C"); } }
  • Właściwości flex-basis i flex CSS implementują słowa kluczowe content, min-content, max-content i fit-content, aby zapewnić bardziej elastyczną kontrolę nad rozmiarem głównego obszaru Flexbox.
  • Dodano właściwość CSS scrollbar-gutter, aby kontrolować sposób rezerwowania miejsca na ekranie dla paska przewijania. Na przykład, jeśli nie chcesz, aby treść była przewijana, możesz rozszerzyć dane wyjściowe, aby zajmowały obszar paska przewijania.
  • Interfejs Self Profiling API został dodany wraz z implementacją systemu profilowania, który pozwala mierzyć czas wykonania JavaScript po stronie użytkownika w celu debugowania problemów z wydajnością w kodzie JavaScript, bez uciekania się do ręcznych manipulacji w interfejsie dla twórców stron internetowych.
  • Po usunięciu wtyczki Flash zdecydowano się zwrócić puste wartości we właściwościach navigator.plugins i navigator.mimeTypes, ale jak się okazało, niektóre aplikacje wykorzystywały je do sprawdzania obecności wtyczek do wyświetlania plików PDF. Ponieważ Chrome ma wbudowaną przeglądarkę plików PDF, właściwości navigator.plugins i navigator.mimeTypes będą teraz zwracać stałą listę standardowych wtyczek przeglądarki plików PDF i typów MIME - „Przeglądarka plików PDF, przeglądarka plików PDF Chrome, przeglądarka plików Chromium PDF, przeglądarka plików PDF Microsoft Edge i wbudowany plik PDF WebKit”.
  • Wprowadzono ulepszenia w narzędziach dla twórców stron internetowych. Do listy symulacji ekranu dodano urządzenia Nest Hub i Nest Hub Max. Do interfejsu dodano przycisk odwracania filtrów umożliwiający kontrolę aktywności sieciowej (np. instalując filtr „status-code: 404” można szybko wyświetlić wszystkie pozostałe żądania), a także udostępniono możliwość przeglądania oryginalnych wartości ​​nagłówków Set-Cookie (pozwala ocenić obecność nieprawidłowych wartości, które są usuwane podczas normalizacji). Pasek boczny w konsoli internetowej jest przestarzały i zostanie usunięty w przyszłej wersji. Dodano eksperymentalną możliwość ukrywania problemów w zakładce Problemy. W ustawieniach dodano możliwość wyboru języka interfejsu.
    Chrome wersja 94

Oprócz innowacji i poprawek błędów nowa wersja eliminuje 19 luk. Wiele luk zostało zidentyfikowanych w wyniku automatycznych testów przy użyciu narzędzi AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer i AFL. Nie zidentyfikowano żadnych krytycznych problemów, które pozwoliłyby ominąć wszystkie poziomy ochrony przeglądarki i wykonać kod w systemie poza środowiskiem piaskownicy. W ramach programu nagród pieniężnych za odkrycie luk w bieżącej wersji firma Google wypłaciła 17 nagród o wartości 56500 15000 dolarów (jedna nagroda 10000 7500 dolarów, dwie nagrody 3000 1000 dolarów, jedna nagroda 7 dolarów, cztery nagrody XNUMX dolarów i dwie nagrody XNUMX dolarów). Wielkość XNUMX nagród nie została jeszcze ustalona.

Źródło: opennet.ru

Dodaj komentarz