Bản phát hành Chrome 95

Google đã tiết lộ việc phát hành trình duyệt web Chrome 95. Đồng thời, đã có sẵn bản phát hành ổn định của dự án Chrome miễn phí, đóng vai trò là nền tảng của Chrome. Trình duyệt Chrome nổi bật nhờ việc sử dụng logo Google, sự hiện diện của hệ thống gửi thông báo trong trường hợp gặp sự cố, mô-đun phát nội dung video được bảo vệ (DRM), hệ thống tự động cài đặt các bản cập nhật và truyền thông số RLZ khi tìm kiếm. Theo chu kỳ phát triển 4 tuần mới, bản phát hành tiếp theo của Chrome 96 dự kiến ​​vào ngày 16 tháng 8. Đối với những người cần thêm thời gian để cập nhật, có một nhánh Extended Stable riêng biệt, sau đó là 94 tuần, tạo ra bản cập nhật cho bản phát hành Chrome XNUMX trước đó.

Những thay đổi chính trong Chrome 95:

  • Đối với người dùng Linux, Windows, macOS và ChromeOS, một thanh bên mới được cung cấp, hiển thị ở bên phải nội dung và được kích hoạt bằng cách nhấp vào biểu tượng đặc biệt trong bảng thanh địa chỉ. Bảng điều khiển hiển thị bản tóm tắt có dấu trang và danh sách đọc. Thay đổi này không được áp dụng cho tất cả người dùng; để kích hoạt thay đổi này, bạn có thể sử dụng cài đặt “chrome://flags/#side-panel”.
    Bản phát hành Chrome 95
  • Đã triển khai đầu ra của một yêu cầu rõ ràng về quyền lưu các địa chỉ đã nhập vào biểu mẫu web để sử dụng sau này trong hệ thống tự động điền biểu mẫu. Khi xác định sự hiện diện của địa chỉ trong biểu mẫu, người dùng hiện sẽ thấy hộp thoại cho phép họ lưu địa chỉ, chỉnh sửa, cập nhật địa chỉ đã lưu trước đó hoặc từ chối lưu địa chỉ đó.
  • Đã xóa mã để hỗ trợ giao thức FTP. Trong Chrome 88, tính năng hỗ trợ FTP bị tắt theo mặc định nhưng vẫn còn một lá cờ để đưa tính năng này trở lại.
  • Chúng tôi không còn hỗ trợ các URL có tên máy chủ kết thúc bằng số nhưng không tương ứng với địa chỉ IPv4. Ví dụ: các URL "http://127.1/", "http://foo.127.1/" và "http://127.0.0.0.1" giờ đây sẽ được coi là không hợp lệ.
  • WebAssembly hiện có khả năng tạo các trình xử lý ngoại lệ có thể chặn việc thực thi nếu ngoại lệ xảy ra khi thực thi một số mã nhất định. Nó hỗ trợ cả việc bắt các ngoại lệ được biết đến trong mô-đun WebAssembly và các ngoại lệ trong quá trình gọi các hàm đã nhập. Để bắt ngoại lệ, mô-đun WebAssembly phải được biên dịch bằng trình biên dịch nhận biết ngoại lệ, chẳng hạn như Emscripten.

    Cần lưu ý rằng việc xử lý ngoại lệ ở cấp WebAssembly có thể giảm đáng kể kích thước của mã được tạo so với xử lý ngoại lệ bằng JavaScript. Ví dụ: việc xây dựng trình tối ưu hóa Binaryen với khả năng xử lý ngoại lệ bằng cách sử dụng JavaScript sẽ giúp mã tăng 43% và mã tăng 9% khi sử dụng WebAssembly. Ngoài ra, khi sử dụng chế độ tối ưu hóa "-O3", mã có xử lý ngoại lệ bằng WebAssembly hoạt động hầu như không khác biệt so với mã không có trình xử lý ngoại lệ, trong khi việc xử lý các ngoại lệ bằng JavaScript khiến quá trình thực thi bị chậm lại 30%.

  • Việc chia sẻ mô-đun WebAssembly giữa các miền khác nhau (có nguồn gốc chéo) khi xử lý một trang web đều bị cấm.
  • Một số API mới đã được thêm vào chế độ Bản dùng thử gốc (các tính năng thử nghiệm yêu cầu kích hoạt riêng). Bản dùng thử gốc ngụ ý khả năng hoạt động với API được chỉ định từ các ứng dụng được tải xuống từ máy chủ cục bộ hoặc 127.0.0.1 hoặc sau khi đăng ký và nhận mã thông báo đặc biệt có giá trị trong thời gian giới hạn cho một trang web cụ thể.
    • Đã bật tính năng cắt bớt thông tin trong tiêu đề HTTP Tác nhân người dùng và các tham số JavaScript navigator.userAgent, navigator.appVersion và navigator.platform. Tiêu đề chỉ chứa thông tin về tên trình duyệt, phiên bản trình duyệt quan trọng, nền tảng và loại thiết bị (điện thoại di động, PC, máy tính bảng). Để có được dữ liệu bổ sung, chẳng hạn như phiên bản chính xác và dữ liệu nền tảng mở rộng, bạn phải sử dụng API gợi ý máy khách tác nhân người dùng. Việc bắt đầu cắt User-Agent trên hệ thống của người dùng thông thường được lên kế hoạch cho việc phát hành Chrome 102, sẽ được xuất bản sau nửa năm nữa.
    • Có thể tạo Access Handles cho API truy cập hệ thống tệp, cho phép các ứng dụng web đọc và ghi dữ liệu trực tiếp vào các tệp và thư mục trên thiết bị của người dùng. Để giảm cách các ứng dụng web truy cập vào hệ thống tệp, Google có kế hoạch kết hợp API nền tảng lưu trữ và truy cập hệ thống tệp. Là giai đoạn chuẩn bị cho sự thống nhất như vậy, hỗ trợ cho các bộ mô tả truy cập được đề xuất, bổ sung các phương pháp làm việc dựa trên các bộ mô tả tệp với các khả năng nâng cao, chẳng hạn như đặt khóa ghi cho các quy trình khác và tạo các luồng riêng để ghi và đọc, bao gồm hỗ trợ cho đọc và viết từ công nhân ở chế độ đồng bộ.
  • API xác nhận thanh toán an toàn đã được ổn định và cung cấp theo mặc định cùng với việc triển khai tiện ích mở rộng 'thanh toán' mới, cung cấp xác nhận bổ sung về giao dịch thanh toán đang được thực hiện. Một bên phụ thuộc, chẳng hạn như ngân hàng, có khả năng tạo khóa công khai PublicKeyCredential, người bán có thể yêu cầu khóa này để xác nhận thanh toán an toàn bổ sung thông qua API yêu cầu thanh toán bằng phương thức thanh toán 'xác nhận thanh toán an toàn'.
  • Lệnh gọi lại được cài đặt thông qua hàm tạo PerformanceObserver sẽ thực hiện chuyển thuộc tính dropEntriesCount, cho phép bạn hiểu có bao nhiêu chỉ số hiệu suất trang web đã bị loại bỏ do chúng không vừa với bộ đệm được cung cấp.
  • API EyeDropper đã được thêm vào, cho phép bạn gọi giao diện do trình duyệt cung cấp để xác định màu của các pixel tùy ý trên màn hình, chẳng hạn như có thể được sử dụng trong các trình chỉnh sửa đồ họa được triển khai dưới dạng ứng dụng web. const eyeDropper = EyeDropper mới(); kết quả const = đang chờ eyeDropper.open(); // kết quả = {sRGBHex: '#160731'}
  • Đã thêm hàm self.reportError(), cho phép các tập lệnh in lỗi ra bảng điều khiển, mô phỏng sự xuất hiện của một ngoại lệ chưa được phát hiện.
  • API URLPattern đã được thêm vào để kiểm tra xem URL có khớp với một mẫu nhất định hay không. Ví dụ: mẫu này có thể được sử dụng để phân tích các liên kết và chuyển hướng yêu cầu đến trình xử lý trong nhân viên dịch vụ. const p = new URLPattern({ giao thức: 'https', tên máy chủ: 'example.com', tên đường dẫn: '/:folder/*/:fileName.jpg', });
  • API Intl.DisplayNames đã được mở rộng, qua đó bạn có thể nhận được tên bản địa hóa của ngôn ngữ, quốc gia, tiền tệ, thành phần ngày, v.v. Phiên bản mới bổ sung thêm các loại tên mới “lịch” và “dateTimeField”, qua đó bạn có thể tìm ra tên bản địa hóa của lịch và các trường ngày giờ (ví dụ: tên của tháng). Đối với loại “ngôn ngữ”, hỗ trợ sử dụng các phương ngữ ngôn ngữ đã được thêm vào.
  • API Intl.DateTimeFormat đã thêm hỗ trợ cho các giá trị mới của tham số timeZoneName: “shortGeneric” để hiển thị mã định danh múi giờ ngắn (ví dụ: “PT”, “ET”), “longGeneric” để hiển thị múi giờ dài mã định danh (“Giờ Thái Bình Dương”, “Giờ miền núi”), “shortOffset” - với độ lệch ngắn so với GMT (“GMT+5”) và “longOffset” với độ lệch dài so với GMT (“GMT+0500”).
  • API U2F (Cryptotoken) không còn được dùng nữa và thay vào đó nên sử dụng API xác thực web. API U2F sẽ bị tắt theo mặc định trong Chrome 98 và bị xóa hoàn toàn trong Chrome 104.
  • Những cải tiến đã được thực hiện đối với các công cụ dành cho nhà phát triển web. Bảng Kiểu giúp điều chỉnh các thuộc tính CSS liên quan đến kích thước (chiều cao, phần đệm, v.v.) dễ dàng hơn. Tab Sự cố cung cấp khả năng ẩn các sự cố riêng lẻ. Trong bảng điều khiển web cũng như bảng Nguồn và Thuộc tính, việc hiển thị các thuộc tính đã được cải thiện (các thuộc tính riêng hiện được đánh dấu in đậm và hiển thị ở đầu danh sách).
    Bản phát hành Chrome 95

Ngoài những cải tiến và sửa lỗi, phiên bản mới còn loại bỏ 19 lỗ hổng. Nhiều lỗ hổng được xác định là kết quả của quá trình kiểm tra tự động bằng cách sử dụng các công cụ addressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer và AFL. Không có vấn đề nghiêm trọng nào được xác định có thể cho phép vượt qua tất cả các cấp độ bảo vệ của trình duyệt và thực thi mã trên hệ thống bên ngoài môi trường hộp cát. Là một phần của chương trình thưởng tiền mặt cho việc phát hiện các lỗ hổng cho bản phát hành hiện tại, Google đã trả 16 giải thưởng trị giá 74 nghìn USD (một giải thưởng 20000 USD, hai giải thưởng 10000 USD, một giải thưởng 7500 USD, một giải thưởng 6000 USD, ba giải thưởng 5000 USD và một giải thưởng 3000 USD). , 2000 USD. và 1000 USD). Quy mô của 5 phần thưởng vẫn chưa được xác định.

Nguồn: opennet.ru

Thêm một lời nhận xét