Wydanie Chrome 95

Firma Google wprowadziła wydanie przeglądarki internetowej Chrome 95. Jednocześnie dostępne jest stabilne wydanie wolnego projektu Chromium, będącego bazą Chrome. Przeglądarka Chrome wyróżnia się użyciem logo Google, systemem wysyłania powiadomień w przypadku awarii, modułami do odtwarzania zabezpieczonej treści wideo (DRM), systemem automatycznej instalacji aktualizacji oraz przesyłaniem parametrów RLZ podczas wyszukiwania. Zgodnie z nowym czterotygodniowym cyklem rozwoju kolejne wydanie Chrome 96 zaplanowano na 16 listopada. Dla tych, którzy potrzebują więcej czasu na aktualizację, osobno wspierana jest gałąź Extended Stable, która jest wspierana przez 8 tygodni, w której utworzone jest uaktualnienie dla poprzedniego wydania Chrome 94.

Główne zmiany w Chrome 95:

  • Dla użytkowników Linuxa, Windows, macOS i ChromeOS wprowadzono nowy panel boczny, wyświetlany po prawej stronie zawartości, aktywowany po kliknięciu na specjalną ikonę na pasku z adresem. W panelu wyświetlana jest podsumowanie zakładek oraz lista do przeczytania. Zmiana nie jest dostępna dla wszystkich użytkowników, aby ją aktywować, można użyć ustawienia „chrome://flags/#side-panel”.
    Wydanie Chrome 95
  • Wprowadzono wyraźne zapytanie o uprawnienia do zapisywania adresów wprowadzone w formularzach internetowych, które będą używane później w systemie autouzupełniania formularzy. Przy określaniu obecności adresów w formularzach użytkownikowi teraz wyświetlane jest okno dialogowe, które pozwala na zapisanie adresu, edytowanie, aktualizację wcześniej zapisanego adresu lub rezygnację z zapisu.
  • Usunięto kod wsparcia dla protokołu FTP. W Chrome 88 wsparcie FTP zostało domyślnie wyłączone, ale pozostawiono flagę do jego przywrócenia.
  • Zostało zakończone wsparcie dla URL z nazwami hostów kończącymi się cyfrą, które nie odpowiadają adresom IPv4. Na przykład, URL „http://127.1/”, „http://foo.127.1/” i „http://127.0.0.0.1” będą teraz uważane za nieprawidłowe.
  • Dla WebAssembly wprowadzono możliwość tworzenia obsługujących wyjątki, które mogą przechwytywać wykonanie w przypadku wystąpienia wyjątku podczas wykonywania określonego kodu. Wsparcie obejmuje zarówno przechwytywanie znanych wyjątków modułu WebAssembly, jak i wyjątków w trakcie wywołania funkcji importowanych. Aby wyjątki mogły być przechwytywane, moduł WebAssembly musi być skompilowany przez kompilator wspierający wyjątki, taki jak Emscripten.

    Zauważono, że obsługa wyjątków na poziomie WebAssembly pozwala znacznie zmniejszyć rozmiar generowanego kodu w porównaniu do obsługi wyjątków za pomocą JavaScript. Na przykład, kompilacja optymalizatora Binaryen z obsługą wyjątków przy użyciu JavaScript prowadzi do zwiększenia kodu o 43%, podczas gdy przy użyciu WebAssembly wynosi to 9%. Ponadto, przy użyciu trybu optymalizacji „-O3”, kod z obsługą wyjątków w WebAssembly praktycznie nie różni się wydajnością od kodu bez obsługiwanych wyjątków, podczas gdy obsługa wyjątków za pomocą JavaScript prowadzi do spowolnienia wykonania o 30%.

  • Wspólne używanie modułów WebAssembly między różnymi domenami (cross-origin) jest zabronione podczas przetwarzania jednej witryny.
  • 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.
    • Włączono ograniczenie informacji w nagłówku HTTP User-Agent oraz parametrach JavaScript navigator.userAgent, navigator.appVersion i navigator.platform. W nagłówku pozostawiono jedynie informacje o nazwie przeglądarki, znaczącej wersji przeglądarki, platformie i typie urządzenia (telefon komórkowy, PC, tablet). Aby uzyskać dodatkowe dane, takie jak dokładna wersja i rozszerzone dane o platformie, należy użyć API User Agent Client Hints. Wprowadzenie ograniczenia User-Agent na systemach zwykłych użytkowników planowane jest na wydanie Chrome 102, które ma być opublikowane za sześć miesięcy.
    • Zapropnowano możliwość tworzenia deskryptorów dostępu (Access Handles) dla API File System Access, pozwalającego aplikacjom internetowym na bezpośrednie odczytywanie i zapisywanie danych w plikach i katalogach na urządzeniu użytkownika. Aby ograniczyć sposoby dostępu aplikacji internetowych do systemu plików, firma Google planuje połączyć API File System Access z Storage Foundation. W ramach przygotowań do takiego połączenia zaproponowano wsparcie dla deskryptorów dostępu, które wzbogacą metody pracy na podstawie deskryptorów plików o dodatkowe możliwości, takie jak zablokowanie zapisu przez inne procesy i tworzenie oddzielnych wątków do zapisu i odczytu, w tym z obsługą odczytu i zapisu z workerów w trybie synchronicznym.
  • API Secure Payment Confirmation został ustabilizowany i zaproponowany jako domyślny z implementacją nowego rozszerzenia 'payment', które zapewnia dodatkowe potwierdzenie realizowanej transakcji płatniczej. Strona weryfikująca, na przykład bank, ma możliwość wygenerowania otwartego klucza PublicKeyCredential, który może zostać zażądany przez sprzedawcę do dodatkowego, bezpiecznego potwierdzenia płatności przez API Payment Request, korzystając z metody płatności 'secure-payment-confirmation'.
  • W callbackach utworzonych przez konstruktor PerformanceObserver wprowadzono przekazywanie właściwości droppedEntriesCount, umożliwiającej zrozumienie, ile metryk wydajności strony zostało odrzuconych z powodu braku miejsca w dostarczonym buforze.
  • Dodano API EyeDropper, które umożliwia wywołanie interfejsu dostarczanego przez przeglądarkę do określania koloru dowolnych pikseli na ekranie, co może być zastosowane na przykład w edytorach graficznych realizowanych jako aplikacje webowe. const eyeDropper = new EyeDropper(); const result = await eyeDropper.open(); // result = {sRGBHex: '#160731'}
  • Dodano funkcję self.reportError(), która pozwala skryptom na wyświetlanie błędów w konsoli, emulując wystąpienie nieprzechwyconego wyjątku.
  • Dodano API URLPattern do sprawdzania, czy URL pasuje do określonego wzoru, co można zastosować na przykład do analizy linków i przekierowywania żądań do obsługiwanych przez service worker. const p = new URLPattern({ protocol: 'https', hostname: 'example.com', pathname: '/:folder/*/:fileName.jpg', });
  • Rozszerzono API Intl.DisplayNames, poprzez które można uzyskać zlokalizowane nazwy języków, krajów, walut, elementów dat itp. W nowej wersji dodano nowe typy nazw „calendar” i „dateTimeField”, za pomocą których można uzyskać zlokalizowane nazwy kalendarzy i pól daty oraz czasu (np. nazwy miesięcy). Dla typu „language” dodano wsparcie dla użycia dialektów języków.
  • W API Intl.DateTimeFormat dodano wsparcie dla nowych wartości parametru timeZoneName: 'shortGeneric' do wyświetlania krótkiego identyfikatora strefy czasowej (np. 'PT', 'ET'), 'longGeneric' — długiego ('Pacific Time', 'Mountain Time'), 'shortOffset' — z krótkim przesunięciem względem GMT ('GMT+5') oraz 'longOffset' z długim przesunięciem względem GMT ('GMT+0500').
  • API U2F (Cryptotoken) został uznany za przestarzały, a zamiast niego należy używać API Web Authentication. API U2F będzie domyślnie dezaktywowane w wersji Chrome 98 i całkowicie usunięte w Chrome 104.
  • Wprowadzono ulepszenia w narzędziach dla programistów webowych. W panelu Styles uproszczono modyfikację właściwości CSS związanych z rozmiarem (wysokość, padding itp.). W zakładce Issues dodano możliwość ukrywania poszczególnych problemów. W konsoli webowej oraz w panelach Sources i Properties poprawiono wyświetlanie właściwości (właściwości własne są teraz wyróżnione pogrubioną czcionką i pokazane na górze listy).
    Wydanie Chrome 95

Oprócz nowych funkcji i poprawek błędów w nowej wersji usunięto 19 luk w zabezpieczeniach. Wiele z nich zostało wykrytych w wyniku automatyzowanego testowania narzędziami AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer i AFL. Nie zidentyfikowano krytycznych problemów, które pozwalałyby na obejście wszystkich poziomów zabezpieczeń przeglądarki i uruchomienie kodu w systemie poza środowiskiem sandbox. W ramach programu nagród za odkrywanie luk w zabezpieczeniach, firma Google wypłaciła 16 nagród w wysokości 74 tysięcy dolarów (jedna nagroda $20000, dwie nagrody $10000, jedna nagroda $7500, jedna nagroda $6000, trzy nagrody $5000 oraz po jednej nagrodzie w wysokości $3000, $2000 i $1000). Wysokość 5 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